Guru
Blog / Spaced Repetition

FSRS vs SM-2: Which Anki Scheduler Should You Use?

TL;DR Use FSRS. SM-2 schedules every human with the same 1987 formula; FSRS fits a memory model to your review history and lets you choose a target retention. Benchmarks on hundreds of millions of real reviews consistently show FSRS predicting recall more accurately — which in practice means fewer reviews for the same retention. Desktop Anki has FSRS as an option; Guru schedules with FSRS out of the box on iPhone.

Where SM-2 came from

SM-2 was published by Piotr Woźniak for SuperMemo in 1987, and classic Anki's scheduler descends from it. The core is simple: every card carries an "ease factor" (starting around 2.5). Answer well and the next interval is the previous one times ease; answer "Hard" or fail and ease drops.

It works — decades of Anki users are proof. But the mechanics have known failure modes:

What FSRS does differently

FSRS — Free Spaced Repetition Scheduler, an open-source project by Jarrett Ye and collaborators — replaces the fixed formula with a model of memory. Each card is tracked with three quantities (the DSR model):

The parameters aren't hand-tuned constants: the optimizer fits them to your own review history. And instead of indirect knobs, you set the thing you actually care about — desired retention (say 0.90) — and FSRS schedules each card for the moment its recall probability is about to drop below that.

Two practical consequences:

  1. Fewer wasted reviews. Cards you know well get pushed out further than SM-2 would dare; genuinely hard cards come back sooner. In the open srs-benchmark project, run on hundreds of millions of real Anki reviews, FSRS variants consistently predict recall more accurately than SM-2 — that prediction accuracy is exactly what turns into saved reviews.
  2. No ease hell. A lapse updates stability and difficulty sensibly instead of permanently punishing the card.

The honest caveats

Switching without losing progress

On desktop Anki (23.10 or later): Deck Options → enable FSRS, set desired retention (0.85–0.95 is the sensible range; higher = more reviews), and click "Optimize" to fit parameters to your history. Your cards, history, and media are untouched — only future scheduling changes.

On iPhone: Guru uses FSRS natively — imported decks (.apkg with scheduling intact) continue from their existing state, and new AI-generated decks (straight from your PDFs) are FSRS-scheduled from card one. There's no toggle to find.

Picking a desired retention

The point of FSRS is that this trade-off is finally explicit: you choose the retention, the algorithm pays the minimum review cost to hold it.

← All posts