What spaced repetition algorithm does Anki use? (2025)

SM-2

As of Anki 23.10, Anki has two available algorithms. The first one is based onthe SuperMemo 2 algorithm, andthe second one is called FSRS.

Anki’s algorithm differs from SM-2 in some respects. Notably:

  • SM-2 defines an initial interval of 1 day then 6 days. With Anki,you have full control over the length of the initial learning steps.Anki understands that it can be necessary to see a new card a numberof times before you’re able to memorize it, and those initial"failures" don’t mean you need to be punished by being shown thefailed card many times over the course of a few days. Performanceduring the learning stage does not reflect performance in theretaining stage.

  • Anki uses 4 choices for answering review cards, not 6. There is onlyone fail choice, not 3. The reason for this is that failurecomprises a small amount of total reviews, and thus adjusting acard’s ease can be sufficiently done by simply varying the positiveanswers.

  • Answering cards later than scheduled will be factored into the nextinterval calculation, so you receive a boost to cards that you werelate in answering but still remembered.

  • Like SM-2, Anki’s failure button resets the card interval bydefault. But the user can choose to have the card’s interval reducedinstead of being reset completely. Also, you can elect to reviewfailed mature cards on a different day, instead of the same day.

  • Remembered easily not only increments the ease factor, but adds anextra bonus to the current interval calculation. Thus, answeringremembered easily is a little more aggressive than the standardSM-2 algorithm.

  • Successive failures while cards are in learning do not result infurther decreases to the card’s ease. A common complaint with thestandard SM-2 algorithm is that repeated failings of a card causethe card to get stuck in "low interval hell". In Anki, the initialacquisition process does not influence a card’s ease.

FSRS

FSRS aims to learn your memory patterns and schedule reviews more efficiently than SM-2.

FSRS is based on the "Three Component Model of Memory". The model asserts that three variables are sufficient to describe the status of a unitary memory in a human brain.These three variables include:

  • Retrievability (R): The probability that the person can successfully recall a particular information at a given moment. It depends on the time elapsed since the last review and the memory stability (S).

  • Stability (S): The time, in days, required for R to decrease from100% to 90%. For example, S = 365 means that an entire year will pass before the probability of recalling a particular card drops to 90%.

  • Difficulty (D): The inherent complexity of a particular information.It represents how difficult it is to increase memory stability after a review.

In FSRS, these three values are collectively called the "memory state".The value of R changes daily, while D and S change only after a card has been reviewed.Each card has its own DSR values, in other words, each card has its own memory state.To accurately estimate the DSR values, FSRS analyzes the user's review history and uses machine learning to find parameters that provide the best fit to the review history.

Note that the users should not tweak the parameters manually.If you want to adjust the scheduling, all you need to do is choose an appropriatevalue of desired retention.With FSRS, users can target a specific value of retention, allowing them to balance how much they remember and how many reviews they have to do.Higher retention leads to more reviews per day.

Aside from allowing users to easily control their retention, FSRS has some other advantages when compared to Anki's default algorithm.With FSRS, users have to do fewer reviews than with Anki's default algorithm to achieve the same retention level. FSRS is also much better at scheduling cards that have been reviewed with a delay, for example, if the user took a break from Anki for a few weeks or months.

The scheduling code can be found in rslib/src/scheduler/states. Here is a summary(see the deck optionssection of the manual for the options that are mentioned in italics):

Learning/Relearning Cards

If you press…​

  • Again
    Moves the card back to the first step setted in Learning/Relearning Steps.

  • Hard
    Repeats the current step after the first step, and is the average ofAgain and Good.

  • Good
    Moves the card to the next step.If the card was on the final step, the card is converted into areview card (it 'graduates').

  • EasyImmediately converts the card into a review card.

New cards have no ease, so no matter how many times you press'Again' or 'Hard', the future ease factor of the card won't be affected.The same can be said about relearning cards: pressing 'Again'or 'Hard' won't have any effect over the card's ease.

Review Cards

In SM-2, once a card is graduated, it gets an ease factor. By default is 2.5, but youcan set another value using the Deck Options.

If you press…​

  • Again
    The card is placed into relearning mode, the ease is decreased by 20percentage points (that is, 20 is subtracted from the ease value,which is in units of percentage points), and the current interval ismultiplied by the value of new interval (this interval will be usedwhen the card exits relearning mode).

  • Hard
    The card’s ease is decreased by 15 percentage points and the currentinterval is multiplied by the value of hard interval (1.2 by default)

  • Good
    The current interval is multiplied by the current ease. The ease isunchanged.

  • Easy
    The current interval is multiplied by the current ease times the easybonus and the ease is increased by 15 percentage points.

For Hard, Good, and Easy, the next interval is additionally multipliedby the interval modifier. If the card is being reviewed late,additional days will be added to the current interval, as describedin a previous FAQ.

In FSRS, once a card is reviewed at least once, it gets assigned DSR values.

If you press…​

  • Again
    The card is placed into relearning mode, stability significantly decreases, and difficulty significantly increases.

  • Hard
    The card’s stability either increases or stays the same, and difficulty moderately increases.

  • Good
    The card’s stability increases, and difficulty may increase or decrease very slightly.

  • Easy
    The card’s stability significantly increases, and difficulty moderately decreases.

Limitations

When using SM-2, there are a few limitations on the scheduling values that cards cantake. Eases will never be decreased below 130%; SuperMemo’s research hasshown that eases below 130% tend to result in cards becoming due moreoften than is useful and annoying users. Intervals will never beincreased beyond the value of maximum interval. Finally, all newintervals (except Again) will always be at least one day longer than theprevious interval.

Why doesn’t Anki use SuperMemo’s latest algorithm?

The simple answer is that SuperMemo’s latest algorithm is proprietary,and requires licensing. As Anki is an open source application, it canonly make use of algorithms that have been made freely available, such asFSRS. Preliminary testsseem to indicate FSRS is roughly on par with SM-17.

What spaced repetition algorithm does Anki use? (2025)
Top Articles
Latest Posts
Recommended Articles
Article information

Author: Nicola Considine CPA

Last Updated:

Views: 6094

Rating: 4.9 / 5 (49 voted)

Reviews: 88% of readers found this page helpful

Author information

Name: Nicola Considine CPA

Birthday: 1993-02-26

Address: 3809 Clinton Inlet, East Aleisha, UT 46318-2392

Phone: +2681424145499

Job: Government Technician

Hobby: Calligraphy, Lego building, Worldbuilding, Shooting, Bird watching, Shopping, Cooking

Introduction: My name is Nicola Considine CPA, I am a determined, witty, powerful, brainy, open, smiling, proud person who loves writing and wants to share my knowledge and understanding with you.