Thursday, June 18, 2026

Spaced Repetition for Chess Openings: The Complete FSRS Guide

Spaced Repetition for Chess Openings: The Complete FSRS Guide
Antoine··15 min read

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.

What this article covers (and what it does not).

This is the HOW article: the technical FSRS algorithm, DSR memory model, retention math, optimizer settings, SM-2 comparison, and tool landscape. If you want the WHY - a plain-language overview of why spaced repetition works at all - read Spaced Repetition for Chess: Why It's the Most Effective Way to Learn Openings first. The product-side overview is the spaced repetition feature page.

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, leaning on the well-documented spacing effect in human memory. 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 - written for readers new to the concept - is covered in our companion 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, a result now described as the forgetting curve. 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, recall fades sharply within the first day and continues to drop over the following week. Drill that same position across several spaced reviews and recall after a month is comfortably high. 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.

Caro-Kann Advance Variation, position after 1.e4 c6 2.d4 d5 3.e5
Caro-Kann Advance starting position after 1.e4 c6 2.d4 d5 3.e5. A spaced repetition scheduler treats this single FEN as one card; the move-order arrival is irrelevant. The card is reviewed when retrievability drops near your retention target, not on a fixed weekly schedule.

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 x 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. For a head-to-head comparison of the two algorithms specifically for chess, see FSRS vs SM-2 for chess.

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 hundreds of millions of reviews across roughly 10,000 Anki collections (the public Anki revlogs 10k dataset). On the primary metric, log loss in retention prediction, FSRS-6 with recency weighting shows clear and consistent superiority over SM-2 across those collections. Translated to the practical chess workflow: FSRS requires roughly 20 to 30 percent fewer reviews than SM-2 to hit the same retention target (per the open-spaced-repetition/srs-benchmark dataset). For a 1,500-card repertoire drilled at 90% retention, that is a meaningful chunk of review time saved per week, every week, indefinitely.

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) consistently report similar review-count reductions in practice once 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 to 3000 cards. At that scale, even a small per-card 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. The full discipline of merging transpositions in a repertoire is covered in how to handle transpositions in your opening repertoire.

Queen's Gambit Declined position reachable from multiple move orders
A standard QGD-type tabiya reachable from 1.d4 d5 2.c4 e6 3.Nc3 Nf6 4.Nf3 c5 or via Reti and English move orders. Position-based scheduling treats this as one card; sequence-based scheduling treats it as several.

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. The full deviation-detection workflow is documented in how to turn every chess game into opening improvements. Free tier covers basic repertoire training. See the spaced repetition feature page.

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.

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, see our ChessAtlas vs Chessable comparison), Chess Position Trainer (custom legacy scheduler closer to SM-2), and most browser-based opening explorers (no scheduler at all, just a tool to click through positions). For a side-by-side, see best Chessable alternatives 2026 and ChessAtlas vs Chess Tempo.

Comparison at a glance

ToolSchedulerPersonalizedConfigurable retention
ChessAtlasFSRSYesYes
Anki 23.10+FSRS (built-in)YesYes
ChessbookFSRS 4.5YesYes
ChessdrillerFSRS (community)YesYes
ChessableSM-2-derivedNoNo
Chess Position TrainerLegacy customNoNo
Lichess Opening ExplorerNonen/an/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 to 90%. The math: each step up in retention costs more review time, and 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 to 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. Anchor the habit to an existing one (morning coffee, evening commute) rather than relying on willpower.

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. 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 to 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 few percent cost a disproportionate amount of review time. Set 90 to 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.
  • 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.

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 on the Expertium benchmark across hundreds of millions of reviews, requiring roughly 20 to 30 percent fewer reviews for the same retention target.
  • Chess opening study specifically benefits from FSRS due to line heterogeneity, transposition merging, repertoire scale, and tournament cycle pressure.
  • 10 to 15 minutes daily drilling, 90 to 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 if you arrived here expecting an introduction to the concept itself, read the companion overview: spaced repetition for chess: why it's the most effective way to learn openings. The product side of FSRS at ChessAtlas is on the spaced repetition feature page. To start from the basics, how to build your first opening repertoire is the entry point. For the broader study framework that this scheduler plugs into, see how to study chess openings: the complete 2026 guide.

Sources and Further Reading

Comments

Leave a comment

Last updated: Jun 13, 2026

Share this article
Share this post