FSRS vs SM-2
A technical and practical comparison of the SM-2 and FSRS spaced repetition algorithms — what changed, what it means for learners, and why Neurako uses FSRS.
Last updated 2026-08-29
SM-2 was the algorithm that made spaced repetition practical in the 1980s and 1990s. FSRS is a modern replacement that models memory more accurately, avoids the "ease hell" problem, and lets schedulers target a specific desired retention level. Both aim to show cards at the right time — but FSRS does it with considerably more precision. As of August 2026 the practical question is usually whether FSRS is enabled, not whether an app has it.
Key Takeaways
- SM-2 uses a single "ease factor" per card; FSRS models three distinct memory properties — stability, difficulty, and retrievability. - SM-2 has no explicit retention target; FSRS schedules reviews so recall probability stays at a configurable level (90% by default in Neurako). - "Ease hell" — where repeated hard ratings permanently suppress intervals — is a structural flaw in SM-2 that FSRS avoids. - FSRS parameters can be personalized to each learner's review history; SM-2 treats all learners identically at the start and adjusts only ease factor. - Anki has included native FSRS since version 23.10 (released 2023); enable it in deck options to replace SM-2. Neurako uses FSRS by default.
SM-2: the algorithm that started it all
SM-2 was developed by Piotr Wozniak at SuperMemo and first published around 1990. It was the algorithm behind early versions of SuperMemo and was Anki's default scheduler for many years before native FSRS arrived in 23.10. For its era, it was a significant practical achievement — a simple, implementable formula that produced genuinely useful review schedules.
How SM-2 works
Every card in SM-2 carries an ease factor (EF), initialized at 2.5 for all cards. After each review, the interval to the next review is calculated:
- After the first correct review: 1 day
- After the second correct review: 6 days
- After subsequent correct reviews:
interval × ease_factor
The ease factor adjusts based on your rating (0–5 scale in the original SuperMemo; Anki maps its buttons to this range). Lower ratings decrease EF; higher ratings increase it. The ease factor cannot drop below 1.3.
SM-2's structural problems
Ease hell is the most widely documented problem with SM-2. If you rate a card as Hard repeatedly — even once — the ease factor decreases and stays decreased. Over time, cards with low ease factors receive intervals that barely grow, even when you're recalling them consistently. These cards become "leeches": they keep appearing but never advance to long intervals.
The underlying problem is that SM-2 conflates two things: current stability (how well the memory is currently consolidated) and intrinsic difficulty (how hard this card is for this learner). A card can be currently stable (you know it well right now) even if it's intrinsically difficult (it's been hard to learn historically). SM-2 doesn't distinguish these and doesn't recover well once ease hell has been entered.
No retention target. SM-2 produces intervals, but there is no explicit mechanism for asking "at what recall probability should I schedule the next review?" The intervals emerge from the multiplier logic, which means different cards with the same ease factor and review count will share the same interval regardless of whether they are actually remembered at the same rate.
No personalization from history. SM-2's parameters are fixed globally. Every new learner starts at EF 2.5 and follows the same multipliers. There is no mechanism to train the algorithm on a specific learner's actual forgetting patterns.
FSRS: a memory model, not a multiplier
FSRS (Free Spaced Repetition Scheduler) was developed by Jarrett Ye and collaborators as an open-source algorithm designed to address the limitations of SM-2. Rather than tracking a single ease factor, FSRS models three properties of each memory:
- Stability (S): The expected time (in days) before retrievability drops to the desired retention level. A stability of 30 means the memory is expected to remain above the retention target for 30 more days.
- Difficulty (D): How resistant the card is to learning and stability improvement, on a scale from 0 to 10. High difficulty cards gain less stability after each successful review.
- Retrievability (R): The current probability of successful recall. This is calculated from stability and the time elapsed since the last review.
How FSRS schedules
Instead of asking "what should the next interval be given this ease factor?", FSRS asks "how many days from now will retrievability drop to the desired retention level?" The scheduler finds the day when R equals the target (90% by default) and schedules the review there.
This means:
- A card with high stability gets a long interval — its memory is robust enough to wait.
- A card with low stability gets a short interval — its memory is fragile and needs reinforcement sooner.
- Two cards with the same number of correct reviews but different stabilities will get different intervals, because they represent genuinely different memory states.
FSRS parameter optimization
FSRS has 17–21 trainable parameters that govern how stability, difficulty, and retrievability interact. These parameters can be optimized using a learner's actual review history via an offline optimizer. The optimizer finds the parameter set that best predicts that learner's real forgetting patterns, making the scheduler increasingly accurate over time.
This is fundamentally different from SM-2, where parameters are global constants. A learner who consistently struggles with certain types of material will have their FSRS model reflect that; SM-2 would only lower the ease factor on individual cards without adjusting global behavior.
Practical differences for learners
| SM-2 | FSRS | |
|---|---|---|
| Memory model | Single ease factor | Stability, difficulty, retrievability |
| Retention target | None | Configurable (default 90%) |
| Ease hell | Yes — permanent interval suppression | No — difficulty separate from stability |
| Personalization | None (global fixed parameters) | Optimizer trained on review history |
| Interval for easy cards | Can plateau if EF is high-capped | Grows more freely as stability increases |
| Interval for hard cards | Can get stuck at very short intervals | Modeled accurately; recovers over time |
In practice, FSRS tends to give easier cards longer intervals faster (because high stability supports long gaps) and gives harder cards shorter but more accurate intervals (because difficulty is modeled correctly rather than being conflated with stability).
Anki and FSRS
Anki added native FSRS support in version 23.10, released in October 2023. You enable it globally in deck options and can optionally run the optimizer on your review history. Until FSRS is enabled, collections continue on Anki's SM-2-based scheduler. Many Anki users who switch to FSRS report fewer cards feeling "stuck" at short intervals and better overall recall.
Neurako uses FSRS (via the ts-fsrs library) as the default and only scheduler — there is no
legacy SM-2 mode to manage. The default target retention is 90%. Pro users can adjust the desired
retention level, set a maximum interval, and enable FSRS weight personalization using their review
history. For most learners, the defaults work well without any adjustment.
Which should you use?
If you're using Anki, switching to FSRS is generally worth it — particularly if you have cards that feel permanently stuck at short intervals (a sign of ease hell). The Anki FSRS optimizer uses your review history to fit parameters.
If you're using Neurako, you're already on FSRS with sensible defaults.
Frequently asked questions
FSRS Algorithm
How Neurako's FSRS scheduler works in practice.
Neurako vs Anki
How Neurako compares to Anki across scheduling, features, and workflow.
Spaced Repetition Explained
The principles behind spaced repetition scheduling.
Sources
Wozniak, P. A. (1990). Application of a computer to improve the results obtained in working with the SuperMemo method. https://www.supermemo.com/en/blog/application-of-a-computer-to-improve-the-results-obtained-in-working-with-the-supermemo-method
FSRS algorithm wiki. open-spaced-repetition/awesome-fsrs. https://github.com/open-spaced-repetition/awesome-fsrs/wiki/The-Algorithm
ts-fsrs. TypeScript implementation of FSRS. https://github.com/open-spaced-repetition/ts-fsrs
- Anki FSRS documentation. https://docs.ankiweb.net/deck-options.html
Related journal guide
For a more opinionated product comparison or narrative walkthrough, read FSRS vs SM-2 comparison on the Neurako Journal.
Ready to turn this into a study ritual?
Start studying with NeurakoRelated reading
FSRS Algorithm
How Neurako's FSRS scheduler models your memory using stability, difficulty, and retrievability to schedule reviews at the right time.
Neurako vs Anki
A fair comparison of Neurako and Anki across scheduling, card creation, mobile experience, community decks, and plugin ecosystem.
Spaced Repetition Explained
How spaced repetition works, why timing matters, and how adaptive schedulers make reviews more efficient.
The Forgetting Curve
What Ebbinghaus actually measured, what the forgetting curve tells us, and why review timing matters for memory retention.
Cognitive Load
John Sweller's Cognitive Load Theory: why working memory has hard limits, the difference between intrinsic, extraneous, and germane load, and what this means for how you design flashcards.