Use growing gaps instead of a daily reread: reviews on days 1, 3, 7, 14 and 30 by hand, or let an SM-2 or FSRS app compute them. With an interview date, stop adding material a week or more before it, expect two or three reviews per card plus a final pass, and keep the daily queue small enough to finish.
The forgetting curve: what Ebbinghaus measured
In the 1880s Hermann Ebbinghaus, working with himself as the only subject, learned rows of nonsense syllables until he could recite them, then relearned them after delays from 20 minutes to 31 days. He measured savings: the share of the original learning time he did not need the second time. In 2015 Murre and Dros published a replication in PLOS ONE in which one subject, Dros, spent about 70 hours learning and relearning such lists at the same seven delays. In their Table 3, Ebbinghaus's savings fall from 58 percent after 20 minutes to 44 percent after an hour, 34 percent after a day and 21 percent after 31 days. The replication gives 47, 37, 32 and 4 percent, and the authors single out its 31-day value as the largest deviation.
Read the curve for its shape, not its numbers. It measures relearning time for meaningless syllables in single subjects; Murre and Dros note that Ebbinghaus chose nonsense syllables because meaningful text varied too much. It does not say that you lose a fixed percentage of your interview knowledge by tomorrow. What it does show is that the steepest loss comes in the first hours and days and that the curve then flattens. That is the whole argument for a schedule: the first review should come soon, and each later review can wait longer than the one before.
Fixed schedules versus adaptive schedulers
A fixed schedule gives every item the same ladder, for example reviews 1, 3, 7, 14 and 30 days after you first learn it. It works on paper or in a spreadsheet and is easy to plan around. An adaptive scheduler keeps a separate gap for every card and changes it according to how you grade each review, so easy cards drift away and hard ones stay close. Anki's documentation, as of November 14, 2026, lists two adaptive options: a scheduler based on SM-2, and FSRS, available since Anki 23.10 and switched on in deck options.
Be clear about what research supports. No study establishes 1-3-7-14-30 as optimal; it is a convenient expanding ladder. What the evidence supports is that spacing beats cramming and that the best gap depends on how long you need to remember. A 2006 meta-analysis of verbal recall by Cepeda and colleagues covered 839 assessments from 317 experiments and found that the gap producing the best retention grew as the retention interval grew. Their 2008 study of more than 1,350 people, who learned facts, reviewed them once and were tested later, put numbers on it: the best gap before the review was about 20 to 40 percent of the delay for a test one week away, and about 5 to 10 percent for a test one year away.
| Approach | How the next gap is chosen | Strength | Weakness |
|---|---|---|---|
| Fixed ladder | Same review days for every item: 1, 3, 7, 14, 30 days after learning | Works on paper; easy to plan | Easy and hard items get equal time |
| SM-2 | 1 day, 6 days, then previous gap × E-Factor | Per-card pace; computable by hand | First gaps are fixed; a lapse restarts |
| Anki's SM-2 variant | Configurable learning steps; four answer buttons | Tunable; credits late reviews | More settings to understand |
| FSRS (optional in Anki) | Model fitted to your review history; you set desired retention | Per Anki's docs, fewer reviews for the same retention | Fits best with your own review history; not computable by hand |
How the SM-2 spaced repetition algorithm computes the next interval
SM-2 comes from Piotr Wozniak's SuperMemo; his description says it was used, with minor changes, in SuperMemo 1.0 through 3.0, between December 1987 and March 1989. Every item carries an E-Factor that starts at 2.5. The first interval is 1 day, the second is 6 days, and each later interval is the previous one multiplied by the E-Factor, with fractions rounded up. After each repetition, the first learning session included, you grade recall from 0 to 5, and the grade adjusts the E-Factor with the formula below: a 5 adds 0.10, a 4 leaves it unchanged, a 3 subtracts 0.14, and the factor never drops below 1.3. A grade under 3 restarts the item from the first interval without changing its E-Factor, and anything graded under 4 is repeated the same day until it reaches 4.
Anki changed several details, according to its FAQ and manual. The fixed 1-day and 6-day start is replaced by learning steps you configure. There are four answer buttons instead of six grades. On a review card, Again lowers ease by 20 percentage points and by default resets the interval; Hard lowers ease by 15 points and multiplies the interval by 1.2; Good multiplies by the current ease; Easy adds 15 points and an extra bonus, 1.3 by default. Ease never falls below 130 percent, and answering late is credited when the next interval is computed.
RecallDeck, which publishes this library, uses the same Anki-style SM-2 design: learning steps of 1 and 10 minutes, a first review interval of 1 day (4 days after Easy), a starting ease of 2.5 and a cap of 365 days.
I(n) is the interval in days after the n-th repetition; learning the item is repetition 1.
I(1) = 1
I(2) = 6
I(n) = I(n-1) * EF for n > 2, fractions rounded up
EF' = EF + (0.1 - (5 - q) * (0.08 + (5 - q) * 0.02))
if EF' < 1.3 then EF' = 1.3
q < 3: start again from I(1); EF stays as it wasA Python simulation of SM-2 intervals
The script below implements the written description and prints the gaps for four grading histories. The text leaves one thing open: whether the grade given at a review changes the very next interval. Wozniak's published Delphi source settles it: the interval is computed first, from the E-Factor as it stood before the review, and the grade is applied afterward, so each grade takes effect one repetition later. The script follows that order and counts the learning session as the first graded repetition. (The source also rounds to the nearest day instead of up and adjusts the E-Factor after failed grades, so its later gaps come out slightly shorter.) The table shows the output from Python 3.12.8; review days count from the day the item was first learned.
Three things stand out. First, the opening is identical for every passing history: reviews on day 1 and day 7. Grades only begin to separate the schedules at the third gap, 14 to 17 days. Second, steady grades of 3 still lengthen the gaps while the E-Factor sinks from 2.5 to 1.80, so a card you find hard keeps moving away, only more slowly. Third, one lapse is expensive: the card that failed on day 22 goes back to a 1-day and then a 6-day gap. For interview preparation the first point matters most. Inside a four-week window a card you keep passing gets exactly three reviews, whatever passing grade you give it.
import math
def sm2(grades):
"""SM-2. grades[0] is given when the item is first learned (repetition 1),
the rest at each review. Returns the gap in days after each repetition
and the final E-Factor."""
ef, n, gap, gaps = 2.5, 0, 0, []
for q in grades: # q is the 0-5 grade for this repetition
if q < 3:
n, gap = 1, 1 # relearn today, start over; E-Factor unchanged
else:
n += 1
# I(1) = 1, I(2) = 6, then previous gap times the E-Factor before this grade
gap = 1 if n == 1 else 6 if n == 2 else math.ceil(round(gap * ef, 6))
ef = max(1.3, ef + 0.1 - (5 - q) * (0.08 + (5 - q) * 0.02))
gaps.append(gap)
return gaps, ef
for label, grades in [
("always 5", [5, 5, 5, 5, 5]),
("always 4", [4, 4, 4, 4, 4]),
("always 3", [3, 3, 3, 3, 3]),
("lapse at 4th", [4, 4, 4, 2, 4]),
]:
gaps, ef = sm2(grades)
days, total = [], 0
for gap in gaps:
total += gap
days.append(total)
print(f"{label:13} gaps={gaps} review days={days} EF={ef:.2f}")| Grades given | Gaps in days | Review days | Final E-Factor |
|---|---|---|---|
| 5, 5, 5, 5, 5 | 1, 6, 17, 48, 140 | 1, 7, 24, 72, 212 | 3.00 |
| 4, 4, 4, 4, 4 | 1, 6, 15, 38, 95 | 1, 7, 22, 60, 155 | 2.50 |
| 3, 3, 3, 3, 3 | 1, 6, 14, 30, 59 | 1, 7, 21, 51, 110 | 1.80 |
| 4, 4, 4, 2 (lapse), 4 | 1, 6, 15, 1, 6 | 1, 7, 22, 23, 29 | 2.50 |
Compressing the schedule to an interview date: 2, 4 and 8 weeks
A scheduler built for lifelong retention assumes there is no deadline. You have one, so the goal changes: maximum recall on a known date. Cepeda's ratio says that for a test days or weeks away the useful gaps are days long, and the simulation shows SM-2 already starts that way. The plans below are our planning heuristics built on those two facts, not validated prescriptions. They follow two rules: stop adding new cards early enough that every card gets at least two reviews, and finish with a mixed pass over everything.
Cards added late get fewer reviews. With two weeks to go, a card learned on day 1 is reviewed on days 2, 5 and 11, while one learned on day 8 gets days 9 and 12 and then only the final pass. With eight weeks, plain SM-2 gaps fit: a card learned in the first month is reviewed three times before the interview. In Anki you can keep gaps short during a sprint by lowering the maximum interval in deck options; the manual warns that doing so increases the workload, which here is the intent.
| Time to interview | Add new cards | Gaps after learning | Reviews per card | Final days |
|---|---|---|---|---|
| 2 weeks | Days 1 to 8 | 1, 3, 6 days | 2 to 3 | Days 12 to 14: mixed pass, nothing new |
| 4 weeks | Days 1 to 20 | 1, 4, 10 days | 2 to 3 | Days 25 to 28: mixed pass; weak cards twice |
| 8 weeks | Days 1 to 45 | 1, 6, 15 days | 2 to 3 | Days 50 to 56: mixed pass; mocks come first |
Daily review load: the arithmetic
Review load is cards added per day multiplied by the reviews each card owes. Using the gaps from the always-4 row of the simulation, a card comes back 1, 7, 22 and 60 days after you add it. Add 10 cards a day for three weeks (days 1 to 21) and you hold 210 cards; the review queue is 10 a day in the first week and 20 a day from day 8 to day 28. Doubling the intake doubles everything. Keep adding 10 a day for seven weeks and the queue reaches 30 a day from day 23. If a review takes you 30 to 60 seconds, 30 reviews take 15 to 30 minutes.
Treat those figures as a floor. They assume every review is graded 4, and they leave out the new cards themselves and same-day repeats of new and failed cards. Anki's manual gives a much more cautious rule of thumb for long-running decks: if you consistently learn 20 new cards a day, expect roughly 200 reviews a day. It also says what to do when you fall behind: stop introducing new cards until the overdue reviews are cleared. Before an interview, the practical limit is your daily time, so set the intake from the queue you can finish, not from the number of cards you wish you knew.
| New cards per day | Adding for | Total cards | Peak reviews per day |
|---|---|---|---|
| 10 | 3 weeks | 210 | 20 |
| 20 | 3 weeks | 420 | 40 |
| 10 | 7 weeks | 490 | 30 |
Common spaced repetition schedule mistakes
A schedule only decides when you look at an item. What you do at that moment decides whether it works: each review has to be a recall attempt, with the answer produced before the card is flipped. The active recall guide covers that half. The other mistakes are about arithmetic and honesty, and the list below covers the ones that cost the most before an interview.
- Rereading on review days instead of answering from memory first.
- Adding cards faster than you clear reviews, then abandoning the deck when the queue explodes.
- Restarting from zero after a missed day; just do the overdue reviews, oldest first.
- Grading by how familiar the answer feels instead of what you actually said.
- Scheduling code as if it were a fact: algorithms need re-solving in an editor, not only a card.
- Adding new material in the final days, when it cannot get a second review.
Quick answers
Frequently asked questions
What is the best spaced repetition schedule?
There is no single proven ladder. A common manual schedule reviews 1, 3, 7, 14 and 30 days after learning; SM-2 uses 1 and 6 days and then multiplies by an ease factor. Research by Cepeda and colleagues shows the best gap grows with how long you need to remember, so short deadlines call for shorter gaps.
How do I do spaced repetition without an app?
Write each item with the date you learned it and review it 1, 3, 7, 14 and 30 days after that date, moving it back a step when you fail. A spreadsheet sorted by next review date works, as does a box of paper cards with one compartment per gap.
What spaced repetition algorithm does Anki use?
According to Anki's FAQ, versions 23.10 and later offer two: a default scheduler based on SuperMemo's SM-2 with several changes, such as configurable learning steps and four answer buttons, and FSRS, an optional scheduler that fits a memory model to your review history.
How accurate is the forgetting curve?
Its shape has held up: Murre and Dros replicated Ebbinghaus's experiment in 2015 and found a similar curve. Its percentages describe relearning savings for nonsense syllables in single subjects, so they are not a prediction of how much meaningful interview material you will forget.
How long before an interview should I start spaced repetition?
As early as you can, because each card needs at least two reviews spread over days. With eight weeks, standard SM-2 gaps of 1, 6 and 15 days fit. With two weeks, add new cards only during the first eight days and use gaps of about 1, 3 and 6 days.
Source notes
References and review policy
Information checked on November 14, 2026. Section links identify sources for factual claims and technical explanations. Interpretations, practice scenarios and preparation recommendations are RecallDeck’s editorial work.
- Murre & Dros (2015): Replication and Analysis of Ebbinghaus' Forgetting Curve, PLOS ONE
- Piotr Wozniak: Algorithm SM-2 (from Optimization of Learning, 1990)
- Piotr Wozniak: SuperMemo 2 algorithm, Delphi source code
- Anki FAQ: What spaced repetition algorithm does Anki use?
- Anki Manual: Deck Options
- Cepeda et al. (2008): Spacing Effects in Learning: A Temporal Ridgeline of Optimal Retention, Psychological Science 19(11)
- Cepeda et al. (2006): Distributed Practice in Verbal Recall Tasks, Psychological Bulletin 132(3)
From reading to recall
Practice the full interview loop.
RecallDeck schedules the concepts you miss and keeps coding, design, and behavioral fundamentals available when the interviewer changes direction.