Spaced Repetition Interval Calculator (SM-2)
Compute the next review interval and ease factor using the SuperMemo SM-2 algorithm. Enter your current state and recall quality (0–5).
How the SM-2 calculator works
The SM-2 algorithm, published by Piotr Wozniak in 1987 for the SuperMemo software, schedules flashcards by combining two values: the interval (how many days until the next review) and the ease factor (how much the interval grows after each successful review). Every review updates both values based on your self-rated recall quality on a 0–5 scale.
This calculator takes one review as input — your current interval, current ease factor, repetition number, and quality score — and outputs the next scheduled interval plus the updated ease factor. It implements the original SM-2 as published. Modern Anki and other apps use variants that differ in detail, so numbers may vary slightly from what you see in an app.
The formulas
Ease factor update (every review):
EF_new = EF + (0.1 − (5 − q) × (0.08 + (5 − q) × 0.02)), floored at 1.3.
A quality of 5 adds 0.10. A quality of 4 adds 0.00 (leaves EF unchanged). A quality of 3 subtracts 0.14. A quality of 2 subtracts 0.32, quality 1 subtracts 0.54, quality 0 subtracts 0.80. The floor at 1.3 prevents stubborn cards from getting impossibly short intervals forever.
Interval update:
- If quality < 3: reset interval to 1 day and repetition to 1. The ease factor still updates (downward).
- If quality ≥ 3 and repetition = 1: interval = 1 day.
- If quality ≥ 3 and repetition = 2: interval = 6 days.
- If quality ≥ 3 and repetition > 2: interval = previous interval × new ease factor.
A worked example
You have a card on repetition 3 with a previous interval of 6 days and EF of 2.5. You recall it with quality 4 (correct, some hesitation):
- EF_new = 2.5 + (0.1 − 1 × (0.08 + 1 × 0.02)) = 2.5 + (0.1 − 0.10) = 2.5 (unchanged).
- Interval_new = 6 × 2.5 = 15 days.
Now imagine instead you had scored quality 2 (failed recall):
- EF_new = 2.5 + (0.1 − 3 × (0.08 + 3 × 0.02)) = 2.5 + (0.1 − 0.42) = 2.18.
- Interval_new = 1 day (reset).
Why quality < 3 resets the interval
SM-2 treats failed recall as evidence that the card has not yet been consolidated at the current interval. Shortening the interval slightly would not be enough — the failure indicates the memory trace needs rebuilding from shorter spacings. The ease factor still drops so the card grows more slowly on subsequent successes, making the system self-correcting over the long run.
Common mistakes
- Using "I got it right" for any correct answer. A quality of 5 is reserved for immediate, effortless recall. Hesitation is quality 4. Difficulty is quality 3. Being honest with your ratings is essential — inflated scores lead to overly long intervals and more forgotten cards later.
- Ignoring the ease factor floor. Some implementations let EF drop below 1.3, which can cause intervals to stall near zero. Original SM-2 enforces the 1.3 floor; this calculator does too.
- Confusing SM-2 with Anki's current defaults. Modern Anki has its own interval modifier, hard-button penalty, and optional FSRS algorithm. This calculator is pure SM-2, which is a close approximation but not an exact match.
- Trusting the scheduler over your own judgment. If a card keeps failing, the scheduler can only do so much. Consider rewriting the card, adding context, or breaking it into smaller pieces.
What this calculator is not
This is a scheduling tool. It does not measure whether you will remember the card, how well you have learned the material, or when you should drop a card from rotation. Spaced repetition research is strong for factual recall, but the algorithm is only one component of effective learning — the quality of your cards, the depth of your engagement, and what you do outside flashcards matter more than the interval arithmetic.