FSRS vs SM-2: How Spaced Repetition Algorithms Decide When You Review
Every spaced repetition app has to answer one question for each card: when should this come back? For decades the answer came from an algorithm called SM-2, designed in the 1980s. A newer one, FSRS, answers the same question with a model trained on millions of real reviews. Here is the difference, in plain terms.
Spaced repetition is the well-known idea that you should review something right before you forget it, with the gaps growing each time you get it right. That is the principle. The part nobody talks about is the harder engineering question underneath it: for this specific card, in front of this specific person, on this specific day, exactly how many days should pass before it comes back? Get that number too small and you waste the person's time reviewing things they already know. Too large and the memory is gone by the time the card returns. An algorithm is what turns the principle into that number, and there are two you will keep running into.
SM-2: the clever rule of thumb that started it all
SM-2 is the algorithm Piotr Wozniak designed for the original SuperMemo in the late 1980s, and it is the ancestor of almost every spaced repetition tool since. For a long time it was what Anki used by default, and countless apps still run a version of it. Its logic is simple enough to explain in a paragraph, which is a large part of why it spread.
Each card carries a number called its ease factor. When a review comes up, you rate how well you knew it. Answer well and the next interval is the current one multiplied by the ease factor, so the gaps stretch: one day, then a few, then a couple of weeks, then months. Answer badly and the card resets to a short interval and its ease is nudged down, so a card you keep failing comes back more often. That is essentially the whole machine: multiply the interval by a per-card ease number, adjust that number based on your answers.
SM-2 works, which is why it lasted. But it is a hand-designed rule of thumb, not something fit to evidence. The multipliers and starting values were reasonable guesses that have never really been personalised. It treats a card you rated "good" the same whether that meant you knew it instantly or barely scraped it. And it has no explicit idea of how likely you are to remember a given card right now - it just applies its multipliers and hopes the schedule lands in a useful place.
FSRS: the same job, done with data
FSRS, the Free Spaced Repetition Scheduler, is an open-source algorithm built by a community of researchers and developers and released over the last few years. Anki added it as a built-in option in late 2023, which is how most people met it. It answers the same when-should-this-return question, but it does so with a model trained on very large sets of real review histories rather than fixed multipliers.
Its foundation is a memory model with three moving parts, often shortened to DSR. Difficulty is how inherently hard a particular card is for you. Stability is how durable the memory currently is - roughly, how slowly it is fading. Retrievability is the probability that you could recall the card at this exact moment, which falls as time passes since the last review. FSRS estimates all three for every card and updates them after each answer.
That extra structure buys a genuinely different behaviour. Because FSRS can estimate retrievability, it can schedule each card to come back when your predicted chance of remembering has dropped to a target you choose - say, ninety percent. You are effectively telling it how much forgetting you are willing to risk, and it works out the interval for each card to hit that target, tuned to the pattern in your own reviews. SM-2 applies the same multipliers to everyone; FSRS fits the schedule to the data.
What actually differs, side by side
Strip away the jargon and the practical differences come down to a few things.
| Question | SM-2 | FSRS |
|---|---|---|
| Where the numbers come from | Fixed multipliers chosen by hand in the 1980s | A model trained on large sets of real review data |
| How it decides the interval | Current interval times a per-card ease factor | Predicts memory strength and schedules to a target recall probability |
| Does it model forgetting directly? | No, it approximates it with multipliers | Yes, it estimates your chance of recall at any moment |
| Can you set a retention target? | Not really | Yes, you choose how much forgetting to allow |
| Personalisation | Limited and slow | Fits to your own history, and improves with more reviews |
| Typical result | Works well, tends to over-review mature cards | Similar retention with fewer reviews, or higher retention for the same effort |
Does any of this matter to a learner?
Honestly, less than the internet debates would suggest, and here is the useful way to think about it. Both algorithms deliver the thing that actually matters, which is spaced retrieval at expanding intervals. The gap between doing spaced repetition badly and not doing it at all is enormous. The gap between SM-2 and FSRS is real but small by comparison - mostly it is efficiency, fewer reviews for the same memory, which is worth having but is not the difference between learning and not learning.
So the order of priority for anyone learning vocabulary is: first, review by retrieval rather than rereading; second, space those reviews instead of cramming; and only third, and distantly, worry about which scheduler is under the hood. If an app is doing the first two, it is already doing the thing that works. The algorithm is an optimisation on top of a method that is doing the heavy lifting either way.
It is also worth saying that the whole schedule is pointless if the review itself is passive. An algorithm can pick the perfect day for a card to return, but if you flip it without trying to recall the answer, no schedule can save the session. That is why active recall comes first: the algorithm decides the timing, but retrieval is what builds the memory.
Where MindDory fits
MindDory schedules your reviews with a spaced repetition algorithm in this family, so the timing question above is handled for you - you do not configure ease factors or retention targets, you just clear the day's queue. What MindDory adds around the scheduler is the part most tools leave to you: capturing the words in the first place, from a book you scan or your AI chats, and wrapping each one in a memory cue so the retrieval has something to hold on to. If you are weighing tools, the piece on Anki alternatives for language learning covers where a modern app helps, and the spaced repetition explainer covers the principle both algorithms are built to serve.