Verbamor Download the appDownload
All posts Download the app
Product

How FSRS schedules your reviews (under the hood)

Every card in your deck is secretly three numbers. Here's what they mean, how your grades move them, and why this particular algorithm earned its job on a billion real reviews.

You tap Good on el bosque and the card vanishes for 12 days. Why 12? Why not 10, or 15? Why does your friend's identical card wait 8? Somebody decided, and that somebody is an algorithm with a published paper, an open-source repo, and strong opinions about your memory.

It's called FSRS, the Free Spaced Repetition Scheduler, created by Jarrett Ye and collaborators and battle-tested by the Anki community. Verbamor runs it under the hood. Here's the actual machinery, no math degree required, because a tool that decides your daily 20 minutes deserves to be inspectable.

Three numbers per card

FSRS models every card as three quantities, the DSR model:

  • Difficulty (D): how stubborn this particular card is for you. Hola is a 1; the subjunctive trigger phrase your tutor keeps sighing about is a 9. Difficult cards grow their intervals more slowly.
  • Stability (S): how long the memory lasts. Formally: the days until your recall odds sag to 90%. Stability is the number your reviews are trying to grow, from hours at first to, eventually, years.
  • Retrievability (R): the odds you'd recall it right now. This one falls on its own, every day, along a forgetting curve. It's the live, per-card version of what Ebbinghaus drew in 1885.
One card's life: R falls, reviews reset it, S grows 90% target review 1 review 2 review 3 time → 100%
Each successful review at the 90% line boosts stability, so the next slide down takes longer. The gaps stretch on their own.

Two details separate this from older models. The forgetting curve FSRS fits is a power curve, which matches large-scale review data better than the exponential everyone drew for a century: fast early decay, then a longer, flatter tail. And stability, difficulty, and your review history all interact; the model was fitted to how memory actually behaves in the wild, not to a formula someone liked in the 80s.

What happens when you grade

Every grade is a tiny experiment, and your tap is the result coming back. Roughly:

  • Good: the model was right to schedule you now. Stability jumps (the biggest jumps come from succeeding when R had sagged, the desirable difficulty payout, formalized). Next interval: longer.
  • Hard: you made it, barely. Stability grows a little, difficulty ticks up, the next interval stretches cautiously.
  • Easy: the model undershot. Big stability jump, difficulty ticks down.
  • Again: the memory wasn't where the model thought. Stability takes a real haircut (it doesn't reset to zero; relearning is faster than learning, as Ebbinghaus's savings showed). Difficulty rises, and the card comes back soon.

This is why honest grading is a mechanical requirement rather than a virtue. The model is running a regression on your taps. Polluted data, polluted schedule.

One card, six weeks

Follow el bosque through its first month and a half, with illustrative numbers:

  • Day 0. You learn it. Stability starts small, call it 2 days. The card is due day 2.
  • Day 2. R has sagged to ~90%. You produce it after a beat: Good. Stability jumps to ~6 days.
  • Day 8. Good again, a cleaner recall this time. Stability ~18 days. The gaps are compounding.
  • Day 26. You blank, then recognize it on the flip: Again, if you're honest. Stability takes a haircut to ~8 days, difficulty ticks up, and it comes back tomorrow for a quick relearn.
  • Day 27, then day 36. Two solid Goods. Stability climbs past 3 weeks, now on a slightly more cautious track because the model learned this word runs stubborn for you.

Six weeks, 6 reviews, maybe 50 seconds of total screen time, and the card has gone from hours-fragile to weeks-stable, with one honest failure priced in along the way. Multiply by 600 cards, each on its own track, and you can see why nobody schedules this by hand.

The 90% dial

Here's the design decision I find most elegant: FSRS doesn't actually schedule "when you'll forget." It schedules to a desired retention target, and the default is around 90%: each card comes back when your predicted recall has sagged to 9-in-10.

Why not 99%? Cost. Retention and workload trade off brutally. Holding 99% means reviewing everything constantly for a sliver of extra recall; dropping to 90% cuts the daily pile enormously while keeping most of the memory. And the occasional miss isn't even waste; a failed retrieval plus correction is itself a potent learning event. The dial is set where the math and the memory research agree the value is.

The dial also explains a feeling every spaced-repetition user knows: reviews are never comfortable. Of course they aren't. The system is deliberately showing you each card at the moment your recall has decayed to its shakiest acceptable point. If your reviews felt easy, the scheduler would be wasting your time, showing you things too early. The 10% you miss isn't a bug in you; it's the operating point.

The scheduler's promise is precise: every card, surfaced at the moment its odds hit 90%. What it costs you is arithmetic.

Why FSRS, and not the 1987 algorithm

The previous default across flashcard land was SM-2, from SuperMemo, published in 1987: a fine piece of work that's older than most of its users, with hand-picked constants and no learning from your history beyond a single "ease" number that mostly ratchets down.

Anki veterans know SM-2's failure mode by name: "ease hell," where a run of lapses drags a card's ease factor down and the algorithm responds by showing it more and more often, forever, with no mechanism to forgive. FSRS doesn't have the trap, because it isn't following a ratchet; it's re-estimating an actual memory model after every tap, in both directions.

FSRS's origin is different: Ye, Su and Cao's 2022 paper (KDD '22) built the memory model on hundreds of millions of real reviews from a language-learning app, framing scheduling as an optimization problem. Since then, the open-source community has maintained a public benchmark comparing schedulers on roughly 1.7 billion reviews from about 20,000 learners. FSRS predicts actual recall more accurately than SM-2 and its variants, consistently, which is the whole job.

The receipts
0B
real flashcard reviews in the public benchmark it's tested on
0
learners' histories in that benchmark, roughly
0
parameters in FSRS-6, re-fitted to your personal review history
Benchmark maintained in the open by the Open Spaced Repetition project; anyone can rerun it.

The 21 tweaks

The current generation, FSRS-6, has 21 fittable parameters: how fast difficulty drifts, how much a Hard differs from a Good, the shape of your personal forgetting curve, and so on. They ship with defaults learned from the crowd, which already work well.

Then, as your reviews pile up, Verbamor re-fits them to you. Maybe you're a fast forgetter with a great Again-recovery. Maybe images do unusual work for you. A few thousand reviews in, the parameters have quietly bent toward whoever you turn out to be, and the 12-day interval on el bosque really is your 12 days, not the average learner's.

That's the machine. Three numbers per card, a grade-driven update, one honest dial, and a benchmark anyone can audit. You never have to think about any of it again, which was always the point. But now when a card disappears for 12 days, you know exactly who decided, and on what evidence.

And if you're the type who wants to audit it yourself: everything above is public. The algorithm spec, the benchmark code, the parameter definitions, all of it sits on GitHub under the Open Spaced Repetition project, argued over in the open by people who care an unreasonable amount about your flashcards. Memory science with a changelog.


Sources

The forgetting curve foundation

The FSRS algorithm

Benchmarked on real reviews

  • Open Spaced Repetition (ongoing). SRS benchmark. ~1.7B reviews, ~20k learners; FSRS vs. SM-2 and others.

Every load-bearing claim Verbamor makes is traced to its paper on the research page.

Research-grade scheduling, zero spreadsheets.

Verbamor runs FSRS on every card, fits its 21 parameters to your real reviews, and hands you the one number that matters: today's 20 minutes.

Download the app