Analysis updated 2026-05-18
Measure how accurately Anki's default FSRS-6 algorithm predicts your recall using log-loss and RMSE.
Fit a personalized version of the FSRS algorithm tuned to your own review history.
Compare your personalized scheduling accuracy against the generic FSRS-6 defaults.
| deep-0blue/bettterfsrsv6 | alicankiraz1/codexqb | amirmushichge/vibemotion | |
|---|---|---|---|
| Stars | 28 | 28 | 28 |
| Language | Python | Python | Python |
| Setup difficulty | moderate | easy | moderate |
| Complexity | 2/5 | 3/5 | 3/5 |
| Audience | developer | developer | designer |
Figures from each repo's GitHub metadata at analysis time.
Requires locating your Anki collection database file and installing scipy for the personalization step.
BettterFSRSv6 is a Python toolkit for Anki users who want to measure and improve how well the scheduling algorithm predicts their memory. Anki is a popular flashcard application that uses spaced repetition: it decides when to show you each card again based on how well you recalled it last time. The algorithm that makes those scheduling decisions is called FSRS, and version 6 is the current standard. This project does two related things. First, it reads your Anki review history directly from the app's database file and runs a benchmark to measure how accurately the default FSRS-6 algorithm predicts whether you will remember a card on any given day. Second, it can fit a personalized version of the algorithm tuned specifically to your review patterns, which may predict your recall better than the generic defaults. The accuracy measurements use two standard statistical metrics: log-loss, which measures how far off the algorithm's probability estimates are from your actual recall results, and binned RMSE, which groups cards by different factors and checks whether the predicted recall rates match the real ones across those groups. Both metrics follow the same evaluation approach used in the official FSRS benchmark tool. Using it requires Python and some comfort with running command-line scripts. You point the tool at your Anki collection file, and it outputs the benchmark scores. Adding the --fit flag also runs the personalization step, which requires the scipy library. The project is MIT licensed and includes a test suite you can run with pytest.
A Python tool that benchmarks and personalizes Anki's FSRS-6 spaced repetition scheduling algorithm using your review history.
Mainly Python. The stack also includes Python, scipy, pytest.
Use freely for any purpose, including commercial use, as long as you keep the copyright notice.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.