Back to blog

A $260 course is cheaper than a $14 subscription, eventually

Comparing a one-off purchase with a monthly fee needs a time horizon, and language learning horizons are longer than people plan for. Getting this wrong once made us recommend a $260 course to someone with no budget.

Aug 8, 2026Kevin Fan

Two products. One costs about $260 once. One costs about $14 a month. Which is cheaper?

The question is unanswerable without a time horizon, and language learning horizons are longer than almost anyone plans for.

The arithmetic

At $14 a month, a $260 purchase breaks even at about nineteen months.

Now put that against how long the thing actually takes. Spanish to B2, an hour a day five days a week, comes out around 460 hours with a tutor and 695 by structured self-study — roughly 21 and 32 months respectively. Harder languages are multiples of that.

The break-even point falls inside the project. For anything past a casual attempt at an easy language, the one-off purchase is the cheaper instrument, and it stops being close.

The subscription's real advantage is not price. It is optionality: you can stop. Given that most people who start a language stop within a couple of months, paying for the right to quit cheaply is a rational purchase — for a first attempt, by someone who has not yet proven they will show up.

The bug this caused here

We modelled prices as a single number: monthly cost. A one-off purchase was entered as approxMonthlyUsd: 0, because there is no monthly fee.

Two things followed, both bad.

The $260 course displayed as "Free". And because a zero monthly cost is affordable on any budget, it was recommended to users who had entered a budget of zero.

That is the worst class of error this site can make: not an estimate being off, but a recommendation that would have cost a reader real money on the strength of a display bug.

The fix was to stop treating price as a number. It is now a tagged union — free, subscription, one-off, or per-lesson — with two separate operations on it:

  • Display always shows what you will actually be charged. A one-off shows "about $260 once", never a monthly figure.
  • Ranking and budget filtering use a monthly equivalent, amortising a purchase over twelve months. That is internal only and never shown, because "$21.67/month" is not a thing anyone is charged.

And a zero budget now disqualifies anything with a price, which is what it obviously always meant.

How to think about it for yourself

Have you finished a language before? If not, the subscription is buying you a cheap exit, and that is worth something real. Take it, and treat the first two months as a test of whether you show up rather than as learning.

Do you have a habit already? Then price the whole project rather than the month. Nineteen months of a subscription is one course, and the project is longer than nineteen months.

Watch what you are actually paying for. A subscription's product is sequencing — someone deciding what comes next. If you would build that yourself, the free route is genuinely competitive to about B1.

Two subscriptions is usually one too many. The overlap between app subscriptions is enormous and the gap they all share — corrected output — is not filled by adding another.

Every price we list carries the date it was checked, and anything over ninety days old is flagged stale, because these change constantly. Confirm on the merchant's own site before paying. How this site is paid for.

Sources

Every figure above, and where it came from. A post that traces other people's unsourced numbers does not get to have any of its own.

  1. Foreign Language TrainingUS Department of State, Foreign Service Institute

    The class-hour bands every estimate on this site starts from, and the definition of the proficiency they lead to (ILR Speaking-3 / Reading-3).

  2. Guided learning hoursCambridge English

    The shape of the curve between CEFR levels. Cambridge publishes cumulative hours per level (A2 180–200, B1 350–400, B2 500–600, C1 700–800, C2 1,000–1,200); our level factors are normalised against the C1 band and every one lands inside its published range.