What is FSRS?
FSRS decides when to show you a card again. This is what it is doing, in plain language, and why it replaced the algorithm most flashcard apps used for thirty years.
Every spaced repetition system answers one question: when should I see this card again? Too soon and you waste time on things you already know. Too late and you have forgotten it and are learning from scratch.
FSRS — the Free Spaced Repetition Scheduler — is the current best answer to that question. It is the algorithm DecksMD schedules with, and it is what Anki switched to as well.
The three numbers
SM-2, the algorithm most flashcard software used from the 1980s onwards, tracks a single number per card: an ease factor. Answer well and the interval is multiplied by it; answer badly and the ease drops. It is simple, it works, and it conflates several different things into one dial.
FSRS separates them into three:
Stability — how long the memory will last. Concretely, the number of days until your chance of recalling the card falls to 90%. A card you have known for months has high stability; one you learned this morning has almost none.
Difficulty — how hard this particular card is for you, on a scale of 1 to 10. Some material is stubborn no matter how often you see it. Difficulty captures that, instead of punishing the whole card’s schedule for it.
Retrievability — the probability you would recall the card right now. It decays as time passes since the last review, and how fast it decays depends on stability.
Splitting these apart is the entire idea. A card can be difficult but stable — you find it awkward, yet you have drilled it enough that it sticks. Under SM-2 those two facts fight over one number. Under FSRS they do not.
Retention targets
Because FSRS models retrievability explicitly, you can tell it what you actually want: how often you are willing to forget.
That is the retention target. At 90% — the sensible default — the scheduler aims to show you each card at the moment your recall probability has decayed to 90%, so you forget roughly one card in ten at review time.
Raise it to 95% and you will forget less and review considerably more. Lower it to 85% and you will review less and forget more. There is a floor to this: below roughly 80%, the relearning caused by all that forgetting costs more reviews than you saved. The setting is a genuine trade, not a quality dial.
In DecksMD the target is set per profile, so you can hold exam material to a higher standard than background reading.
Why it beats SM-2 in practice
Not because it is cleverer in the abstract, but because of where the reviews go. SM-2 tends to over-review mature cards — material you have known for a year still comes round more often than it needs to — and under-review the cards you keep lapsing on. FSRS reallocates that effort. For a given amount of daily review, more of it lands on the material actually at risk of being forgotten.
The practical effect for most people is fewer daily reviews at the same retention, or better retention for the same number of reviews.
Tuning it on your own memory
The shipped weights are averages over an enormous number of reviews by other people. Your memory is not the average.
After roughly 100 reviews, DecksMD can train FSRS’s weights against your own review history. It follows the reference methodology — an Adam optimizer over binary cross-entropy loss, a cosine-annealed learning rate, and parameter clipping against the published FSRS-6 bounds — with the number of training steps scaling to the size of your history. You get a before-and-after log-loss so you can see whether it actually helped.
Two things worth stating plainly:
It runs entirely on your device. No server, no upload, no telemetry. Your review history never leaves your vault.
The defaults are already good. DecksMD’s implementation has been validated against the published FSRS-6 specification — 1396 of 1396 forward-pass cases match bit-exact — and benchmarked against 443M anonymised Anki reviews, where the calibration of the shipped defaults agrees with empirical recall to within 0.8 percentage points. Optimising is worth doing, but you are not starting from a bad place.
See Algorithm tuning for how to run it.
What you actually have to decide
Almost nothing, which is the point. Pick a retention target, review the cards you are shown, and answer honestly — Again, Hard, Good, Easy. Answering honestly matters more than any setting on this page, because every number above is inferred from those four buttons.
More detail in How scheduling works.
Common questions
What does FSRS stand for?
Free Spaced Repetition Scheduler. It is an open algorithm for deciding when a flashcard should next be reviewed, developed as a successor to the SM-2 algorithm used by most flashcard software since the 1980s.
What is the difference between FSRS and SM-2?
SM-2 tracks a single ease factor per card and multiplies the interval by it. FSRS models memory with three separate quantities — stability, difficulty and retrievability — and schedules against a retention target you choose. In practice it wastes fewer reviews on cards you already know well.
What retention target should I use?
90% is a sensible default. Higher means more reviews for fewer lapses; lower means fewer reviews and more forgetting. Below roughly 80% the extra relearning tends to cost more than the reviews you saved.
Do I need to optimise the FSRS weights?
No. The shipped defaults are well calibrated. After roughly 100 reviews you can train the weights on your own history if you want schedules fitted to your own forgetting curve.
Does DecksMD send my review history anywhere to optimise it?
No. Training runs entirely on your device. There is no server involved and no telemetry.
Try DecksMD
Free and open source. Install from Obsidian's Community Plugins, tag a note you have already written, and review it a minute later.