Neurako Learn
Learning Science

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

~7 min read~15 min to applyLearning Science

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-2FSRS
Memory modelSingle ease factorStability, difficulty, retrievability
Retention targetNoneConfigurable (default 90%)
Ease hellYes — permanent interval suppressionNo — difficulty separate from stability
PersonalizationNone (global fixed parameters)Optimizer trained on review history
Interval for easy cardsCan plateau if EF is high-cappedGrows more freely as stability increases
Interval for hard cardsCan get stuck at very short intervalsModeled 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.

In Neurako

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

Sources

  1. 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

  2. FSRS algorithm wiki. open-spaced-repetition/awesome-fsrs. https://github.com/open-spaced-repetition/awesome-fsrs/wiki/The-Algorithm

  3. ts-fsrs. TypeScript implementation of FSRS. https://github.com/open-spaced-repetition/ts-fsrs

  4. Anki FSRS documentation. https://docs.ankiweb.net/deck-options.html

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 Neurako

Related reading

On this page