Skip to content

Algorithm tuning

FSRS ships with sensible defaults that work well out of the box. Once you’ve accumulated ~100 reviews, you can train the algorithm’s weights against your own review history and get schedules tailored to your specific forgetting curve — the same kind of thing Anki desktop does, but fully client-side: no server, no telemetry.

Open Settings → Algorithm tuning → Optimize parameters.

  • Training runs in seconds for typical decks.
  • You’ll see a before/after log-loss comparison.
  • Click Apply to use the trained weights, or Discard to keep the defaults.
  • Re-train any time to refine the weights as you accumulate more reviews.

Trained weights are global but applied per-profile. To opt a profile in, pick Trained in its FSRS profile dropdown.

  • Intensive profiles keep their sub-day defaults.
  • Existing card data is preserved through training — nothing is reset.

The optimizer matches the open-spaced-repetition reference methodology: an Adam optimizer over binary cross-entropy loss, a cosine-annealed learning rate, and parameter clipping against the published FSRS-6 bounds. The number of training steps scales with the size of your review history (more reviews → more iterations).

The implementation has been validated against the published FSRS-6 spec (1396/1396 forward-pass cases match bit-exact) and benchmarked against 443M anonymized Anki reviews — the calibration of the shipped defaults agrees with empirical recall to within 0.8 percentage points.