If I could go back to my 12 year-old self and tell them about one thing, this would be it. Spaced repetition is the most powerful compounding meta-skill that I know of. I aim to make this article a concise, semi-novel synthesis of everything I know on this topic.
Spaced repetition is essentially the reviewing of information at gradually increasing intervals. This is typically useful because of the spacing effect, which increases retention and speed of learning.
Why do this at all? Remembering brute facts though spaced repetition can be applied to more than just brute facts. is often more useful than it sounds. Often, the memory of simple facts is the main barrier to understanding nielsen . Furthermore, people can typically store 5 to 9 chunks in working memory, which implies (theoretically) that: more memorized things -> larger chunks -> the ability to form more complex thoughts over time. Also, isn’t it really cool to trust that you have a way of remembering things if you absolutely need to?
It is possible to do SR by tracking review times by hand. However, I would recommend using spaced repetition software (SRS) - e.g. Anki, mnemnosyne, supermemo - and falling back to manually tracking review times only for certain things.
3. 🧠 Strategies
Ordered from most to least important:
- Your mindset when doing review sessions and creating cards matters. If the review process isn’t fun, there’s something wrong. Also, it is best to think of the card-writing process as a virtuoso skill to be honed *. You can get better at spaced repetition with deliberate practice, and the effect of spaced repetition compounds over time.
- For beginners, I would recommend starting out with spaced repetition for brute facts. As you gain more familiarity with the process, you can start moving up Bloom’s Taxonomy. i.e. start off with a focus on remembering and understanding, then think about whether you can leverage SR to work on applying, evaluating, analysis and creation.
- Rule of thumb: If item is worth 5-10 minutes of time it is worth doing spaced repetition on gwern .
- All you need to get started: Anki and your favourite calendar/task manager.
- For Anki, I use a mix of opportunistic (e.g. on the bus, waiting in line) and scheduled (1 hour before sleep) review sessions.
- Dealing with notes and articles that I want to review in the future: Many times, I read an article and would like that surfaced up to me in the future for review. I use my task manager (Things3) to schedule these items for the future. A good interval to start experimenting with is
[2 days, 1 week, 3 weeks, 2 months, 6 months].
- Cloze cards (a kind of card in which certain words in a block are hidden) are often the easiest to create, but they need to be written well for long-term retention. This is because clozes may have ambiguous answers. Because of this, you may also have problems determining how good your answer was and how you should rate the card.
- Groups of cards which are similar may interfere with one another. e.g. I’m learning the geography of the world for fun and often mix up pairs of countries that are next to one another.
- The trick here may be to use mnemonics if necessary. E.g. I use “RB” to remember that Romania is above Bulgaria.
- Not getting too hung up on it also helps. If knowing the exact answer isn’t necessary I sometimes grade myself with a ‘Hard" instead of “Incorrect”.
- Anki can be used as a way of reminding yourself of things without necessarily intending to memorize the information This is in some sense, 'hijacking' the intent of the software. For most purposes, I believe other mechanisms are more efficient. . This is an interesting use case that I explore in this article.
3.2 SR for procedural knowledge
Declarative knowledge involves knowing that something is so, whereas procedural knowledge involves how to do something. How I think of the difference between procedural and declarative knowledge is that for the former, you could describe every fact about the act and yet a person would not know from the description how it feels to actually do the act. In the latter, the fact is all there is.
Spaced repetition can be used for both kinds of knowledge, but usually when people talk about spaced repetition software, their main focus is on remembering declarative knowledge. In many ways, that makes sense because most spaced repetition software is optimized for declarative knowledge. The UI/UX of software like Anki is simply not suitable for learning things by doing. Thus, I believe one open question for most people thinking of using spaced repetition to truly remember everything is to come up with effective strategies for working with procedural knowledge.
Here are some example questions that an ideal system for applying SR to procedural knowledge should solve:
- How can I remember how to do a barbell squat🏋️♂️ properly?
- How do I remember to apply < insert some self-improvement hack here > to my daily life?
- How do I remind myself of a cognitive bias whenever I am about to make a certain kind of decision?
- How do I make myself practice < some skill e.g. piano, coding, etc.> efficiently?
I’m still exploring this problem space, but here are some strategies I have been employing:
3.2.A. Theory aids practice
In certain cases, small pieces of declarative knowledge can aid the practice of procedural knowledge. For example, in weightlifting these are called “cues”. I often use these cues to keep my form sharp even if I already know the lift/movement. For instance, for barbell squats, I have a cloze card that looks like:
Master cue for squats: Keep the barbell over the mid-foot by thinking about doing so
This doesn’t directly improve my squats, since one can only improve by doing them properly, with the guidance of a spotter/coach. However, by memorizing the cues in Anki, I can recall them in the period before I do a lift in order to prepare my mind and body.
3.2.B. Anki for Trigger-Action Plan knowledge
If I have new goals/habits that fall into the Trigger-Action Plan (TAP) / Simple Rules archetypes, I can use Anki to remind myself of the goal/habit This is also a case of theory aids practice, but applied in the context of cognition/metacognition. . An example of this is:
“If I catch myself looping while thinking, I will note it and redirect my attention to the next step."
Alexey Guzey has a great article on this. This work really well if you already have an Anki habit, since you will be anchoring your new habit on your current one.
Furthermore, almost any habit can be encoded in the Trigger-Action Plan format, though some goals may need to be broken down into smaller actions/habits. I find that TAP sequences that rely a lot on willpower are less effective.
BAD: goal: I want to lose 10 pounds → TAP: I will walk at least a mile a day when I come home from work.
versus a sequence that relies more on remembering to do something that is moderately easy to actually do (Alexey Guzey has a great example) e.g.
BETTER: goal: I want to lose 10 pounds → TAP: I will put on my running shoes when I come home from work.
Once the habit has been ingrained, the cards can be suspended for reference or revival if necessary.
3.2.C. SR for deliberate practice
There are some things I need to reinforce by doing again (e.g. programming drills, magic tricks). In such cases I use my task manager / calendar to schedule the follow up. Alexey Guzey uses tabsnooze, but I find that using a calendar or task manager works for a greater variety of situations The idea of using spaced repetition for *deliberate practice* was introduced to me in James Koppel's Advanced Software Engineering course. During the course, we would often get exercises (which would take between 5 to 10 minutes) that we were encouraged to drill using SR. .
3.3. Anki-specific tips
- Start with one deck [Nielsen]:
- Anki is slow when there are too many decks, and maintaining too many decks has a lot of overhead.
- Branch out into other decks when you need different study schedules.
- I use (like Alexey Gurzey) 3 main decks, these decks differ mainly by the maximum review interval a card has.
- 1 day (things I want to be front-of-mind), 21 day (important facts that I need to be able to recall quickly), infinity (everything else).
- Other ideas
- Tags are really useful:
- I use slashes to denote nesting of tags (e.g.
#programming/rust). This matches how I tag things in my own personal notes.
- There are plugins that do this graphically but I think using the native method is more convenient and well-supported.
#book-summarieshas been useful for me to quickly find the summaries of books/papers I have read recently.
- I am also experimenting with using tags to indicate importance (e.g.
#i/5). I think the 3 core decks may serve the same purpose so I might stop doing this.
- I use slashes to denote nesting of tags (e.g.
- Flagging cards can be used for different purposes. I use different colored flags in Anki to indicate different things:
- Formatting, content problems.
- Potential orphan: aka. I need to learn more about this topic or this card wouldn’t make sense in a few months.
- Card should be deleted
- Knowledge half-life expired.
- I am no longer interested.
4. What to apply spaced repetition on
I use spaced repetition across a large variety of my interests. I use Anki on math, engineering, ideas from books/podcasts/etc., geography, language and so on.
To aid in applying procedural knowledge, I use Anki to memorize exercise cues, cognitive biases/mental models, cues for charisma. I also use my task manager/calendar to schedule reviews of articles, notes and practice drills in engineering.
5. Areas for investigation
- Readwise as a way of surfacing highlights from resources that have not been formulated into a testable format.
- Adjusting the scheduler to optimize recall.
- Augmenting Long-term Memory
- Strategies, Tips, and Tricks for Anki
- Memorizing a programming language using spaced repetition software | Derek Sivers
- Instilling Novel Thought Patterns and Making Your Long-Term Memory Accountable with Anki - Alexey Guzey
- Great discussion on reddit on what to memorize
- Using Anki to get better at programming
- Novel uses of Spaced Repetition
- V2 (2020-07-19): updated tactics list, programmable attention