Spaced repetition algorithms
We forget: as time increases, our retention decreases. That’s the forgetting curve.

If you review, you can bump the retention back up repeatedly, and flatten out the curve to improve long term retention

The point is, we want to optimize the review intervals for efficient memory retention.
The older algorithm in Anki was based on SM-2:
- make things you want to remember into question-answer pairs
- review each pair in intervals, the following interval is calculated by multiplying the previous interval by an ease factor
- the ease factor is affected by the buttons you press - easy/hard/good/again
- the lower the ease factor, the slower the intervals grow
- you can end up in ‘ease hell’, where you see a card too often if you never press ‘easy’ on a card
FSRS uses three components of memory:
- stability: days required for probability that you recall something to drop from 100% to 90%.
- retrievability: the probability of recalling a specific memory at a given moment. Depends on time since last review and memory stability.
- difficulty: the complexity associated with a specific memory, represents how hard it is to increase memory stability after a review
Each card has its own values for these three things.
A user only needs to set desired retention, and FSRS will optimize parameters to keep the memory curve above that value.