The SM-2 Algorithm Actually Is Too Aggressive on Substantially Overdue Cards

1 minute read

I did an informal study on my 13 years of Anki spaced-repetition history to settle a team question at RemNote: is our “Anki SM-2” algorithm (and Anki’s SM-2 algorithm itself) too aggressive when scheduling overdue cards?

Somewhat to my surprise, and also to my embarrassment because I’ve been defending the current behavior without data for many years, the answer appears to be yes – although it overshoots by much less than most people who complain about it think it does. More specifically, it is systematically biased, overshooting more the more a card is overdue, with the chance of remembering a card on the review after an overdue review dropping off from my collection average of around 87% to 75% as the amount of overdueness decreases from a day to a year:

Bar graph of answer buttons selected on after-overdue reviews, by days overdue

I don’t have enough data beyond 1 year to draw many conclusions, but the trend at the beginning is clear. It would seem to make sense to tweak the algorithm to apply less of an overdueness bonus to cards if they are more overdue.

There are some more nuances and things that would be useful to check/explore next, but this is all I have time to investigate at the moment, so I figured I would share it as is.

Read my full report for more details on how the algorithm currently works, how I came to these conclusions, and speculation on why the seemingly theoretically sound approach to adding overdueness bonus might not work as well in practice. (R Markdown source if you want to try reproducing this yourself on your own collection. Let me know what you find!)