Skip to content
Log in

Theory

Where is it in its life?

Read an offer's life-cycle stage from the right comparison, not from one bad season: a mature course with a summer dip, a club three months old, and the launch stance (price level and promotion effort) each one calls for.

~10 min read · 9 exercises · 250 points

Before you start

Close programming?

Still on Klasna's marketing team: programming sign-ups halved in June, and Leo wants to close the course and move the money into the three-month-old Club.

In this lesson you'll read where each offer really is in its life, from the right comparison rather than one bad season, and pick the launch stance each one calls for.

A one-month fall can be the season

Before you judge where an offer is in its life, check what your comparison measures. In a seasonal business, a fall from one month to the next usually measures the season, not the offer.

Leo's number is right: new programming families went from 6 in May 2026 to 3 in June.

Dataset · 24 rows

Klasna programming, October 2024 – September 2026

One row per month over two school years.

monthnew_familiesactive_learners
2024-10670
2024-11574
2024-12569
2025-01573
2025-02779

First 5 of 24 rows

Download CSV

(3 − 6) ÷ 6 = −50.00%.

Change in % = (new − old) ÷ old × 100, negative for a fall. The arithmetic is fine; the reading is the problem. Every summer at Klasna looks like this: the whole school went from 1,300 active learners in May 2026 to 520 in July. Exams end, school ends, families travel. Programming falling in June tells you it's June.

So a month-over-month drop is a question, not an answer: did the same months fall a year earlier? If they did, you're looking at the calendar. If this year falls far more than last year did, then you may be looking at the offer.

The slip to avoid: deciding to close an offer on the strength of one season.

  • Do
    New families fell 50% from May to June. Did they fall the same way last year?
  • Don't
    Sign-ups halved in June, so programming is dying. Close it.

    One season measured against the month before measures the season.

Compare with the same month a year earlier

The fix for seasonal noise is a year-over-year comparison: each month against the same month a year earlier. The season is in both numbers, so it cancels out, and what's left is the offer.

Leo's second number: programming learners fell from 104 in May 2026 to 46 in August, −55.77%. Now compare August with August:

Dataset: Klasna programming, October 2024 – September 2026 · shown above

(46 − 45) ÷ 45 = +2.22%.

A year earlier the same months fell the same way, from 102 to 45. The chart puts both school years on one axis: the two lines almost lie on top of each other, dip in June–August and jump in September. Both summers brought 7 new families.

New programming families by month, two school yearsBoth years dip in June–August and jump in September. The two lines almost lie on top of each other.

Chart data

MonthOct 2024 – Sep 2025Oct 2025 – Sep 2026
Oct66
Nov55
Dec54
Jan56
Feb77
Show 7 more rows
Mar67
Apr76
May66
Jun33
Jul22
Aug22
Sep1012

Read the chart before the headline. When two years trace the same shape, the dip is the calendar, and the honest summary is "same as last year", not "down by half".

Two slips: comparing August with May of the same year (that's the season again), and comparing with a year that had something unusual in it without saying so.

  • Do
    August 2026: 46 learners; August 2025: 45. +2.22% year over year.
  • Don't
    Learners fell 55.77% from May to August, so the course is shrinking.

    Last year the same months fell the same way.

A seasonal index shows each month's usual share

A seasonal index turns the season into a number you can plan with. Divide a month's value by the year's monthly average:

seasonal index = month ÷ (twelve-month total ÷ 12).

Programming brought 66 new families from October 2025 to September 2026, an average of 66 ÷ 12 = 5.5 a month. September 2026 brought 12:

12 ÷ 5.5 = 2.18. June brought 3: 3 ÷ 5.5 = 0.55.

An index above 1 is a strong month, below 1 a weak one. So June running at about half an average month is normal for programming, and September at more than double is normal too. Across the year, the twelve indices average exactly 1; if yours don't, the arithmetic is off.

What it's good for: setting monthly targets and budgets that follow the season (a June target of half an average month, not a full one), and spotting a month that's out of line with its usual index.

The slip: building an index from one year of a tiny course. One or two families move it, so treat it as a rough guide and update it each year.

  • Do
    June's index is 0.55, so the June target is about half an average month.
  • Don't
    Same target every month: 5.5 new families.

    A flat target makes every June look like a failure.

Small numbers: twelve months against twelve

With a small offer, a single month is fragile. Programming brings five or six new families in a normal month, so one or two families swing a month by 20–40%. Even year over year, one month can mislead.

The steadier comparison is twelve months against the twelve before: a full school year against a full school year. The season appears once in each total, and the family-or-two noise mostly evens out.

New programming families: 64 from October 2024 to September 2025, 66 from October 2025 to September 2026.

(66 − 64) ÷ 64 = 2 ÷ 64 = +3.13%.

A second measure tells the same story: learner-months (each learner counted once for every month they had a lesson) went from 866 to 885, +2.19%. When two measures agree, you can say it more firmly.

The habit to keep: when someone quotes one month, ask for the twelve-month total next to the one before it. And when you report a change on small numbers, give the counts with the percentage ("64 → 66"), so nobody reads +3.13% as a trend it isn't.

  • Do
    Twelve months: 64 → 66 new families (+3.13%); learner-months 866 → 885.
  • Don't
    September 2026 had 12 new families against 10 a year ago: +20%, programming is booming.

    Two families on a tiny base are noise, not a boom.

Read the stage as questions, not a timetable

A life-cycle stage describes where an offer stands now. Use the stages as questions to ask of the data, not as a schedule every offer must follow:

  • New: little history to read. Who signs up, and who stays?
  • Growing: clearly more than last year, season after season.
  • Mature: close to last year, with the same seasonal shape.
  • Declining: below last year, season after season, not just once.

Programming answers clearly. Twelve-month new families 64 → 66, both summers 7, August learners 46 against 45. The summer fall repeats a pattern seen across the whole school. That's maturity with a seasonal summer dip.

Chart: New programming families by month, two school years · shown above

Flat isn't falling. A mature offer can earn steady contribution for years; the finance course showed programming leaves over a million hryvnias of contribution a year. Its questions are different: how to keep its families, how to raise what each lesson leaves, and where the next growth comes from.

Two years is short, so say how sure you are. But "too little data" is a reason to state your confidence, not to refuse to read the data. And one strong September is a family or two, not growth.

  • Do
    Mature, with a summer dip: 64 → 66 families a year, same shape both years. Fairly confident; two years is short.
  • Don't
    Every offer dies after a few years, so programming's time is up.

    The stages describe; they don't schedule.

A new offer: read it from who stays

An offer a few months old has no same month a year earlier to compare with, so the year-over-year tools don't apply yet. Sign-ups alone flatter it: anything new gets curious joiners. Read it from two numbers together: who joins, and who stays.

Klasna Club launched in July 2026. Joiners: 150 in July, 180 in August, 260 in September, 590 in all. Cancellations: 12, 40, 58, so 110 in all. Members at the end of September: 480.

Share of joiners already gone: 110 ÷ 590 = 18.64%, almost one in five in three months. And in module 4, most July joiners who skipped the live clubs were gone within three months, while most of those who came to two or more stayed.

So the honest reading is: a new offer taking off, with a retention problem. Not growth to push hard yet, and not decline either: 480 members after three months is a real start.

The slips: comparing the Club with "last July" (there was no Club), and calling 110 cancellations decline when members still rose every month.

  • Do
    590 joined, 110 left (18.64%): taking off, but the first month needs fixing.
  • Don't
    480 members already: let's push it hard and cut the price.

    A push pours more people into a first month that loses one in five.

Launch stance: price level and push

A launch stance pairs a price level with a promotion effort. A modest price with a strong push aims to grow fast. A higher price with a quiet launch to a few customers aims to learn and earn before scaling. The stage tells you which fits.

A brand-new offer, like Klasna's monthly mock exam, is unproven: nobody knows yet whether families will buy it and come back. So launch it quietly to a small group of spring families, at a price set with the pricing work, and push only once they buy and return. A big push from day one spends before you know.

Two other traps. "New offers always cannibalize the packages" is an assumption; whether one offer eats another is checked on total contribution, not guessed. And a "50% off" from a price never charged misleads customers anywhere. The EU's rule of showing the lowest price of the previous 30 days is written for goods; for a service like a mock exam it's the honest default. Ukraine's similar rule is adopted but not yet in force as of October 2026.

The price itself is the Pricing course's job; here you pick the stance.

  • Do
    Mock exam: a quiet launch to 30 spring families; push only if they buy a second month.
  • Don't
    "Mock exam: 50% off, this week only!" on a price never charged.

One stance per offer, from its stage

Put the stage and the stance together, and each offer gets its own line in the plan row.

  • Programming, mature: keep it, no big push. Work on keeping families and on what each lesson leaves. Closing it would throw away over a million hryvnias of contribution a year because of a summer that repeats every year.
  • Klasna Club, new, with a retention problem: keep the price at 450 a month and fix the first month before any push. A cut price would mostly discount adults who'd join anyway and wouldn't fix why one in five leaves; pushing harder pours more people into the same leak.
  • Monthly mock exam, unproven: a quiet launch to a few spring families first, push only on evidence.

The same arithmetic, read through the stage, gives three different answers. That's the point: "push" and "cut the price" are not general cures.

How it fits together: the right comparison gives the stage, and the stage gives the stance. The next lesson looks at programming, the Club and the packages together: each offer's role in the range, and what a new offer does to the others.

  • Do
    Club: price stays at 450; fix the first month, then push.
  • Don't
    Same stance for all three offers: cheaper and louder.

Ready to practise?

Answer the lesson's exercises and earn 250 points the first time you finish it.

Start the exercises