FSRS vs SM-2: The Real Difference Between Modern and Outdated Schedulers
TL;DR: SM-2 was written in 1987 and is still the default scheduler in most flashcard apps including Anki. FSRS, released in 2022, predicts recall with roughly 4% error compared to SM-2's ~14%, and most students see 20-30% fewer daily reviews at the same retention level after switching. The gap matters most for large decks and serious exam prep.
In 1987, a Polish researcher named Piotr Wozniak sat down at his DOS computer and wrote an algorithm to schedule flashcard reviews. He called it SM-2. It was a genuine breakthrough at the time. Cards you got right would come back later. Cards you got wrong came back sooner. Simple and effective.
That algorithm went on to power SuperMemo, then Anki, then basically every spaced repetition app on the market. For 35 years.
Think about that. The algorithm deciding when you see your flashcards is older than most people using them. It was designed before the Berlin Wall fell, before the World Wide Web existed, before anyone had heard the phrase "machine learning." As a software engineer, this is the kind of technical debt that immediately jumps out: the core scheduling logic hasn't been meaningfully updated in decades.
What SM-2 actually does
SM-2 works like this: you rate a card from 0 to 5, and the algorithm multiplies your current interval by a fixed "ease factor." That factor goes up when you rate cards well, and drops when you fail them. The formula is straightforward:
new_interval = old_interval * ease_factor
That's it. There's a bit of extra logic for new cards and lapses, but the core is multiplication by a single number. The algorithm has no concept of how memory actually works. It doesn't model forgetting. It doesn't account for the fact that difficulty and stability are different things. It just multiplies.
The most infamous problem with SM-2 is "ease hell." When you fail a card a few times, the ease factor drops so low that the card comes back almost every day, forever. You end up reviewing easy material constantly while hard cards pile up. Anki users have written entire forum threads about this. Some maintain custom add-ons just to work around it.
Enter FSRS
FSRS stands for Free Spaced Repetition Scheduler. It was created by Jarrett Ye in 2022, and it takes a completely different approach. Instead of one ease factor, FSRS models three separate variables for each card:
- Stability: how many days until your recall probability drops to 90%. A card with stability of 30 means you have a 90% chance of remembering it after 30 days.
- Difficulty: a number from 1 to 10 representing how hard the card is for you, specifically.
- Retrievability: your probability of recalling the card right now, based on how long it's been since you last saw it.
The math behind this is a forgetting curve formula:
R(t, S) = (1 + t/(9*S))^(-0.5)
where t is elapsed days and S is stability. This equation is fitted to actual review data using machine learning. The 19 weight parameters are trained on millions of real reviews from real students.
The practical difference
In a benchmark across 10,000+ users, FSRS predicted recall probability with a mean absolute error of about 4%, compared to roughly 14% for SM-2. That means when FSRS says you have a 90% chance of recalling a card, you probably do. When SM-2 says the same thing, it could easily be 76% or 100%.
What does that mean day-to-day? Fewer wasted reviews. SM-2 will sometimes show you a card you'd easily remember for another two weeks, just because the ease factor is conservative. FSRS knows the card is stable and waits. On the flip side, SM-2 might delay a genuinely fragile card because it hasn't lapsed recently enough to trigger a shorter interval.
In concrete numbers: students who switched from SM-2 to FSRS in Anki reported roughly 20-30% fewer daily reviews with the same or better retention. That's not a marginal improvement. If you review 200 cards a day, that's 40-60 fewer cards. Over a semester, that's dozens of hours back. The article on how many flashcards to review per day explains why that reduction matters so much for long-term consistency.
Why hasn't everyone switched?
Inertia, mostly. SM-2 is familiar. It works "well enough" for many people. Anki added native FSRS support in version 23.10, but it's not the default. You have to opt in.
There's also a comfort factor. SM-2 is dead simple to understand. You can explain it to someone in two minutes. FSRS involves differential equations and optimized weight vectors. Even if you trust the output, the black-box feeling bothers some users.
And honestly, for casual use (reviewing 20 cards a day, no exams on the horizon) SM-2 is fine. The gap only starts to hurt when you're dealing with thousands of cards, tight retention targets, and limited study time. Which is exactly the situation most medical, law, engineering, and computer science students find themselves in.
How to tell if your app is still stuck in the SM-2 era
You don't need to read source code to spot the difference. Most legacy schedulers reveal themselves through the settings and the behavior of the queue.
If the app still revolves around a single ease factor, that's the first sign. If every lapse permanently poisons the future interval of a card, that's the second. If the way you "fix" the system is by nudging global interval modifiers up and down until the review count feels tolerable, you're probably not using a model that understands your memory. You're using a compromise layer built on top of a formula from the late eighties.
Another clue is whether the app can talk about retention as a target rather than a vague hope. Modern schedulers can say something like, "We're aiming to keep you around 90% recall while minimizing unnecessary reviews." Older systems mostly shrug and ask you to fiddle with settings until the workload looks right. That's not personalization. That's a manual patch.
And then there is the deck problem. Real students don't study one uniform subject. Anatomy, civil procedure, data structures, and vocabulary are not forgotten at the same rate. A modern scheduler should at least move toward recognizing that different material behaves differently. If your entire system assumes one set of review dynamics for everything, it is leaving accuracy on the table.
This is also why "You're Studying Wrong: What 140 Years of Memory Research Actually Says" matters alongside this article. The science is not only about whether spacing helps. It's about hitting the review close to the moment forgetting begins. A scheduling engine that cannot estimate that moment very well is quietly wasting your time even if the app still calls itself "spaced repetition."
What this changes on an ordinary study day
It's easy to talk about algorithms like they're abstract machinery sitting under the floorboards. But the real difference shows up in the shape of a Tuesday.
With SM-2, you can end up opening your app to find a queue filled with cards that feel insultingly familiar. You know the answer before the prompt is even fully on screen. The session still takes time, though. You still tap through each card. You still pay the attention cost of re-engaging with material that could have waited. Meanwhile, the genuinely fragile cards don't necessarily appear with the urgency they deserve, because the algorithm has only a crude way of representing difficulty.
With FSRS, the ideal outcome is less dramatic but more useful: more of the cards feel appropriately timed. Not impossible. Not trivial. Just on the edge where retrieval is effortful enough to strengthen memory without turning the session into a grind. That's exactly the state you want if you're studying at scale.
The difference compounds. Saving twenty or thirty minutes on a single day is nice. Saving that time repeatedly, while keeping retention stable, is what changes whether spaced repetition remains sustainable during a full semester. It determines whether you have enough cognitive room left for lectures, practice questions, assignments, and actual sleep.
This is also where product decisions around FSRS matter. If the scheduler is better but the app still makes review sessions feel chaotic, the advantage gets diluted. That's part of the reason Imprimo pairs FSRS with controlled new-card mixing, clearer daily limits, and quieter review flows. And it's why the first-person piece "I Switched From Anki to a New Flashcard App. Here's What Happened to My 400-Day Streak." focuses so much on what the queue felt like, not just what the math said.
Is FSRS overkill for new learners?
Not really. The better question is whether the extra precision matters yet.
If you're brand new to flashcards and reviewing a tiny deck, SM-2 probably won't ruin your life. At that scale, almost any consistent spaced repetition habit beats cramming and rereading. The problem is that study systems have a way of becoming important exactly when the workload grows. By the time someone notices the scheduler is fighting them, they're often already buried under months of accumulated cards.
Starting with a better model does not make studying more complicated. If anything, it should reduce the amount of manual tuning you need to do later. The ideal user experience is that you barely think about the scheduler at all. You just trust that due cards are due for a reason.
What Imprimo does differently
Imprimo uses FSRS v5 from day one. There is no SM-2 mode. The algorithm runs natively through a Rust implementation for speed and cross-platform consistency.
But we also added some things you won't find in a stock FSRS setup:
- Per-deck parameter optimization. Your data structures cards and your system design cards probably have very different difficulty distributions. Imprimo can train separate FSRS parameters for each deck.
- Smart interleaving. New cards are mixed into your review queue at a 1:5 ratio with due reviews. This prevents the "only new cards" or "only reviews" problem.
- Daily limits that make sense. 50 new cards, 200 total reviews. The day boundary is at 4 AM, not midnight, because nobody finishes studying at exactly 11:59 PM.
The algorithm is only part of the story, of course. But it's the foundation. Get the scheduling wrong and everything else (the UI, the AI generation, the offline sync) doesn't matter because you're wasting time on cards you don't need to see.
Bottom line
SM-2 was a great algorithm. In 1987. Using it in 2026 is like using MapQuest when your phone has GPS. Both will technically get you to the destination, but one of them accounts for traffic, construction, and the fact that you missed your exit five minutes ago.
FSRS is that GPS. It's not perfect, and it'll keep getting better as more review data feeds into the model. But it's already measurably, provably superior to the algorithm most flashcard apps still ship as their default.
Your brain deserves better than multiplication by a constant.
If you want to pair a better scheduler with better cards, the article on writing flashcards that actually work covers the other half of the equation.
Frequently asked questions
What is the difference between FSRS and SM-2?
SM-2 is a 1987 algorithm that multiplies a card's interval by a single ease factor. FSRS is a 2022 algorithm that models three variables (stability, difficulty, retrievability) using machine learning trained on millions of real reviews. In benchmarks, FSRS predicts recall with about 4% mean error versus 14% for SM-2.
Is FSRS better than SM-2?
Yes, for almost any serious student. FSRS predicts recall more accurately, eliminates SM-2's ease hell problem, and typically reduces daily review count by 20 to 30% at the same retention level. The gap is largest for big decks and tight retention targets. For a tiny casual deck, the difference is minor.
Does Anki use FSRS?
Anki added native FSRS support in version 23.10, but SM-2 is still the default. You have to opt in by enabling FSRS in your deck options. Most students who switch report fewer daily reviews without losing retention.
Is FSRS the same as SuperMemo?
No. SuperMemo uses its own proprietary algorithms (SM-17, SM-18) that are similar in spirit to FSRS but closed source. FSRS is open source, trained on public data, and free to use in apps like Anki and Imprimo. SM-2, the algorithm SuperMemo released in 1987, is what most modern apps still default to.
What is ease hell in SM-2?
Ease hell is when SM-2 keeps lowering a card's ease factor after each lapse until the card returns every day or two, even after you start remembering it. Because SM-2 has no way to model improving stability separately from difficulty, those cards become permanent visitors to the daily queue. FSRS fixes this by separating difficulty from stability.