Back to Blog

How spaced repetition actually works (and why most apps get it wrong)

~7 min read
An abstract forgetting curve over a phone showing a vocabulary card - the idea behind spaced repetition

If you've used Anki, Duolingo, Memrise, or any other vocabulary app, you've used spaced repetition. The phrase gets thrown around so much it's become marketing copy - every flashcard app on the App Store claims to use it.

But what does spaced repetition actually mean? How does the algorithm decide when to show you each word? And why do most apps get something wrong about it?

I'll walk you through the actual mechanics - without the marketing fluff - and then show you the specific places where most apps cut corners. By the end you'll know exactly what to look for in a learning tool.

The basic idea: forgetting is exponential, not linear

Spaced repetition is built on a single insight from a 19th-century German psychologist named Hermann Ebbinghaus.

In 1885, Ebbinghaus did something simple but tedious: he memorized lists of nonsense syllables and then tested himself at intervals to see how much he forgot. He plotted the results and discovered something now known as the forgetting curve: memory decays fast at first, then slowly.

If you learn a word today, you'll remember roughly:

  • 100% in the next hour
  • 70% the next day (if you do nothing)
  • 40% after a week
  • 20% after a month

But - and this is the key - every time you review and successfully recall the word, the curve resets and decays more slowly than before.

So the trick is to review words right before you'd forget them. Not too early (boring, wastes time on words you already know). Not too late (you'd already have forgotten and have to relearn from scratch).

Show me each word right before I'd forget it.

That's spaced repetition in one sentence.

The SM-2 algorithm in plain English

The most widely used spaced repetition algorithm is called SM-2. It was published by Piotr Wozniak in 1987 and forms the basis of Anki, SuperMemo, and most serious learning apps.

The algorithm tracks two things for every word:

  1. Interval - how many days until you should see this word again
  2. Ease factor - a number from about 1.3 to 2.5 representing how easy this word is for you personally

When you review a word, you rate how well you knew it (the standard scale is 0 to 5, but most apps simplify this to 3–4 buttons like "Again / Hard / Good / Easy").

Based on your rating:

  • You knew it well: interval is multiplied by the ease factor → next review is further out. So if your interval was 3 days and ease factor is 2.5, the new interval is 7.5 days.
  • You knew it but barely: interval increases more conservatively (often interval × 1.3 or so).
  • You didn't know it: interval drops dramatically (back to 1 day) and the ease factor lowers slightly. The word now appears more often.

After enough successful reviews, intervals can grow into months. A word you've correctly recalled at 1 day, 3 days, 7 days, 14 days, 30 days will eventually be at 90+ days. At that point you've effectively memorized it.

That's the entire algorithm. There's no AI. No machine learning model. No neural network. It's a couple of multiplications based on a rating you give it.

Why this works better than blocked study

Compare spaced repetition to how most people study without it:

  • Cramming: review everything once, the night before. Tomorrow you remember it. Next week, mostly gone.
  • Blocked study: study 50 words, then move to the next 50. You "finish" each batch, but a week later you've lost most of it.
  • Random flashcards: shuffle a deck and run through it. You waste time on words you know cold and don't see hard words enough.

Spaced repetition, by contrast:

  • Shows you words exactly when you're about to forget them
  • Spends less time on words you already know
  • Spends more time on words you struggle with
  • Allocates your study time optimally

In studies, students using spaced repetition retain roughly 2–3× more vocabulary than those using blocked study, for the same time investment.

What most apps get wrong

Now the part most spaced repetition advocates won't tell you: most learning apps don't actually implement spaced repetition properly. They use the marketing term, but the algorithm under the hood is something different - usually simpler, sometimes worse.

Here are the four most common ways apps fail at spaced repetition.

Mistake 1: Using a fixed schedule, not a personalized one

The cheapest "spaced repetition" implementation just uses fixed intervals: review at day 1, then day 3, then day 7, then day 14, and so on - for everyone. No adjustment based on whether you actually know the word.

This is essentially a worse version of a flashcard deck with a calendar. The whole point of SM-2 is that the intervals should be personalized to your performance on each individual word. A word you find easy doubles its interval faster. A word you struggle with stays close.

If an app shows the same words at the same intervals regardless of your answers, it isn't really doing spaced repetition.

How to spot it: in apps that have proper SRS, you'll see a "due today" count that grows or shrinks based on how you've been performing. In apps that don't, the count is roughly constant.

Mistake 2: Punishing wrong answers too harshly

Classic SM-2 resets intervals all the way to 1 day if you forget a word - even if you'd successfully reviewed it 10 times in a row. This is brutal. One bad day undoes weeks of progress.

A more forgiving variation (which I implemented in Wordify, among others) cuts the interval by 50% instead of resetting to 1 day. So a word you knew at a 30-day interval drops to 15 days when forgotten - not all the way back to the start.

This sounds like a small detail, but it dramatically changes how punishing the app feels. Strict SM-2 makes you afraid of forgetting. Forgiving SM-2 makes forgetting feel like part of learning.

Mistake 3: Counting in-session repetitions toward the schedule

Here's a subtle bug that even big apps make. You see a word, get it wrong, and the app schedules another review in 1 day. You see the word again 30 seconds later - same session - and now you remember it. The app marks it as correct and increases the interval.

The problem: you didn't actually remember it after a day. You remembered it after 30 seconds. Increasing the interval based on within-session correctness inflates your apparent progress and means you'll forget the word for real next time.

A correctly-implemented SRS distinguishes between session-level repetitions (which don't affect the schedule) and scheduled reviews (which do). Most apps don't bother with this distinction.

Mistake 4: Not prioritizing overdue words

If you skip a day, words that were due yesterday should appear today before today's new words. Otherwise you'd accumulate a backlog of words you forgot weeks ago while breezing through fresh ones.

This is the difference between a healthy review queue and a graveyard of forgotten cards. Done right, the queue self-heals: missed days create overdue words that get prioritized; consistent days keep the schedule smooth.

Apps that just sort by "next due date ascending" without weighting overdue urgency are leaving learners worse off than they realize.

What good spaced repetition feels like in practice

If an app implements SRS correctly, you should notice:

  1. The "due today" count varies based on your performance. Hard words come back faster, easy words less often.
  2. Reviewing a word you already know feels light. The app didn't waste your time on the same easy word three days in a row.
  3. Forgetting a hard word doesn't feel catastrophic. The interval drops, but you don't lose all your progress.
  4. After a missed day, overdue words come back first. The app catches you up gracefully.
  5. Over time, your daily review load stabilizes. As words "graduate" to long intervals, they free up bandwidth for new ones.

If your current app doesn't behave this way, it's probably using a fixed schedule with the spaced-repetition label slapped on top.

How Wordify implements SM-2

Since I built Wordify, I'll be specific about what's under the hood:

  • Standard SM-2 with a softer reset - wrong answers cut the interval by 50% rather than resetting to 1 day. This makes the app feel forgiving without losing the personalization.
  • Session-level protection - repeated correct answers in the same session don't inflate intervals. Only the scheduled review counts.
  • Overdue prioritization - words past their due date are surfaced before new words.
  • Graduation at 60+ days - once a word's interval reaches 60 days, it's automatically marked as "learned" and removed from active rotation. You can still review it manually, but it's earned a break.
  • Forgiving session caps - failed words can be repeated up to twice in the same session, but no more, to prevent frustration loops.

The algorithm itself is short - under 100 lines of Dart code. The reason most apps don't get it right isn't complexity; it's that they prioritize gamification (streaks, points, leaderboards) over the actual learning science.

Quick FAQ

Is SM-2 the best spaced repetition algorithm?

It's the most widely used and well-studied. There are newer variants - FSRS (Free Spaced Repetition Scheduler), SM-15, SM-18 - that claim better performance. In practice, the difference between SM-2 done well and FSRS done well is small. SM-2 done well beats FSRS done badly. Algorithm choice matters less than implementation quality.

How long until spaced repetition starts working?

You'll feel a difference within 1–2 weeks. Real, sticky retention takes 2–3 months of consistent practice. There's no shortcut.

Can I use spaced repetition without an app?

Yes - Leitner box systems work with physical cards and a row of envelopes. But honestly, an app does the scheduling math for you and saves an enormous amount of friction.

Does spaced repetition only work for vocabulary?

No - it works for any factual recall. Anki users practice everything from medical terminology to law concepts to historical dates with it. Vocabulary just happens to be the use case where it's most obviously useful.

Closing thought

Spaced repetition isn't magic. It's a small piece of psychology applied carefully. The algorithm is simple. The hard part is implementing it correctly and resisting the urge to gamify your way around it.

If you're learning a language and want a vocabulary app that actually does SM-2 properly - with the forgiving tweaks I described - give Wordify a try. It's what I built because none of the others were doing it the way I wanted.

But even if you don't use Wordify: now you know what to look for. Test your current app. Does it adapt to your performance? Does it catch you up after a missed day? Does it feel forgiving?

If yes, stick with it. If no, you can do better.


See also:

Try Wordify

Vocabulary that comes to you — through home screen widgets, lock screen widgets, and notifications. 7-day free trial. No account needed.