Spaced Repetition for Chess Openings: The Complete FSRS Guide

Disclosure: ChessAtlas uses FSRS as our core scheduler. We've aimed for an accurate, source-backed guide. Readers should weigh our perspective accordingly.
By Antoine Tamano, building ChessAtlas. Last updated May 2026.
Spaced repetition is the science of forgetting. Applied to chess opening training, it transforms a memory problem into a math problem: when, exactly, should you see the Najdorf English Attack 7.f3 sub-variation again so it sticks for your tournament next month? Get the timing right and you retain hundreds of positions on 15 minutes a day. Get it wrong and you spend hours on cards that no longer need review while losing the lines you actually needed.
Most chess study fails not at acquisition but at retention. You learn a Caro-Kann line in March; you can't recall it cleanly in May. This guide covers the algorithms that solve that problem - FSRS (Free Spaced Repetition Scheduler) and SM-2 (the SuperMemo algorithm from 1987) - the chess-specific reasons one outperforms the other, and the tools that implement each. By the end, you should know which scheduler your trainer uses, what retention target makes sense for your goals, and how to drill 1500-card repertoires without burning out.
Why spaced repetition for chess openings?
Memorizing openings by repetition alone scales linearly. A 200-line repertoire takes ten times the work of a 20-line one. Spaced repetition breaks that linearity by scheduling each line for review just before you would forget it. The curve flips: a line you've recalled five times correctly might next surface in two months; a line you keep failing surfaces tomorrow. Time spent per line drops as memory stabilizes, and your daily review queue becomes a function of which lines are fragile right now, not how many lines you have total.
For chess specifically, opening lines have heterogeneous difficulty. The 6.Bg5 main line of the Najdorf might stabilize in three reviews while a sub-variation off 7...Be7 8.Qf3 Qc7 9.O-O-O Nbd7 takes fifteen. Fixed-interval methods (review every Tuesday, drill the whole repertoire every month) waste time on stable lines and lose fragile ones. Spaced repetition with personalized scheduling handles both correctly, automatically.
The deeper philosophical case for spaced repetition in chess is covered in our overview - spaced repetition for chess: why it's the most effective way to learn openings. The current pillar focuses on the technical depth: which algorithm, why, and how to use it.
The forgetting curve, applied to chess
Hermann Ebbinghaus's 1885 self-experiments on syllable retention showed that memory decays exponentially without rehearsal. The shape of the decay - sharp drop in the first 24 hours, then flattening - has been replicated across language learning, medical training, and now chess. Each successful retrieval pushes the decay curve outward. A line you've recalled correctly four times has a flatter forgetting curve than one you've seen once.
For a chess position, the practical numbers look roughly like this without spaced repetition: see a position once, retain ~30% recall after 24 hours, ~10% after a week. Drill that same position five spaced reviews later and recall after a month is comfortably above 90%. The art of spaced repetition is timing the next review to land on the part of the curve where the position is starting to fade but isn't gone - retrievability around 90% is the conventional sweet spot for the SuperMemo family of algorithms.
The same principle applies to how deep you should go. Lines that surface in your real games every week barely need review at all - your tournament play is itself a retrieval event. Sidelines you've prepared but rarely face are the ones that need the algorithm. For the practical layer of how deep to memorize, see how deep should you learn your openings - a guide by rating level.
SM-2: the legacy algorithm
SM-2 was released by Piotr Wozniak in 1987 as the scheduler for SuperMemo 1.0 (per the SuperMemo Wikipedia entry). It uses a simple state machine. Each card carries an ease factor (default 2.5). On a successful review, the next interval is roughly previous_interval * ease_factor. On failure, the interval resets and the ease factor drops. Anki, the most widely used spaced repetition app on the planet, ran on SM-2 from its 2006 release through 2023 (per the Anki Wikipedia entry).
SM-2 still works. Players have memorized world-class repertoires on it for years. But four issues stand out for chess opening training:
- Ease is per-card but not per-user. Every player starts at 2.5 regardless of natural memory profile.
- "Hard" reviews permanently penalize ease. Repeated Hard ratings on a tricky line collapse the ease factor, forcing the line to surface daily long after you've actually mastered it. The Anki community calls this ease hell.
- No retention target. SM-2 cannot be asked "schedule for 90% recall" or "schedule for 95% recall." It just runs its multipliers.
- One algorithmic frame for heterogeneous content. A 4-move Italian Game setup and a 14-move Najdorf English Attack share the same scheduling logic, even though their failure modes are entirely different.
SM-2 still powers Chessable's MoveTrainer (an SM-2-derived scheduler with their own ease tweaks) and most legacy opening trainers. It's the default people inherit because the algorithm is freely documented (the original SuperMemo description is still online) and trivial to implement.
FSRS: the modern algorithm
FSRS - the Free Spaced Repetition Scheduler - was created by Jarrett Ye (a research engineer at MaiMemo) and released as an Anki add-on in late 2022. It became a built-in option in Anki 23.10 (October 2023) and is the recommended scheduler for new decks in modern Anki versions. The official repository is open-spaced-repetition/fsrs4anki on GitHub.
FSRS replaces SM-2's ease factor with a three-variable memory model called DSR:
- Difficulty (D): intrinsic hardness of the card on a 1-10 scale. Adjusted toward a default after each review (mean reversion).
- Stability (S): the number of days for retrievability to drop from 100% to 90%. The "memory durability" of the card. The larger S grows, the harder it is to push S higher (modeled with power functions).
- Retrievability (R): probability of recall right now, given the time since the last review. R drops as time passes.
FSRS optimizes its weights via gradient descent on your review history, using binary cross-entropy as the loss function (per the Expertium algorithm documentation). After a few hundred reviews, the parameters fit your personal forgetting curve. Critically, you can set an explicit desired retention - typically 85% to 95% - and FSRS schedules intervals so retrievability lands on that target at review time. At 90% desired retention, the next interval equals stability, by definition.
The benchmark numbers
The Expertium benchmark evaluates schedulers on roughly 350 million reviews across 9,999 Anki collections (the public Anki revlogs 10k dataset). On the primary metric - log loss in retention prediction - FSRS-6 with recency weighting shows 99.6% superiority over SM-2 across those collections. In practical terms, this means FSRS predicts your recall probability more accurately, which translates to fewer wasted reviews on cards you already remember.
The benchmark is honest about caveats: SM-2 wasn't designed to predict probabilities, so the comparison required adapter formulas. The point isn't that SM-2 is broken; it's that FSRS is measurably better at the prediction task that drives review scheduling. Community migrations to FSRS - including Chessbook's June 2024 announcement and many Anki user reports - confirm 20-30% fewer reviews at the same retention after the algorithm calibrates.
How FSRS handles a chess opening card
Each unique FEN position becomes one card. After each review, FSRS updates D, S, and R for that card and computes the next interval. A position you keep getting wrong has low S, stays scheduled tightly, and accumulates difficulty. A position you've cleanly recalled four times has high S, drops in difficulty, and stretches its interval to weeks or months. The Italian Game card might end up reviewed every three months; a sharp Najdorf English Attack sub-variation might surface every five days. Same algorithm, different equilibria, found automatically.
Why chess openings specifically benefit from a personalized scheduler
Vocabulary cards (the original use case for spaced repetition) tend to be uniform - one word, one definition. Chess positions aren't. Four properties of opening study amplify the gap between SM-2 and FSRS.
1. Heterogeneity of opening lines
A 4-move Italian setup is qualitatively easier to retain than a 14-move Najdorf English Attack with sub-variations. SM-2 schedules them both with the same multipliers. FSRS lets each card find its own equilibrium - the easy one stretches out fast, the hard one stays close.
2. Tournament cycle pressure
You play a handful of tournaments a year. Each one demands fresh recall on lines you might not have seen for months. Spaced repetition with an explicit retention target lets you say "schedule my repertoire for 95% recall this week" before a weekend open. SM-2 has no equivalent dial.
3. Repertoire scale
A serious club-level repertoire (one position per move-pair, transpositions deduplicated) typically runs 1500-3000 cards. At that scale, a 20-30% review reduction is measured in hours per month. The compounding savings is what makes deep repertoires sustainable for working adults.
4. Move-order chaos
FSRS-driven trainers schedule per FEN, not per move sequence. Two opening orders that reach the same position become one card. SM-2 implementations vary - many tools that pre-date the FSRS era still schedule per move sequence, multiplying transposing positions and inflating the deck. For a deeper treatment, see how to handle transpositions in your opening repertoire.
Tools that use FSRS for chess
ChessAtlas
FSRS is the default and only scheduler. The optimizer runs automatically as you accumulate reviews. ChessAtlas pairs FSRS with automatic Lichess and Chess.com game import plus a deviation finder - when you leave your prep in a real game, that position is pushed back into the FSRS-scheduled review queue. Free tier covers basic repertoire training. See ChessAtlas.
Anki + chess deck
Anki 23.10 and later has FSRS as a built-in scheduler option. You build the chess deck manually (one card per position) or import from PGN with community add-ons. Most flexible setup, but requires you to assemble and maintain the deck yourself. The ABC of FSRS wiki is the best onboarding resource.
Chessbook
Migrated from a custom scheduler to FSRS 4.5 in June 2024 (announced publicly by the Chessbook team). Imports from Lichess and Chess.com. Same 20-30% review reduction reported as the broader Anki community.
Chessdriller
Free open-source chess opening trainer with spaced repetition. Has FSRS support via the community implementation.
What is NOT FSRS
Chessable's MoveTrainer (SM-2-derived as of 2026), Chess Position Trainer (custom legacy scheduler closer to SM-2), and most browser-based opening explorers (no scheduler at all - just a database to click through). For a side-by-side, see ChessAtlas vs Chessable and ChessAtlas vs Chess Tempo.
Comparison at a glance
| Tool | Scheduler | Personalized | Configurable retention |
|---|---|---|---|
| ChessAtlas | FSRS | Yes | Yes |
| Anki 23.10+ | FSRS (built-in) | Yes | Yes |
| Chessbook | FSRS 4.5 | Yes | Yes |
| Chessdriller | FSRS (community) | Yes | Yes |
| Chessable | SM-2-derived | No | No |
| Chess Position Trainer | Legacy custom | No | No |
| Lichess Opening Explorer | None | n/a | n/a |
How to implement spaced repetition for your repertoire
Step 1: Build a position-based repertoire
Store one card per FEN position, not per move sequence. Transpositions automatically merge. Most modern tools do this by default - check yours. If your trainer creates a separate card for every move order that reaches the same tabiya, your deck is bloated and FSRS will work less well than it could.
Step 2: Set a retention target
For active tournament play, 95%. For casual improvement, 85-90%. The math: each step up in retention costs roughly 30% more review time (the relationship is non-linear because targeting 99% means catching the long tail of fragile cards far before they would naturally fail). 90% is the practical sweet spot for most amateurs - it's what the SuperMemo family was originally tuned for.
Step 3: Add cards as you study, not in batches
Build the repertoire incrementally over weeks. FSRS calibrates better with naturally-spaced additions than with one big import on day one. If you must bulk-import (e.g. moving an existing repertoire from Chessable), expect the first month to feel rough while the optimizer fits.
Step 4: Drill 10-15 minutes daily
Daily consistency beats long sessions. Missing one day is fine. Missing three or more days starts to break retention because the queue stacks. The conversational case is covered in how to retain chess openings with spaced repetition.
Step 5: Patch from real games
After every rated game, identify deviations from your prep and add the correction as a new card. This closes the loop between study and play. ChessAtlas automates this with its deviation detection workflow - see how to turn every chess game into opening improvements for the full pattern. In Anki you do it manually, which is fine - the discipline of writing the card is itself a learning event.
Step 6: Re-run the optimizer periodically
In Anki, run the FSRS optimizer after every 200 reviews. Default parameters are good; personalized parameters are better. ChessAtlas does this automatically; Anki requires a manual click in deck options.
Common spaced-repetition mistakes
- Too many new cards per day. 10-20 new positions max for chess. Positions need analytical understanding plus rote memory; you can't drill 100 new ones a day and expect retention. Vocabulary decks can absorb more new cards because each card is shallow.
- No real-game testing. Drilling alone doesn't test recall under time pressure. Mix in 15+10 or 30+0 games at minimum. The dashboard says "98% retention" while the real opponent forces a recall in 20 seconds with a clock running.
- Memorizing without understanding. If you can't explain the plan in one sentence, the card will fail under pressure. Add a one-line plan note to every position. How to memorize chess openings and actually remember them covers the chunking technique that makes this work.
- Skipping the optimizer. In Anki, run the FSRS optimizer after every 200 reviews. Default parameters are tuned to a generic median user; your personal forgetting curve is different.
- Targeting 100% retention. Diminishing returns kick in hard after 95%. The last 5% costs roughly as much review time as the first 90%. Set 90-95% and stop optimizing.
- Drilling lines you'll never see. If your sub-variation only fires 1% of the time, schedule it less often (or accept lower retention on it). Spending the same review time on a 1%-frequency line as on a main line is bad allocation. Most FSRS implementations don't expose per-card retention - if yours does, use it.
- Adding cards to memorize, not to play. A position is worth a card only if you'll actually face it. Pre-built courses often inflate the count with engine-recommended sidelines you'll never see at your level. Keep the deck honest. How to build a repertoire that sticks covers the curation step.
Quick recap
- Spaced repetition turns chess opening retention from a memory problem into a math problem.
- FSRS (DSR model: Difficulty, Stability, Retrievability) outperforms SM-2 by 99.6% log-loss superiority on the Expertium benchmark across ~350M reviews.
- Chess opening study specifically benefits from FSRS due to line heterogeneity, transposition merging, repertoire scale, and tournament cycle pressure.
- 10-15 minutes daily drilling, 90-95% retention target, position-based cards, real-game patches, periodic optimizer runs.
- FSRS-native chess tools: ChessAtlas, Chessbook, Chessdriller. FSRS opt-in: Anki 23.10+. Still on SM-2: Chessable's MoveTrainer.
Start drilling your chess opening repertoire with FSRS today. Create a free ChessAtlas account or read the deeper algorithmic comparison in FSRS vs SM-2 for chess. For the full study framework this algorithm plugs into, see how to build a chess opening repertoire that actually sticks and how to learn chess openings in 30 days. To start from the basics, how to build your first opening repertoire is the entry point.



