🧠 Spaced Repetition & Memory Decay

Ebbinghaus forgetting curve R(t) = e^{−t/S} where S is memory strength. SM-2 algorithm schedules reviews at expanding intervals. See how repeated reviews increase retention.

EducationInteractive
Golden line = first card · Click canvas to add a manual review · P pause · R reset

How it Works

The simulator tracks multiple flashcards over time. Each card has a memory strength S that determines how quickly retention decays. When a review occurs (at the threshold or manually), S is multiplied by the ease factor EF, making the next interval longer. The SM-2 algorithm computes: after the nth review, I(n) = I(n-1) × EF.

The chart shows the Ebbinghaus forgetting curve for each card. Review events are marked as vertical lines. Watch how retention at the review threshold rises after each successive review.

Forgetting: R(t) = e^{−t/S} (retention 0-1) Strength: S_new = S_old × EF (after each review) SM-2 intervals: I(1)=1d, I(2)=6d, I(n)=I(n-1)×EF Review when: R(t) < threshold → schedule review

Frequently Asked Questions

What is the Ebbinghaus forgetting curve?

The Ebbinghaus forgetting curve models how retention R decays exponentially over time: R(t) = e^{−t/S}, where t is time since learning and S is memory strength. Ebbinghaus found retention drops to ~58% after 20 minutes and ~33% after 1 day without review.

What is spaced repetition?

Spaced repetition schedules reviews at increasing intervals timed to occur just before the memory would be forgotten. It exploits the spacing effect: memories reviewed at expanding intervals are retained more durably than those reviewed in close succession (cramming).

What is the SM-2 algorithm?

SM-2 (SuperMemo algorithm 2) calculates next review interval as I(n) = I(n-1) × EF, where EF is the ease factor (1.3–2.5) reflecting how easily the card is recalled. EF is adjusted after each review based on performance quality (0–5 scale). EF never drops below 1.3.

What is memory strength (stability) S in the forgetting curve?

Memory strength S is the time constant of the exponential decay. When S is large, the forgetting curve is flat (retention decays slowly). S increases with each successful review and is higher for deeply encoded information (meaning, emotion, repetition).

What is the spacing effect?

The spacing effect is the empirical finding that learning is more effective when study sessions are spread out over time rather than concentrated (cramming). First described by Ebbinghaus, it is one of the most robust findings in cognitive psychology.

What is the ease factor in SM-2?

The ease factor (EF) starts at 2.5 and is adjusted after each review based on response quality. If quality is below 3, the card is lapsed and intervals reset. The ease factor is clamped to a minimum of 1.3 to prevent intervals from shrinking indefinitely.

How does Anki implement spaced repetition?

Anki uses a modified SM-2 algorithm with learning steps, relearning steps, and a fuzz factor to spread due dates. Cards in the review queue are sorted by due date. Anki also tracks lapses (failed reviews) to identify difficult material needing extra reinforcement.

What is the difference between massed and spaced practice?

Massed practice (cramming) concentrates study sessions closely together. Spaced practice distributes sessions over time. While cramming can produce short-term gains, spaced practice produces far more durable long-term retention through consolidation and retrieval practice effects.

What is active recall in spaced repetition?

Active recall means attempting to retrieve information from memory before seeing the answer (the testing effect). It is far more effective than passive re-reading. In spaced repetition systems, each review is an active recall event: question → attempt → answer → self-assess.

What is memory consolidation?

Memory consolidation is the process by which newly acquired memories are stabilised into long-term storage, primarily during sleep. Spaced repetition aligns reviews with consolidation windows, making each review more effective at strengthening the memory trace over time.

About this simulation

Written by MySimulator Team · Reviewed by MySimulator Editorial Review

Last updated: 5 July 2026

This simulator tracks up to ten flashcards, each with its own memory strength S decaying by the Ebbinghaus curve R(t) = e^(−t/S), and automatically schedules a review whenever retention drops to your chosen threshold — exactly the SM-2 logic behind apps like Anki. Every review multiplies S by the ease factor EF, stretching the next interval, so you can watch the golden first card's review gaps visibly widen as it gets easier to recall.

🔬 What it shows

Multiple overlapping Ebbinghaus forgetting curves, each card's review events marked as vertical lines, and a live schedule view showing how SM-2's expanding intervals emerge naturally from repeated strength multiplication.

🎮 How to use

Set Initial strength S₀, Ease factor EF, Retention threshold, Num. cards to track, and Time window, then switch View between Forgetting curves, Review schedule, and Both. Click the canvas or press + Add Review Now to trigger a manual review. P pauses, R resets.

💡 Did you know?

Because each review multiplies memory strength S by the same ease factor EF rather than adding a fixed amount, review intervals grow geometrically — a card reviewed 10 times with EF=2.5 needs a gap roughly 2.5^10 times longer than its very first interval, which is why well-learned cards in real spaced-repetition apps eventually get reviewed only once every few years.

Frequently asked questions

Why does raising the Ease factor EF make review intervals grow so much faster?

doReview() sets card.S = card.S · EF after every single review, so EF compounds multiplicatively across repeated reviews — a small increase from 2.0 to 2.5 doesn't just add 25% to one interval, it multiplies every subsequent interval by that larger factor too, producing a much steeper long-run growth curve.

Why does lowering the Retention threshold delay when reviews get scheduled?

scheduleNextReview() computes interval = −S·ln(rt), and since ln of a smaller retention target (say 0.7 instead of 0.9) is a larger negative number, the resulting interval is longer — a lower threshold means you're willing to let more forgetting happen before reviewing, so the algorithm waits longer.

Why do the different cards in the simulation decay and get reviewed at different times?

initCards() gives each card a slightly different starting strength (S0 · (0.8 + i·0.1)) and a staggered learning offset, so even under identical EF and threshold settings, each card's forgetting curve and review schedule diverge slightly — mimicking how real flashcards of varying difficulty never stay perfectly synchronized.

What actually happens when I click + Add Review Now before the scheduled time?

addReview() calls doReview() immediately regardless of current retention, multiplying S by EF right away — this lets you simulate reviewing a card early, which in this model behaves identically to a threshold-triggered review since the underlying math doesn't distinguish "why" the review happened.

Why does Initial strength S₀ matter if EF eventually dominates the interval growth?

S₀ sets the starting point that every later interval is multiplied from, so two cards with the same EF but different S₀ maintain a constant ratio between their review schedules forever — S₀ effectively represents how quickly or slowly a particular piece of information decays before any repetition has strengthened it.