You know that scene in the Matrix where Neo gets plugged into a machine and then magically wakes up and says "I know kung fu"?

Well spaced repetition systems (SRSs) are the closest that scientists have gotten to injecting your brain with knowledge that efficiently. And the science is still advancing every year.

In a nutshell, SRS algorithms are learning tools that determine the frequency of each concept’s repetition based on the user's performance. More difficult concepts are repeated more frequently, while well-known concepts are repeated increasingly less frequently as the knowledge becomes ever more permanent.

Spaced repetition has been found to optimize a learner's study time more significantly than almost all other study "hacks" combined, including mnemonics, stories, gamification, and mental imagery. (We've written extensively about the cognitive science behind why spaced repetition works over on the main Brainscape website)

In this article, we address more of the technical nuts and bolts behind four popular spaced repetition algorithms—(1) absolute SRS algorithms, (2) relative SRS algorithms, (3) manual SRSs, and (4) hard-coded spaced repetition—and how to determine which type of SRS is right for you. We also welcome any comments or questions about spaced repetition over at the Brainscape subreddit, where we can continue the conversation.

Spaced repetition as a "feature"

Spaced repetition as an app feature

The first form of spaced repetition worth acknowledging is the type that is part of a larger online curriculum experience, rather than a stand-alone SRS tool itself. For example: online courses and e-textbook providers that are more of an instructional curriculum, but that have built spaced repetition into things like multiple-choice quizzes at the end of chapters, where incorrect answers are more likely to come up frequently until the user answers correctly.

Similarly, study game apps like Quizlet and DuoLingo have added some intelligent repetition for exercises consistently answered incorrectly, including matching, multiple-choice, and fill-in-the-blank style questions that are interspersed within subsequent units' lessons or activities (even if only in a minimal or rudimentary way).

Many users find the convenience of having spaced repetition built into their main instructional or assessment platform to be all they need to accomplish their learning goals. But more diligent students often want the ability to study their concepts in more flexible ways; to use active recall instead of lazy multiple-choice, to inject their own confidence ratings into the repetition algorithm, and/or to add their own bite-sized notes or flashcards that could be injected into the automated study mix.

Sadly, all-in-one curriculum software developers typically don't have the time and focus to create this range of SRS features that power users’ desire, beyond just the features that support their existing curriculum.

Spaced repetition as a product

For this reason, dedicated web and mobile SRS apps have independently evolved, to supplement larger all-in-one digital curricula whose spaced repetition flexibility falls short.

These powerful standalone study tools offer spaced repetition as the core feature, rather than just an afterthought slapped onto an existing course or curriculum. Dedicated SRS apps typically exist in the form of flashcard platforms that allow both user-generated content and a marketplace of content created by other users or publishers.

Let’s now look at the FOUR popular algorithms these platforms use so that you can choose one that works best for you…

1. Absolute SRS Algorithms (e.g. Anki)

The main benefit of developing an independent learning system completely centered around spaced repetition flashcards is that it frees software designers' minds to focus on the more precise details of the adaptive study experience itself.

The first and most famous of these focused SRS flashcard apps was SuperMemo, developed by Piotr Woźniak in 1985 in Poland and continually maintained until the present day.

The desktop SuperMemo (SM) software uses an "absolute" SRS algorithm, meaning that it specifies an exact date and time at which each flashcard should be repeated, based on parameters including the user's self-rated confidence rating in the card.

If a SM user returns to study the deck at an earlier time than any cards are "due" for a repeat, they are told that there are no cards to study today, and that they should return at a later date.

Such absolute repetition precision can be very powerful for users who have the discipline to study at specified times spread over a long period. In fact, the SM-2 algorithm can be so precise that it determines a flashcard's inter-repetition interval not only based on the user's confidence rating (q), but also on the number of times the card has been previously recalled (n), and on the card's "easiness factor" (EF) that was specified by the content's creator.

The popularity of SuperMemo has inspired several derivative absolute SRS apps over the years, the most notable of which has been Anki, a free desktop and mobile app developed by Damien Elmes using a modified version of the SM-2 algorithm.

Check out: Does Anki work (and is it worth the hype)?

Anki's "open source" nature allows other software developers around the world to customize the study algorithm (among other features) and contribute "add-ons" that afford a nearly infinite range of personalizations for different types of studiers.

Sample dashboard in Anki
Sample study screen in Anki

Anki has since become extremely popular among life hackers, quantified-self enthusiasts, and other "do-it-yourself" learners who prefer a high degree of control over their study optimizations, even if it means having to do a bit of extra work. The /r/anki subreddit is indeed a vibrant forum where the world's autodidacts can compare tips, hacks, and add-ons with fellow users.

2. Relative SRS Algorithms (e.g. Brainscape)

Of course, not everyone is such a diligent learner that they are willing to spend so much time configuring their study technology. Many of us mere mortals prefer a simpler user interface that is more intuitive, convenient, collaborative, engaging, and less dependent on manual configuration or perfect daily study consistency.

For this reason, Brainscape (and some other mobile flashcard apps) have developed SRS software that determines the likelihood of each card's repetition based on the user's relative confidence rating rather than setting an absolute date and time for repetition.

(Read: Brainscape vs Anki)

For example, if a user rates a Brainscape flashcard a "5" (perfect confidence), the algorithm will mark it as less likely to repeat than other cards, but will not precisely schedule it for a predetermined date. A user who has rated all cards in a deck as a "5" will accordingly be able to continue studying that deck of 5s (and potentially downgrading as needed) even though theoretically they may not have "needed" to review those cards again quite so soon.

This relative, rather than absolute, flashcard spacing has the following advantages:

  • It absolves the flashcard author from having to determine each card's "easiness factor" (and rather leaves it to the learner to dynamically determine the relative confidence and difficulty of each card, which can vary between learners and over time).
  • It absolves the learner from having to set their preferred inter-repetition study intervals. Example: deciding that a confidence rating of "2" should mean "one day from now", etc.
  • It allows a user to easily "cram" a deck or class one last time before an exam, even if many/most highly-rated cards technically aren't scheduled for review until later.
  • It provides leeway for learners to work studying into their busy day, rather than the inverse. Example: If I happen to have four hours available to study today but only five minutes tomorrow, then I can still study as much as I have time for right now, rather than being locked out because my card repeats aren't "due" yet. (NOTE: Yes, it is possible to bypass this lock by entering "Custom Study" in Anki and/or changing your daily new card limit, but that's just added configurations that many people don't want to have to mess with.)
  • It permits the relative SRS's analytics to estimate your net amount of study time remaining (e.g. 3 hours, 14 minutes) that you can spread over time as it's convenient for you, rather than just telling you that you have 17 weeks remaining (if you were to study the perfect precise amount every day).
  • It is more amenable to a "progressive" learning path that encompasses many decks at once, rather than the user having to choose which deck to study every time. This process automatically opens up new (not-yet-seen) cards and decks only as the user is ready for them, based on their cognitive load.
Brainscape's dashboard and study experience
Brainscape's dashboard and study experience. Note that you can easily study a "progressive" mix by simply tapping the single ‘Study’ button at the top, and it only progresses to new cards as the user's cognitive load permits.

This last point is particularly important, as it relieves a user of having to deliberately divide time between learning new concepts and reviewing older ones; instead, presenting a single ongoing progressive study experience in which new concepts are only introduced as the learner's pace allows.

Brainscape is able to do this by running a "fresh" version of the algorithm every time a new card is selected for studying. The algorithm first chooses which confidence "bucket" to choose a card from, but where the 1 bucket ("hardest" cards) is combined with the New Cards bucket to trigger a special subroutine whenever the "New/1" bucket is selected.

This subroutine allows Brainscape to much more dynamically determine the pace of introduction of new cards depending on the learner's existing cognitive load. If there are many cards already rated as a "1", then Brainscape avoids introducing new material (and will thus repeat the "1s") until enough cards have been upgraded to higher levels of confidence. This helps preserve the learner's limited working memory and prevents them from becoming discouraged.

By dynamically determining a user's readiness for new flashcards, Brainscape absolves users from having to choose which deck to study, instead of presenting them with one single Study button for a class or even their entire library of flashcards. The algorithm will then intelligently determine the right time to begin introducing cards from the next deck, keeping learners on the fringe of the zone of proximal development.

3. Manual Spaced Repetition Systems

Another type of SRS algorithm isn't really an automated "algorithm," so much as it is the analog way that astute learners have always practiced spaced repetition on their own. And paper flashcards are the prototypical example of such manual-spaced repetition systems.

As you study them, you might manually sort cards into your "easy pile" and "hard pile", after which you would likely focus more of your attention on the harder pile. This has traditionally been known as the Leitner method.

This natural learning behavior has now been replicated by basic digital flashcard apps, such as Chegg Prep and Cram, that don't offer automated, progressive spaced repetition but rather allow the user to mark each flashcard as "Got it" or "Not Quite", after which point they can filter for just the "Not Quite" cards until those cards have been sufficiently mastered.

Chegg's flashcard app allows users to manually filter for the cards they do "not quite" know, thus allowing users to implement their own manual form of spaced repetition. It is still the learner's responsibility to decide when to come back and review those cards.

Of course, some automated SRS flashcard platforms (like Brainscape) allow for such manual spaced repetition as well, as an alternative option to their main absolute or relative SRS algorithm.

Brainscape, for example, offers a "bookmark" button in addition to the 1-5 confidence options, allowing users to flag particular flashcards to come back to later. This can not only be used for manual spaced repetition but can also be used to flag concepts to discuss with a tutor or peer.

Brainscape's bookmark feature
Brainscape's "bookmark" feature (seen in the top-left of the flashcard) allows the learner to flag a particular card to see or discuss later. Notice in the Deck screen to the right, there is a separate tab where a user can tap to see all Bookmarked cards.

For small amounts of content and for specific circumstances, manual spaced repetition tools like these can be very helpful for learners of many subjects.

4. "Hard-Coded" Spaced Repetition

Some types of learning formats are non-adaptive by nature. For example, a video or audio playlist is "linear" and does not have customizable spaced repetition based on each learner's mastery of each individual learning objective within the curriculum.

But despite this lack of adaptivity, some video/audio curriculum designers have still endeavored to inject spaced repetition into the material itself, even if it's "one-size-fits-all." For example, in a Spanish video playlist, each new lesson might still drop in occasional reviews of the concepts taught in previous lessons, gradually decreasing the frequency of review of earlier items as they're solidified in the learner's memory.

We call these spaced repetition curricula "hard-coded" because:

  1. They still involve one of the core principles of spaced repetition (gradually increasing the interval between the review of each item, but \
  2. They are not in any way intelligent (adaptive) in the way that they determine the interval of repetition. In other words, they are not customized to the learner.

Probably the most famous "hard-coded" spaced repetition curriculum is the Pimsleur Method. A brilliant tool for passive learning, the Pimsleur Method helped pioneer pre-adaptive spaced repetition through the production of engaging foreign language educational recordings.

From records to audio cassettes to CDs to today's MP3s, Pimsleur has helped millions of people learn languages via conversational audio playlists, which progressively add new concepts in each lesson, while keeping previous lessons' concepts refreshed.

Such hard-coded spaced repetition can be an extremely effective way to leverage this powerful learning phenomenon for audio and video series where the curriculum is "linear" and passive.

Which type of SRS algorithm is better?

Forgive us for this clickbaity heading but none of the three types of SRS algorithms are objectively "better". It all depends on:

  • The amount you need to learn,
  • Your appetite for manual configuration, and
  • Your style of studying.

It is probably true that—in a perfect world where you are studying at the exact right time every day, and in the exact right amounts—an absolute SRS algorithm like Anki will provide a more precise and efficient use of study time than a relative SRS algorithm (and certainly more than a manual study system will).

It's also probably true that a relative spaced repetition algorithm like Brainscape will be more convenient and flexible for users who don't have the patience for many configurations or precise daily scheduling.

It's up to the learner to determine whether such precision of an absolute algorithm is worth the tradeoffs in terms of extra setup work and user experience.

The bottom line is that any SRS algorithm is already exponentially more effective than traditional "linear" study methods (such as reviewing highlighted notes, re-watching lectures, or taking multiple-choice practice tests). Comparatively, the difference in card-repetition efficiency between the automated SRS algorithms themselves is vanishingly trivial.

Please feel free to share your own experiences with spaced repetition over at the Brainscape subreddit!