# How BetterLang's spaced repetition works

> Spaced repetition brings a word back just before you would forget it, so every repetition counts. BetterLang schedules each Card with FSRS-6, an open-source memory model fitted on large sets of real flashcard answers, at a target recall you choose. This page explains the science, the algorithm and every setting, with sources.

## The problem: forgetting

New memories fade fast at first, then more slowly. Hermann Ebbinghaus measured this forgetting curve on himself in 1885 ([Ebbinghaus, 1885](https://doi.org/10.1037/10011-000)), and a modern replication found the same shape ([Murre & Dros, 2015](https://doi.org/10.1371/journal.pone.0120644)).

The good news: each time you successfully recall something, it fades more slowly afterwards. That is the idea spaced repetition is built on. It brings a word back when you are about to forget it, you recall it, and the next gap can be longer.

## Two findings that make it work

**Spacing.** Practice spread over time beats the same practice crammed together, across hundreds of comparisons ([Cepeda et al., 2006](https://doi.org/10.1037/0033-2909.132.3.354)). The best gap grows with how long you need to remember ([Cepeda et al., 2008](https://doi.org/10.1111/j.1467-9280.2008.02209.x)), and spacing helps second-language learning too ([Kim & Webb, 2022](https://doi.org/10.1111/lang.12479)).

**Retrieval.** Recalling something keeps it longer than seeing it again, although seeing it again feels more effective ([Roediger & Karpicke, 2006](https://doi.org/10.1111/j.1467-9280.2006.01693.x)). With 40 Swahili–English word pairs, students recalled about 80% of the pairs they kept retrieving a week later, against about a third of the pairs they only kept studying ([Karpicke & Roediger, 2008](https://doi.org/10.1126/science.1152408)).

Put together: try to recall each word, at gaps that grow as the memory gets stronger. Doing that by hand is impossible with hundreds of words, so a scheduler does it.

## The scheduler: FSRS-6

BetterLang uses FSRS, the Free Spaced Repetition Scheduler, version 6. It is open source, and it came out of research that trained memory models on large sets of real flashcard answers ([Ye, Su & Cao, 2022](https://doi.org/10.1145/3534678.3539081); [Su et al., 2023](https://doi.org/10.1109/TKDE.2023.3251721)). Its authors publish an open benchmark of how well it predicts recall ([srs-benchmark](https://github.com/open-spaced-repetition/srs-benchmark)).

FSRS keeps three numbers for each Card:

- **Difficulty**, from 1 to 10: how hard this word is for you.
- **Stability**, in days: how long until your chance of recalling it falls to 90%.
- **Retrievability**: your chance of recalling it right now. It falls as time passes.

After every answer, FSRS updates the difficulty and the stability. It then sets the Card's next practice time for the moment your chance of recall is predicted to fall to the target you chose.

BetterLang's engine is a line-for-line port of the reference implementation, [py-fsrs](https://github.com/open-spaced-repetition/py-fsrs), checked against answer histories that py-fsrs itself produced. FSRS-6 has 21 parameters, and everyone uses the published defaults for now.

## Your answer, in FSRS terms

| You press | FSRS reads it as | What happens next |
|---|---|---|
| Yes | Good | Stability grows, and the next practice is further away. |
| Almost | Again | A miss: the Card comes back soon and is learned again. |
| Not at all | Again | A miss: the Card comes back soon and is learned again. |

"Almost" counts as a miss because FSRS models one thing: whether the recall happened. A word you nearly had is a word you could not use yet.

## A new word's first steps

- A new word comes back after 1 minute, then after 10 minutes, inside the same session.
- A known word you miss comes back after 10 minutes, then rejoins the longer gaps.
- Each gap is spread a little at random, so Cards learned together do not all come back on the same day.

## Choose how much you want to remember

The **Spacing** setting is the target recall: the share of words you should still remember when they come back.

| Setting | Target recall | Trade-off |
|---|---|---|
| Closer | 95% | The most practice. Almost nothing slips. |
| Standard (default) | 90% | FSRS's default balance. |
| Wider | 85% | Less practice, a few more misses. |
| Widest | 80% | The least practice. The lowest target the FSRS authors recommend: below it, forgetting costs more time than the spacing saves. |

## How many new words a day

BetterLang introduces at most **10 new words a day** by default; you can choose 0, 5, 10 or 20. Every new word adds practice in the days that follow, so a steady intake keeps each day's practice about the same size.

## What "Ready" means

A Card is **Ready** when its next practice time has come. Practice shows your Ready Cards, then new words up to your daily allowance. If you skip a few days, your Ready Cards wait for you, and FSRS uses the real time since your last answer, so a late answer still updates the memory correctly.

## Recognition first, then production

- While a word is new, you see the word and recall its meaning.
- Once it is familiar, you see the meaning and the sentence with the word blanked, and recall the word itself.
- Typing asks you to write it, accents included, or to say it with your device's dictation.

Recognising a word is easier than producing it: of four ways of testing word knowledge, recalling the word from its meaning was the hardest ([Laufer & Goldstein, 2004](https://doi.org/10.1111/j.0023-8333.2004.00260.x)). So production comes once recognition is secure.

## Which sentence you see

- **While a word is new,** its Flashcard shows the same sentence every time. One consistent context helps the early learning of a new word ([Mak, Hsiao & Nation, 2021](https://doi.org/10.1016/j.jml.2020.104203)), and adults recalled more of a new word's meaning after meeting it in one coherent story ([Hulme et al., 2023](https://doi.org/10.3758/s13423-023-02316-z)).
- **Once you know it,** each session shows the sentence you saw longest ago. Varied contexts help a known meaning carry over to new texts ([Bolger et al., 2008](https://doi.org/10.1080/01638530701792826); [Norman et al., 2023](https://doi.org/10.1177/17470218221126976)), though the effect is small.
- **Saved from only one sentence?** Once you know the word, up to three sentences that use it are found in your own Library, marked "From your Library".
- **Deleted a sentence?** It is gone for good, including from the Library search.

## Only real recall changes a Card's schedule

- Flashcards and Typing change a Card's schedule.
- Sentence practice has its own FSRS schedule for each sentence. A sentence answered right on the first try counts as Good; anything else as Again. Once a sentence is stable for about three weeks, you type or dictate the whole sentence instead of ordering tiles.
- Audio Drill's active recall has its own drill schedule.
- Writing and the AI chat tutor never change any schedule.

That keeps each memory model honest: a word's schedule reflects recalling that word, not unscrambling a sentence it appears in.

## Where the evidence stops

- FSRS's default parameters were fitted on flashcard data from many learners. They are not yet fitted to you; that needs a few hundred of your own answers, and it is planned.
- Sentence schedules use the same defaults, although they were not fitted on sentences. We watch first-try accuracy and adjust.
- No study has tested BetterLang itself.

## Questions

### Which spaced repetition algorithm does BetterLang use?

FSRS-6, the open-source Free Spaced Repetition Scheduler, with its default parameters, ported line for line from the reference implementation py-fsrs.

### Why does "Almost" count as a miss?

FSRS models whether a recall happened. A near miss means the word is not usable yet, so it comes back soon.

### What happens if I skip a few days?

Your Ready Cards wait for you. FSRS uses the real time since your last answer, so a late answer still updates the memory correctly.

### How much should I practise each day?

A little every day works better than a lot at once. New words are capped at 10 a day by default, and 15 answers a day keep your streak.

### Can I make words come back more or less often?

Yes. Settings has a Spacing option: Closer (95% target recall), Standard (90%, the default), Wider (85%) and Widest (80%).

## Sources

1. Bolger, D. J., Balass, M., Landen, E., & Perfetti, C. A. (2008). Context variation and definitions in learning the meanings of words: An instance-based learning approach. *Discourse Processes*, 45(2), 122–159. https://doi.org/10.1080/01638530701792826
2. Cepeda, N. J., Pashler, H., Vul, E., Wixted, J. T., & Rohrer, D. (2006). Distributed practice in verbal recall tasks: A review and quantitative synthesis. *Psychological Bulletin*, 132(3), 354–380. https://doi.org/10.1037/0033-2909.132.3.354
3. Cepeda, N. J., Vul, E., Rohrer, D., Wixted, J. T., & Pashler, H. (2008). Spacing effects in learning: A temporal ridgeline of optimal retention. *Psychological Science*, 19(11), 1095–1102. https://doi.org/10.1111/j.1467-9280.2008.02209.x
4. Ebbinghaus, H. (1885). *Über das Gedächtnis: Untersuchungen zur experimentellen Psychologie.* Duncker & Humblot. English translation (1913): *Memory: A contribution to experimental psychology.* Teachers College, Columbia University. https://doi.org/10.1037/10011-000
5. Hulme, R. C., Begum, A., Nation, K., & Rodd, J. M. (2023). Diversity of narrative context disrupts the early stage of learning the meanings of novel words. *Psychonomic Bulletin & Review*, 30(6), 2338–2350. https://doi.org/10.3758/s13423-023-02316-z
6. Karpicke, J. D., & Roediger, H. L., III (2008). The critical importance of retrieval for learning. *Science*, 319(5865), 966–968. https://doi.org/10.1126/science.1152408
7. Kim, S. K., & Webb, S. (2022). The effects of spaced practice on second language learning: A meta-analysis. *Language Learning*, 72(1), 269–319. https://doi.org/10.1111/lang.12479
8. Laufer, B., & Goldstein, Z. (2004). Testing vocabulary knowledge: Size, strength, and computer adaptiveness. *Language Learning*, 54(3), 399–436. https://doi.org/10.1111/j.0023-8333.2004.00260.x
9. Mak, M. H. C., Hsiao, Y., & Nation, K. (2021). Anchoring and contextual variation in the early stages of incidental word learning during reading. *Journal of Memory and Language*, 118, Article 104203. https://doi.org/10.1016/j.jml.2020.104203
10. Murre, J. M. J., & Dros, J. (2015). Replication and analysis of Ebbinghaus' forgetting curve. *PLOS ONE*, 10(7), e0120644. https://doi.org/10.1371/journal.pone.0120644
11. Norman, R., Hulme, R. C., Sarantopoulos, C., Chandran, V., Shen, H., Rodd, J. M., Joseph, H., & Taylor, J. S. H. (2023). Contextual diversity during word learning through reading benefits generalisation of learned meanings to new contexts. *Quarterly Journal of Experimental Psychology*, 76(7), 1658–1671. https://doi.org/10.1177/17470218221126976
12. Open Spaced Repetition. *py-fsrs*: the reference Python implementation of FSRS, version 6 (MIT licence). https://github.com/open-spaced-repetition/py-fsrs
13. Open Spaced Repetition. *srs-benchmark*: an open benchmark of spaced repetition algorithms. https://github.com/open-spaced-repetition/srs-benchmark
14. Roediger, H. L., III, & Karpicke, J. D. (2006). Test-enhanced learning: Taking memory tests improves long-term retention. *Psychological Science*, 17(3), 249–255. https://doi.org/10.1111/j.1467-9280.2006.01693.x
15. Su, J., Ye, J., Nie, L., Cao, Y., & Chen, Y. (2023). Optimizing spaced repetition schedule by capturing the dynamics of memory. *IEEE Transactions on Knowledge and Data Engineering*, 35(10), 10085–10097. https://doi.org/10.1109/TKDE.2023.3251721
16. Ye, J., Su, J., & Cao, Y. (2022). A stochastic shortest path algorithm for optimizing spaced repetition scheduling. *Proceedings of the 28th ACM SIGKDD Conference on Knowledge Discovery and Data Mining (KDD '22)*, 4381–4390. https://doi.org/10.1145/3534678.3539081
