Spaced repetition · since 1987

The SM-2 algorithm

The classic, transparent scheduler from SuperMemo. SM-2 tracks three numbers per card and grows the interval with one simple formula — no training data required.

born (SuperMemo)
1987
born (SuperMemo)
values per card
3
values per card
starting ease
2.5
starting ease
minimum ease
1.3
minimum ease

Each review pushes the next one further out

1d#16d#215d#338d#495d#5review →

Interval until the next review, growing by the ease factor (×2.5) after each success.

Overview

What is SM-2?

SM-2 is the spaced-repetition algorithm from SuperMemo, published by Piotr Woźniak in the late 1980s. It is the scheduler that launched modern flashcard apps, and it is prized for being simple and completely transparent: you can follow exactly why a card is due when it is.

Each card carries three numbers: an ease factor (how easy the card is), the current interval in days, and a count of consecutive correct reps. One formula updates all three after every answer.

There are no trained weights and no per-user data to collect — SM-2 works from the very first review. That predictability is exactly why Gnoseed uses it as the default algorithm.

The review loop

How it works

Answer a card and SM-2 updates its three numbers with a single rule.

1

Show & recall

The card appears with its options. You pick the answer you think is right.

2

Auto-grade 1–5

Gnoseed turns your correctness and answer speed into a quality score from 1 to 5 — no manual rating.

3

Update ease & interval

On success the interval grows by the ease factor; the ease factor itself nudges up or down with the score.

4

Reschedule

The card is set due that many days out — or back to day one if you missed it.

Parameters

The knobs that drive scheduling

SM-2 keeps three numbers per card, plus the fixed rules that move them.

EF

Ease factor

start 2.5, min 1.3

How easy the card is. Each review multiplies the interval by it. Fast-and-correct nudges it up; slow or wrong answers pull it down, never below 1.3.

I

Interval

days

Days until the next review. The first success sets it to 1 day, the second to 6, and after that it is the previous interval times the ease factor.

n

Reps

count

Consecutive successful reviews. Any miss resets it to zero, sending the card back to a 1-day interval.

q

Quality

1–5

The auto-graded score for an answer. Below 3 is a lapse; 3–5 count as recalled, with higher scores raising the ease factor.

Under the hood

The update rule

# after each review, quality q (1–5)
# from correctness + answer speed

if q < 3:                  # missed it
    reps     = 0
    interval = 1           # relearn tomorrow
else:                      # recalled
    if   reps == 0: interval = 1
    elif reps == 1: interval = 6
    else:           interval = round(interval * EF)
    reps += 1

# ease factor update, floored at 1.3
EF = EF + (0.1 - (5 - q) * (0.08 + (5 - q) * 0.02))
if EF < 1.3: EF = 1.3

The interval schedule is fixed: 1 day, then 6 days, then each interval is the previous one times the ease factor. A card at the default 2.5 ease runs 1 → 6 → 15 → 38 → … days.

The ease factor is the only adaptive part. A fast, correct answer (q=5) adds 0.1; a medium one (q=4) leaves it unchanged; a slow one (q=3) subtracts 0.14; a miss subtracts more — and it can never fall below 1.3.

In Gnoseed

How Gnoseed uses SM-2

Auto-graded answers

Your multiple-choice correctness and answer speed become a 1–5 quality score, so you never grade yourself.

Works from review one

No training data and no warm-up — SM-2 schedules sensibly from the very first card.

Fully transparent

Three numbers and one formula mean you can always see exactly why a card is due.

Switch anytime

Settings lets you switch to FSRS. Switching resets card scheduling — your streak and review count stay.

SM-2 vs FSRS

How the two schedulers compare

Gnoseed supports both. SM-2 is the transparent classic; FSRS is the data-driven modern successor. Here is how they differ at a glance.

SM-2FSRS
Introduced1987 · SuperMemo2022 · open source
State per card3 values (EF, interval, reps)3 variables (D, S, R)
Tunable weightsNone — one fixed rule21 optimized weights
Needs training dataNoNo — uses optimized defaults
Models forgetting curveIndirectlyExplicitly (retrievability)
Best forSimplicity & transparencyAccuracy with fewer reviews
FAQ

Common questions

What is the SM-2 algorithm? +

SM-2 is the classic SuperMemo spaced-repetition algorithm. It tracks an ease factor, an interval and a repetition count per card, and grows the interval with a simple formula after each review.

What is the ease factor? +

The ease factor is a per-card multiplier that starts at 2.5 and never drops below 1.3. Each successful review multiplies the interval by it; the factor itself rises after fast correct answers and falls after slow or wrong ones.

How are the intervals calculated? +

The first correct review schedules the card 1 day out, the second 6 days, and every review after that multiplies the previous interval by the ease factor. A missed card resets to a 1-day interval.

Is SM-2 better than FSRS? +

SM-2 is simpler and fully transparent, and it needs no review history to work. FSRS is typically more accurate because it models the forgetting curve, but it relies on optimized parameters. Gnoseed offers both — you can switch in Settings.

The other algorithm

Meet FSRS, the data-driven successor

FSRS models the forgetting curve with optimized weights to squeeze out more accuracy. See how it works and how it compares.

Read about FSRS