For about four decades, almost every flashcard app you have ever touched ran on the same engine. It was called SM-2, and it was a genuinely remarkable piece of work for its time. But time moved on, and the algorithm did not — until recently, when a newer scheduler called FSRS quietly replaced it as the state of the art, even becoming the recommended default in Anki, the app that made SM-2 famous.

If you have ever wondered what actually happens after you tap "Good" on a flashcard, the story of FSRS vs SM-2 is the answer. It is a small revolution in how software models your memory, and it explains why modern spaced repetition schedules better than the version most people grew up with.

Where SM-2 came from

SM-2 was designed in the late 1980s by Piotr Woźniak, as part of the SuperMemo project. The constraints were severe: it had to run on the modest computers of the era, with very little memory and processing power. So Woźniak built something elegant and lightweight.

SM-2 tracks each card with a small handful of numbers — most importantly an ease factor, a multiplier representing how easy the card is for you. When you review a card and grade it, the algorithm nudges the ease factor up or down and multiplies your current interval by it to get the next one. Grade a card well and its interval grows; grade it badly and the interval collapses and the ease factor drops.

This is a clever heuristic, and it worked well enough to power spaced repetition for a generation. But its simplicity came with real limitations.

The cracks in SM-2

The deepest problem with SM-2 is that the ease factor tries to be too many things at once. It is the single dial controlling how a card's intervals grow, but a card's behavior actually depends on several distinct things — how intrinsically hard the material is, how well-established the memory currently is, and how much time has passed. Compressing all of that into one number means the algorithm is constantly making rough compromises.

A few specific symptoms followed. SM-2 had no real notion of how likely you are to recall a card right now — it scheduled by formula, not by a prediction of your actual memory. It was also notorious for a phenomenon called ease hell: a card you found difficult would get its ease factor knocked down repeatedly until its intervals shrank to almost nothing, trapping you in a punishing loop of seeing the same hard card constantly, with no graceful way out. And because the algorithm could not predict your retention, it could not target a specific retention rate. You got whatever the formula produced, with no dial to say "I need to remember this 95% of the time" or "85% is fine for casual review."

None of this made SM-2 useless. It made it a forty-year-old approximation that newer data and better math could clearly improve on.

What FSRS does differently

FSRS — the Free Spaced Repetition Scheduler, developed by Jarrett Ye and collaborators as an open-source project — starts from a more honest model of memory. Instead of one ease factor, it describes every card with three separate variables drawn from memory research:

  • Stability (S) — how durable the memory currently is, measured as the number of days until your chance of recalling the card falls to your target. High stability means the card can wait a long time.
  • Difficulty (D) — how intrinsically hard this particular item is for you, on a fixed scale. Difficulty changes only slowly and is kept separate from stability, so a hard card no longer spirals into ease hell.
  • Retrievability (R) — the probability that you can recall the card right now, which decays predictably as time passes since the last review.

These three map onto how memory genuinely behaves, and keeping them separate lets FSRS reason about each independently. When you grade a card, FSRS updates stability and difficulty using formulas fitted to large amounts of real review data, and it computes the next interval as the point where your retrievability will have decayed to the level you asked for.

That last part is the headline feature. Because FSRS actually predicts your probability of recall over time, you can hand it a target retention — say, 90% — and it will schedule every card to come due right as its recall probability dips to that line. Want to remember high-stakes material 95% of the time at the cost of more frequent reviews? Turn the dial up. Studying something casual where 85% is plenty? Turn it down, and review less. SM-2 could never offer this, because it never knew your odds of recall in the first place.

Does the difference actually matter?

It does, and in a measurable way. Because FSRS models forgetting more accurately, it tends to schedule reviews more efficiently — hitting your chosen retention with fewer total reviews than SM-2 would need to reach the same place, or reaching higher retention for the same effort. Large-scale analyses of real-world review logs are what FSRS was trained and validated on, and they are the basis for Anki adopting it as the recommended scheduler. For a serious student doing thousands of reviews, "more accurate timing" compounds into real hours saved and real knowledge kept.

It is worth being measured here, though. SM-2 is not broken, and for a light user the practical difference on any single card may be modest. FSRS is not magic; it is a better-fitting model. But "better-fitting model of your memory, with a retention dial you control" is exactly the kind of improvement that matters more the more you rely on it.

Where this connects to Recall

Recall runs FSRS natively — the modern three-variable model, computed entirely on-device so it is instant and works with no connection at all. When you reveal a card, each of the four grade buttons shows the predicted next interval it would produce, so you can see the algorithm's reasoning rather than trust it blindly. And because FSRS knows your odds of recall, Recall lets you set your own target retention: dial it up for the exam that matters, ease it down for the deck you are keeping warm. If you are coming from Anki, your existing decks and review history import in a couple of taps and slot straight into the modern scheduler — no account, no lock-in, no starting over.

If you have been studying on a forty-year-old algorithm and want to feel the difference a better one makes, try Recall and let FSRS schedule your memory the way it actually works.