In 1987, a Polish researcher named Piotr Wozniak published the SM-2 algorithm. It was the engine behind every flashcard app that mattered for the next thirty years. Anki shipped it as the default in 2006. Quizlet copied it. Tinycards, Mnemosyne, every clone, all SM-2 underneath.
In 2024, Anki replaced SM-2 with FSRS as the default scheduler. Most users did not notice. The few who did wondered what changed and why.
This post is the answer.
FSRS (Free Spaced Repetition Scheduler) is an open-source memory scheduling algorithm that models forgetting as three variables (difficulty, stability, and retrievability) and predicts recall probability with 99.6% greater accuracy than SM-2.
SM-2 is the 1987 spaced repetition algorithm by Piotr Wozniak that powered Anki and most flashcard apps for thirty years until FSRS replaced it as the standard in 2024.
FSRS predicts recall 99.6% more accurately than SM-2 and needs 20–30% fewer reviews for the same retention. Anki adopted it as default in 2024. Atomus uses it from day one. RemNote, Mochi, and every credible new entrant in 2026 ship FSRS first. SM-2 had a great run; it's not the right default anymore.
Why SM-2 worked in 1987 (and why it doesn't now)
SM-2 is elegant for its time. Three variables per card (interval, ease factor, repetitions) and a small set of rules: get a card right, multiply the interval by the ease factor; get it wrong, reset.
It worked because it was the first algorithm to systematically space reviews based on per-card performance. Compared to flat schedules or paper Leitner boxes, SM-2 was a leap.
The problem is that SM-2 was built before any of this:
- Personal computing data. Wozniak had no review logs to test against. He tuned the constants by intuition.
- Modern statistical modeling. SM-2 has no concept of probability. It does not predict whether you will recall a card on day N; it just schedules a review.
- Heterogeneous learners. SM-2 assumes everyone forgets at roughly the same rate. The "ease factor" is a per-card hack to compensate.
- Real-world failure modes. SM-2 punishes failures by resetting intervals to almost zero. This works for binary "I know it / I don't" cards. It is brutal for cards you mostly remember but slipped on.
The modern critique, summarized: SM-2 is a heuristic from before we had the data to do better, dressed in a parameter the user is supposed to tune by feel.
How FSRS works
FSRS models memory using three variables, derived from the DSR model (difficulty, stability, retrievability):
- Difficulty (D). How hard this specific card is for you. Higher difficulty means stability grows more slowly with each review.
- Stability (S). How long the memory is expected to last. Stability is the number of days until your retrievability drops to 90%.
- Retrievability (R). The probability you can recall the card right now, as a function of how long it has been since the last review.
The scheduler's job is simple: predict R, schedule the next review when R drops to a target threshold (90% by default), and update D and S based on whether you got it right.
The math is a curve called the forgetting function:
R(t) = (1 + t / (9 × S))^(-1)
That single equation does what SM-2 cannot: give you a probability. You can tell FSRS "I want to remember this 90% of the time" or "I want to remember this 80% of the time" and the scheduler will respect that target.
The difficulty and stability updates after each review are learned from data. The open-source FSRS project has trained the parameters on millions of real Anki reviews, and you can fit FSRS to your own review history if you want. SM-2 has no equivalent.
The data: FSRS vs SM-2 benchmarks
The SRS benchmark project compares scheduling algorithms on real review data from thousands of Anki users. The 2026 numbers:
| Algorithm | Log loss vs SM-2 | Win rate |
|---|---|---|
| SM-2 (Anki classic) | baseline | — |
| FSRS-4.5 | -25% | 96.8% |
| FSRS-5 | -28% | 98.7% |
| FSRS-6 | -32% | 99.6% |
| FSRS-7 (2026) | -33% | 99.7% |
FSRS-6 is more accurate than SM-2 for 99.6% of users tested. Not 60%, not 80%. 99.6%. The handful of users where SM-2 wins tend to be edge cases (very few cards, very short review history).
The other number that matters: efficiency. For the same retention target (say, 90%), FSRS schedules approximately 20–30% fewer reviews than SM-2. That is real time saved, every day, for every user.
For an interactive comparison of how often each algorithm wins per user, see the live benchmark dashboard at github.com/open-spaced-repetition/srs-benchmark.
Why developers should care
If you are building or evaluating spaced repetition tools and you are technical, here is what the FSRS shift actually means for you:
With FSRS you set a retention goal (90%, 95%, whatever) and the scheduler optimizes for it. With SM-2 you tune ease factor by feel and hope. Those are different products.
FSRS is open-source under MIT. The Python implementation is 200 lines you can read end to end. SM-2 is a 1987 paper plus thirty years of patches inside Anki's codebase.
Your stability and difficulty values per card are interpretable numbers. You can export them, reason about them, port them to another tool. SM-2's ease factor is a per-app hack that doesn't travel.
Because FSRS has parameters you can fit, you can train it on your own review logs. People with thousands of reviews are getting 5–10% extra accuracy from personal-fit parameters over the defaults.
FSRS gives you actual probabilities. That sounds boring until you realize it unlocks smart deadlines that front-load reviews before an exam, optimal scheduling for limited daily review budgets, retention-target sliders. None of these are clean to build on SM-2.
SM-2 is a scheduling heuristic. FSRS is a memory model. The first answers "when should I review this next?" The second answers "what is my probability of remembering this in N days, and how does each review change that?" The second is strictly more useful.
What this means for the apps you use
A quick scorecard for the major spaced repetition tools as of May 2026:
| Tool | Algorithm | Default? |
|---|---|---|
| Anki | FSRS-6 | ✅ default since 2024 |
| Atomus | FSRS-6 | ✅ only option |
| RemNote | SM-2 or FSRS | switchable; FSRS recommended |
| Mochi | Custom (FSRS in beta) | beta |
| Quizlet | Proprietary | unknown internals |
| obsidian-spaced-repetition | SM-2 (FSRS opt-in) | SM-2 still default |
The tools that ship FSRS as the only option (no SM-2 fallback) are the ones built in or after 2023, when the benchmark data became overwhelming. Anki has the harder problem: millions of users with years of SM-2 history. It's doing the migration carefully.
If you care about your time-to-retention ratio, the algorithm under the hood is not a detail. It is the product.
How Atomus uses FSRS
Atomus ships FSRS as the only scheduler. There is no setting to switch it off, because making the better algorithm an option you have to find buried in preferences is a 2010s mistake.
Specifically:
- Default retention target: 90% (you can change it per-deck if needed).
- Per-card parameters (D, S, R) are stored in Atomus's local database, never written into your
.mdfiles. See why the format matters. - The scheduler is the official Rust implementation of FSRS-6, with FSRS-7 fractional-interval support coming.
- Reviews appear in the macOS notch when R drops to your retention target, not on a fixed daily schedule, not at a "study time" you have to allocate.
The comparison post covers how this stacks up against Obsidian plugins and other spaced repetition tools. The short version: FSRS is now table stakes; the actual differentiation in 2026 is what the app does with the schedule (notch, no plugin pollution, AI-readable atoms), not whether it has FSRS.
Key points
- FSRS is the standard spaced repetition algorithm in 2026, used by Anki, Atomus, RemNote, Mochi, and every credible new entrant.
- It predicts recall 99.6% more accurately than SM-2 and needs 20–30% fewer reviews for the same retention.
- It models memory as three variables (difficulty, stability, retrievability), not a single "ease factor".
- It's open-source, fittable to your own review history, and produces interpretable parameters.
- For developers, FSRS unlocks retention targets, smart deadlines, and optimal scheduling that SM-2 can't support cleanly.
FAQ
What is FSRS? FSRS (Free Spaced Repetition Scheduler) is the modern algorithm used by Anki, Atomus, RemNote, and most credible spaced repetition apps in 2026. It models memory as three variables (stability, difficulty, and retrievability) and predicts when you'll forget each card.
Why is FSRS better than SM-2? FSRS is 99.6% more accurate than SM-2 at predicting recall, according to the open-source benchmark on millions of real reviews. It also needs roughly 20–30% fewer reviews to maintain the same retention rate.
When did Anki switch to FSRS? Anki added FSRS as an opt-in feature in version 23.10 (November 2023) and made it the default scheduler in 2024. By 2026 it is the standard in every actively maintained spaced repetition tool.
Is FSRS the same as SuperMemo? No. SuperMemo developed the SM family of algorithms (SM-2 through SM-18). FSRS is a separate, open-source algorithm developed by the open-spaced-repetition project. It is influenced by SuperMemo's research but is not a derivative of it.
What is the latest version of FSRS? FSRS-7 was released in 2026. The latest published Python package is 6.3.1. Versions 5, 6, and 7 are all considered production-ready; the differences are mostly in how they handle same-day reviews and fractional intervals.
Does Atomus use FSRS? Yes. Atomus uses FSRS by default and there is no way to switch back to SM-2. The whole point of building a new spaced repetition app in 2026 is to default to the better algorithm, not to make it an option you have to find in settings.
What to do with this
If you are using SM-2-by-default and have a few hundred cards or more, switch to FSRS in your tool of choice. Anki, RemNote, and most Obsidian plugins now support it; the migration is one toggle.
If you are evaluating new spaced repetition tools, the algorithm under the hood is now a real differentiator only when it is not FSRS. Any tool still defaulting to SM-2 in 2026 is one or two product releases behind.
If you are on a Mac and you want a tool that ships FSRS as the only option, reads your markdown without modifying it, and slides reviews down from the notch when they are due, try Atomus. The algorithm is settled. What is left is whether the tool around it stays out of your way.
