Introduction to the Flashcard Review Recommendation Algorithm — FRSR (Free Spaced Repetition Scheduler)

Introduction

FSRS stands for Free Spaced Repetition Scheduler, which can be understood as a “smarter algorithm for scheduling review times.”

It addresses a simple question:

When should I review this flashcard next?

Traditional Anki’s SM-2 algorithm relies mainly on “interval multiplication” and an “ease factor.” FSRS, by contrast, builds a small “memory model” for each card—estimating, based on your past performance, the current probability that you still remember it—and then schedules the next review accordingly.

Core intuition behind FSRS
FSRS assumes that each flashcard has two key attributes:

  1. Difficulty (D)
    Represents how difficult the card is for you.
    The higher the difficulty, the slower the interval grows afterward.

  2. Stability (S)
    Represents how stable this memory is.
    The higher the stability, the slower the memory fades, and thus the longer the interval until the next review.

There is also a transient value computed during calculation:

  1. Retrievability (R)
    Represents “the current probability that you can recall it.”
    For example, R = 0.9 means you currently have roughly a 90% chance of answering correctly.

A simple example
Suppose you’re reviewing a card today.

FSRS considers:

  • How many days have passed since your last review
  • The card’s previous stability (S)
  • And then estimates your current recall probability (R)

You then press one of four buttons:

  • Again: You forgot it
  • Hard: You recalled it, but with difficulty
  • Good: You recalled it normally
  • Easy: You recalled it effortlessly

FSRS then updates the card’s D and S values.

For instance:

  • Pressing Again: The algorithm infers the card is harder than expected; stability decreases or increases only slightly.
  • Pressing Good: The algorithm treats this as normal memory reinforcement.
  • Pressing Easy: The algorithm infers the card is easier for you, so stability increases more substantially.
  • Pressing Good/Easy after a long delay: This signals the memory is more stable than previously assumed, causing a notable increase in S.

How does it decide the next interval?
You can set a target retention rate—for example, 90%.

That means:

I want to have approximately a 90% chance of answering correctly when the card is due.

FSRS works backward:

Given the card’s current stability S, how many days should pass so that the recall probability at the next review is ~90%?

Therefore:

  • A higher target retention (e.g., 95%) leads to more frequent reviews.
  • A lower target retention (e.g., 80%) results in longer intervals and fewer reviews.
  • Higher stability → longer intervals.
  • Higher difficulty → more conservative interval growth.

Key difference between FSRS and standard Anki algorithms
Standard SM-2 operates more like a rule-based system:

If you answer correctly, multiply the interval by a factor; if incorrect, restart.

FSRS operates more like a predictive system:

Based on your review history, estimate the current probability of forgetting this card, and schedule the next review to meet your target retention rate.

Thus, FSRS tends to be more personalized. It learns parameters from your historical data—e.g., “how long until you forget,” “which cards are harder for you,” and “what your ratings mean in practice.”

One-sentence summary
FSRS:

Estimates “difficulty” and “memory stability” for each card, uses the forgetting curve to predict when you’ll likely forget, and schedules reviews just before you’re likely to forget—but not so early that time is wasted.

If cooking is the analogy: SM-2 is like a fixed recipe—“double the time every time”; FSRS is like watching the heat—“this pot cooks faster, that one slower, so adjust timing individually.”

Differences Among FSRS v1–v6

The differences among versions can be summarized as follows: The core idea remains unchanged—memory is modeled using D/S/R—but each version refines the formulas, adds parameters, and improves fit to real-world review behavior.

All FSRS versions share this common framework:

  • D = Difficulty: How hard the card is for you; typically ranges roughly from 1 to 10.
  • S = Stability: How stable this memory is. Larger S allows longer intervals before review.
  • R = Retrievability: Current probability of successful recall.
  • G = Grade: Your rating: Again = 1, Hard = 2, Good = 3, Easy = 4. These symbols are defined exactly this way on the official page. Source: The Algorithm

Version evolution at a glance

Version # Parameters Key Changes Layperson Interpretation
FSRS v1 7 Includes S/D/L, where L counts lapses Earliest version; model is relatively crude
FSRS v2 14 Removes or downweights raw lapse count; begins systematic modeling of stability changes after success/failure Starts behaving like a true memory model
FSRS v3 13 Adopts exponential forgetting curve 0.9^(t/S); initial S/D formulas become more regularized Introduces a clearly defined forgetting curve
FSRS v4 17 Switches to a new forgetting curve and refines stability-update rules after success/failure Becomes the foundational form of modern FSRS
FSRS-4.5 17 Primarily modifies shape of the forgetting curve Better matches “fast initial decay, slower later decay” phenomenon
FSRS-5 19 Adds same-day review stability formula; revises initial difficulty and difficulty regression target Better handles learning phase / multiple reviews per day
FSRS-6 21 Further refines same-day review formula; makes decay parameter of the forgetting curve trainable Most flexible and fine-grained version to date

From v1 to v3: From crude empirical formulas to D/S modeling

FSRS v1 includes Lapses (i.e., how many times you’ve forgotten this card). Post-lapse stability depends primarily on total lapse count—a very intuitive idea: the more often you forget, the more troublesome the card.

But it’s also quite crude: “number of lapses” alone doesn’t fully capture card state. For example, forgetting once after 2 days vs. once after 100 days conveys completely different information.

Starting with v2/v3, modeling becomes explicitly centered on D and S. v3 adopts the forgetting curve:

R(t,S) = 0.9^(t/S)  

Interpretation: When elapsed time t equals stability S, recall probability is exactly 90%. The official page states v3 uses 13 parameters, and memory state is fully represented by S and D. Source: FSRS v3

v4: The pivotal version of modern FSRS

FSRS v4 retains D/S but features significantly matured formulas—17 parameters in total.

It models three key aspects:

  1. Initial stability after first rating.
  2. How difficulty changes after each review.
  3. How stability changes after successful recall versus lapse.

v4’s forgetting curve is:

R(t,S) = (1 + t / (9S))^-1  

This also ensures R = 90% when t = S. Source: FSRS v4

Layperson interpretation:
Starting with v4, FSRS no longer just “multiplies the interval on correct answers.” Instead, it evaluates:

  • How hard the card is
  • How stable your memory currently is
  • Whether you delayed the review
  • Which button you pressed (Hard/Good/Easy/Again)
    …then synthesizes all this to update the next interval.

FSRS-4.5: Mainly refining the forgetting curve

FSRS-4.5 retains the same number of parameters (17) as v4, but changes the forgetting curve to:

R(t,S) = (1 + FACTOR * t / S)^DECAY  

The official page specifically notes that FSRS-4.5’s new curve decays faster before S, and more slowly after S. Source: FSRS-4.5

What does that mean?

Suppose a card has stability S = 10 days:

  • Before Day 10, memory may decline noticeably.
  • After Day 10, it won’t drop off linearly or with fixed-shape decay like older models.

In other words, 4.5 better reflects real memory: fast initial forgetting, slower subsequent decay.

FSRS-5: Greater focus on “same-day reviews” and difficulty updates

FSRS-5 expands from 17 to 19 parameters. According to the official page, it introduces/modifies the stability update formula for same-day reviews and revises the initial difficulty formula. Also, the difficulty regression target shifts from earlier versions’ D₀(3) to D₀(4). Source: FSRS-5

Layperson interpretation:
Many cards aren’t reviewed only once every few days. During early learning, you might review the same card several times in one day:

  • First: Again
  • Ten minutes later: Good
  • Later: Easy

These “within-day learning steps” differ from long-term spaced repetition. FSRS-5 begins handling them more specifically.

FSRS-6: The current most refined version

FSRS-6 uses 21 parameters. Per the official page, it features two major improvements:

  1. Revised stability update formula for same-day reviews
    The new formula causes S to grow faster when initially small, and slower when already large.

  2. The decay parameter in the forgetting curve becomes trainable
    That is, the shape of the forgetting curve is no longer fixed—it can be learned from data. Source: FSRS-6

This is critical because people and materials differ in forgetting speed:

  • Vocabulary
  • Medical knowledge
  • Mathematical theorems
  • Names and dates

Their forgetting curves may differ. FSRS-6 allows the model to adapt more flexibly to such variations.

The three most important distinctions across versions

  1. Increasingly realistic forgetting curves

    • v3: Exponential curve
    • v4: New power-law curve
    • 4.5: Adjusted curve shape
    • v6: Decay parameter becomes trainable
  2. Growing number of parameters

    • v1: 7
    • v3: 13
    • v4/4.5: 17
    • v5: 19
    • v6: 21

    More parameters aren’t added for complexity’s sake—they allow finer-grained modeling of: initial difficulty, initial stability, successful recall, lapses, Hard penalties, Easy bonuses, same-day reviews, etc.

  3. Better alignment with real Anki usage patterns
    Early versions were more theoretical; later versions progressively incorporate practical details—such as same-day learning, difficulty regression, differential effects of Hard/Easy, and upper bounds on post-lapse stability.

Which version should you use?

Ordinary users need not dwell on historical versions: Use the FSRS built into current Anki, or the FSRS-6 series provided in this project.

Historical versions are mainly useful for understanding algorithmic evolution:

  • To grasp fundamentals: study v3/v4
  • To understand modern FSRS: study FSRS-4.5
  • To see the most complete current model: study FSRS-6

One-sentence summary:

All FSRS versions share the same core: estimate your current recall probability and schedule the next review accordingly. Newer versions feature increasingly flexible forgetting curves and finer-grained handling of new cards, same-day reviews, rating distinctions, and material-specific characteristics.

References