← All Findings
manual 85% relevant

FSRS: Free Spaced Repetition Scheduler - Modern Algorithm Implementation

learning-sciencespaced-repetitionalgorithmsimplementation

Abstract

Open-source implementation of modern spaced repetition scheduling backed by academic research, available in multiple programming languages.

Summary

The Free Spaced Repetition Scheduler (FSRS) represents the current state-of-the-art in spaced repetition algorithms for digital learning systems.

Key Features:

  • Backed by academic literature on memory modeling
  • Implementations in JavaScript, Golang, Rust, and Python
  • Adopted by Anki as an alternative to the legacy SM-2 algorithm
  • Uses machine learning to optimize scheduling parameters

Technical Approach:

  • Models memory stability and retrievability separately
  • Adjusts intervals based on actual learner performance data
  • Considers both item difficulty and learner ability
  • Open-source with active development community

Improvement Over Traditional Systems: Traditional algorithms like SM-2 use fixed multipliers (e.g., multiply interval by 2.5 on correct recall). FSRS uses probabilistic models that predict the optimal time to review based on desired retention rate.

Implementation Considerations:

  • Requires collecting user response data (correct/incorrect, response time)
  • Can be tuned to target specific retention rates (e.g., 90% vs 80%)
  • Higher target retention = more frequent reviews = more time investment

Read original