What it means when a calculator tells you no
Most estimate tools always return a number, because a number looks like an answer. Ours returns "this method does not get there" — and that output is the most useful thing it produces.

Ask most language calculators for C1 Japanese by app and you will get a number. It will be large, and it will be wrong in a specific way: it implies that enough hours would do it.
Ours returns a refusal instead, and that decision is worth explaining because it looks like a missing feature.
Where the refusals come from
Each study method has a ceiling — the highest level the model treats it as capable of producing on its own:
| Method | Ceiling |
|---|---|
| Intensive class (FSI-style) | C2 |
| 1-on-1 tutor | C2 |
| Living in-country | C2 |
| Structured self-study | C1 |
| App only | B1 |
Ask for a level above the ceiling and the model does not multiply hours harder. It says the method does not get there.
The same logic runs through the tools. The daily-time tool returns no figure at all when the method cannot reach the target, because dividing an impossible total by a number of days produces a possible-looking answer to an impossible question. The deadline tool distinguishes two different failures — running out of time, and hitting a ceiling — because they call for opposite responses.
Why a big number is worse than no number
A learner who is told "1,292 hours to B2 by app" will reasonably conclude that B2 by app is a long project. It is not a long project. It is a project that does not terminate.
The two look identical when both are printed as a number, and they call for completely different decisions:
- Long project → keep going, adjust the schedule
- Does not terminate → change the method
Presenting the second as the first sends people to spend years on the wrong plan. The number is not even wrong, exactly — 1,292 is what the arithmetic gives. It is that arithmetic is the wrong tool once the question has become qualitative.
This is also why the method chart on every language page draws the app-only bar with hatching and the words "never reaches B2" rather than as a very long bar. A long bar is read as "slow". Hatching is read as "different kind of thing", which is what it is.
Where the ceilings come from, honestly
They are estimates. FSI publishes hours for its own intensive classes and nothing else. There is no published table of method ceilings, because no institution runs a controlled trial of app-only study to C1.
What supports them is structural rather than experimental: the levels above B1 consist of producing novel sentences and having them corrected, and an app cannot correct a sentence it has never seen. The ceilings encode that argument. They are marked as estimates in the code and in the caveats on every result.
If you think a ceiling is wrong, the specific claim to argue with is that structural one, not the number.
The other refusals
The pattern runs through the site.
Ask what a language you already speak is worth for an unrelated pair and it returns zero, rather than a small encouraging discount. Ask for a language FSI never measured — sign language, Latin — and there is no figure at all, with pages explaining why instead.
The rule underneath all of it: an answer that looks like an answer, and is not, is worse than an admission. It is also the whole reason to build a tool like this, because the pages competing for the same searches are full of the first kind.
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.
- Foreign Language Training — US 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).
- Guided learning hours — Cambridge 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.