Learning Science
SM-2 Explained: The Algorithm Behind Anki and Mnemova
"Spaced repetition" describes the idea. SM-2 is one specific way of implementing it — a formula for deciding exactly when you should see a given flashcard again, based on how well you just recalled it. It was published by Piotr Wozniak in 1987 as the scheduling algorithm behind SuperMemo, and it later became the basis for Anki's default scheduler and, in a modified form, the engine behind Mnemova. It's worth understanding, because it explains why your review queue looks the way it does on any given day.
The three numbers SM-2 tracks per card
SM-2 doesn't schedule your whole deck on one timeline — it gives every individual card its own three numbers, updated every time you review it:
- Repetition count (n)— how many times in a row you've recalled this card correctly. Resets to zero the moment you get it wrong.
- Ease factor (EF)— a multiplier, starting around 2.5, that represents how "easy" this specific card has been for you historically. It nudges up when you consistently get a card right with little effort, and down when you struggle with it.
- Interval (I) — the number of days until the card is due again.
How the interval grows
The first time you see a card and get it right, the interval is short — often one day. Get it right again, and it jumps to around six days. From the third correct review onward, the formula is:
I(n) = I(n − 1) × EF
In plain terms: each successful review multiplies the previous interval by the card's ease factor. A card with an ease factor of 2.5 that was last reviewed after 6 days will next be due in 15 days; after that, roughly 37 days; then over three months. This is why well-known cards fade to rare, brief check-ins instead of cluttering your daily queue forever — the algorithm is actively trying to stop showing you things you clearly already know.
What happens when you get a card wrong
A failed recall resets the repetition count to zero and drops the interval back down to something short, so the card re-enters an early, frequent review pattern — as if you were learning it for the first time, but usually not from a completely blank slate. The ease factor also takes a hit, so a card you consistently struggle with will grow its intervals more slowly than one you find easy, even after both are eventually "learned."
Why grading yourself honestly matters
SM-2's original design asks for a quality score from 0–5 on each review, not just right/wrong — did you recall it instantly, or after real hesitation? That distinction changes the ease factor calculation. Marking something as "easy" when it actually took you a few seconds of struggle inflates the ease factor artificially, which pushes future reviews out further than they should be — and the card quietly slips through the cracks. The algorithm can only schedule as well as the input it's given.
Where Mnemova diverges from vanilla SM-2
The original 1987 algorithm is simple by design, and modern implementations — including Mnemova's — build on it rather than using it unmodified. Two common adjustments: smoothing out how aggressively the ease factor changes after a single review (so one unlucky guess doesn't permanently tank a card's scheduling), and applying small randomized "fuzz" to intervals so that cards learned in the same session don't all come due on exactly the same day and pile up. The core idea — grow the interval when you know it, shrink it when you don't — stays the same across every variant.
You don't need to think about any of this math while studying — that's the point of automating it. But understanding it explains a lot of what otherwise feels mysterious about a spaced repetition app: why some cards vanish from your queue for months, why a single slip can bring a card back the next day, and why consistent daily review compounds so much faster than occasional long sessions.