FSRS vs SM-2: why the new spaced-repetition algorithm matters for any language learner
A technical-but-readable comparison of FSRS and SM-2 — the two main spaced-repetition algorithms — and why FSRS produces 20-30% fewer reviews for the same retention. Includes practical migration tips.
If you've used Anki, SuperMemo, or any other flashcard app for more than a few months, you've probably heard the acronyms SM-2 and FSRS. Most users have a vague sense that "FSRS is the new one and it's better" without understanding why or what changes.
This article fixes that. It's a technical-but-readable explanation of the two main spaced-repetition algorithms, why FSRS represents a real improvement (not just hype), and what changes for you in practice.
You don't need a math background — the goal is intuition, not derivations.
The problem both algorithms try to solve
Spaced repetition algorithms answer one question: given a card you just reviewed, when should I show it to you again?
Too soon → wasted time (you still remember). Too late → you've forgotten and have to relearn from scratch.
The "perfect" interval is right at the edge of forgetting — when retrieval requires effort but is still successful. This is what cognitive science calls desirable difficulty (Robert Bjork). Each successful effortful retrieval strengthens the memory more than easy retrieval would.
Both SM-2 and FSRS try to predict this interval. They differ dramatically in how.
SM-2 — Piotr Wozniak, 1987
SM-2 (SuperMemo 2) was the first widely-deployed spaced-repetition algorithm. It powered SuperMemo for years and became Anki's default for over a decade.
How SM-2 works
Each card has two state variables:
- Repetition count (
n): how many consecutive successful reviews - Easiness factor (
EF): a number starting at 2.5, adjusted by your rating
After each review, you rate recall on a 0-5 scale. SM-2 updates state as follows:
If rating < 3 (i.e., you forgot):
n = 0
Show again today.
If rating >= 3 (i.e., you remembered):
if n == 0: interval = 1 day
if n == 1: interval = 6 days
if n >= 2: interval = previous_interval × EF
EF = EF + (0.1 - (5 - rating) × (0.08 + (5 - rating) × 0.02))
EF clamped to >= 1.3
n = n + 1
That's the whole algorithm.
What SM-2 gets right
- Simple. A few lines of math, easy to debug, easy to explain.
- No training data needed. Works from card #1.
- Adapts somewhat — the EF moves up for easy cards (longer intervals) and down for hard cards (shorter intervals).
What SM-2 gets wrong
- EF assumes card difficulty is fixed. In reality, your memory of a specific card changes as you encounter it in different contexts, with different neighbours. SM-2 has no model of memory state.
- No retrievability concept. SM-2 doesn't model "what's the probability you'd remember this right now?" It just multiplies intervals by a factor.
- Catastrophic forgetting handling. If you fail a card after a long interval, SM-2 resets
nto 0 and starts over from day 1. But you didn't really start from zero — there's residual memory. SM-2 wastes time relearning. - No personalisation across users. Every user gets the same formula even though memory characteristics vary widely. A user who forgets fast and a user who forgets slowly should have very different schedules — SM-2 only adjusts at the per-card level.
These limitations didn't matter much in 1987. They matter a lot now that we have data.
FSRS — Jarrett Ye, 2022 onwards
FSRS (Free Spaced Repetition Scheduler) is a fundamentally different approach. Instead of a hand-tuned formula, it's a small mathematical model of memory whose parameters are learned from data.
The DSR model
FSRS represents each card with three variables (the DSR model):
- D — Difficulty: how hard this specific card is for this specific user. Updated based on performance over time.
- S — Stability: how long the memory of this card currently lasts. The longer S, the longer the next interval can be.
- R — Retrievability: the probability you'd recall this card if you reviewed it RIGHT NOW. Computed from S and time elapsed.
The retrievability formula is roughly:
R = (1 + t / (9 × S))^(-1)
Where t is days since last review and S is current stability. The 9 is a tuning constant.
This means: as time passes, R decays smoothly from 1 to 0. You can pick a target retrievability (e.g., 0.9 = "I want to review this when I'd remember it 90% of the time") and FSRS computes the exact interval that hits it.
What changes vs SM-2
After each review, FSRS doesn't just multiply by an ease factor. It updates D and S using formulas that account for:
- Whether you rated Again, Hard, Good, or Easy
- The card's previous D and S
- Your prediction error (how off the system was about predicting your recall)
The parameters in those formulas (~17 of them) are learned from millions of real review sessions rather than chosen by hand. The default parameters are good for most users, and Anki's FSRS implementation can re-train on your personal review history to tune them further.
Why this matters in practice
Published research (Ye 2022, validated by Anki community 2023-2024) shows FSRS produces:
- 20-30% fewer reviews to maintain the same retention rate.
- More consistent retention — fewer cards "fall off a cliff" because you didn't rate them right.
- Better handling of lapses — when you forget a card after a long interval, FSRS doesn't reset to day 1; it shortens the next interval based on residual memory.
- Personalisation — you can re-train parameters on your own data after a few hundred reviews.
For a typical learner reviewing 100 cards/day on SM-2, switching to FSRS means roughly 70-80 cards/day for the same retention — meaningful time savings that compound over years.
Practical implications
If you're new to spaced repetition
Use a tool that defaults to FSRS. You'll save time and have better retention without knowing the algorithm details. Mnemo defaults to FSRS v5; Anki has FSRS as an opt-in setting.
If you're an existing Anki user
Open Anki desktop → Preferences → Scheduling → enable "FSRS". After a few hundred reviews, run "Optimize" to tune parameters on your data. You'll see review load drop within 2-3 weeks.
If you're using Quizlet, Memrise, or another consumer app
These don't run FSRS or anything close. The "Learn" mode in Quizlet uses a simplified SM-2-ish system without per-card stability tracking. If your goal is long-term retention rather than short-term recognition, you'll get more out of an FSRS-native tool.
Common misconceptions
"FSRS is just SM-2 with more parameters." False. The mental model is different — FSRS explicitly models memory state (D, S, R) while SM-2 just tracks ease and counts. The DSR model came from psychology research; SM-2 was hand-tuned heuristic.
"FSRS only works after you have a lot of data." False. Default parameters work well from card #1. Personal optimisation kicks in after ~1,000 reviews but is incremental, not foundational.
"FSRS will let me skip review days without consequence." False. FSRS is more accurate than SM-2 but it can't fight the forgetting curve. Skip a week and you'll still have cards you've forgotten — FSRS just handles the recovery slightly more gracefully.
"If FSRS is so much better, why didn't SuperMemo / Anki do it sooner?" SuperMemo did continue evolving (SM-15, SM-18 — proprietary). FSRS is the first algorithm of similar sophistication that's open-source and freely available. Anki was conservative about defaults until the FSRS community proved it through millions of reviews.
Limitations of FSRS (be honest)
- It doesn't help if you don't review. FSRS is a scheduler, not a habit-builder.
- It doesn't help if you create bad cards. Bare "word = meaning" cards still encode poorly regardless of scheduler.
- It can't predict the unpredictable. Big life changes, illness, sleep deprivation — all affect memory. FSRS adapts but with a lag.
- It's optimised for recall in standardised review. It doesn't help with applied skills (writing, speaking) directly — that's a separate practice.
Where to use FSRS today
- Mnemo — FSRS v5 by default, no configuration needed.
- Anki desktop / mobile — FSRS available since 2024, opt-in via Preferences.
- RemNote — FSRS available in Pro tier.
- Open-source FSRS implementations — available in Python, JavaScript, Rust if you're building your own tool. See
open-spaced-repetition/fsrs4ankion GitHub.
For most learners, the choice between Mnemo and Anki+FSRS comes down to friction: do you want FSRS preconfigured with a modern UI and a Chrome extension built in (Mnemo), or do you want maximal customisation and the largest deck ecosystem (Anki)? Both are valid. Both run the same modern algorithm now.
Read next: