explaingit

deep-0blue/bettterfsrsv6

Analysis updated 2026-05-18

28PythonAudience · developerComplexity · 2/5LicenseSetup · moderate

TLDR

A Python tool that benchmarks and personalizes Anki's FSRS-6 spaced repetition scheduling algorithm using your review history.

Mindmap

mindmap
  root((BettterFSRSv6))
    What it does
      Benchmarks FSRS-6 accuracy
      Fits personalized parameters
      Reads Anki review history
    Tech stack
      Python
      scipy
      pytest
    Use cases
      Measure scheduling accuracy
      Personalize FSRS parameters
      Compare log-loss and RMSE
    Audience
      Anki power users
      Developers
    Setup
      Point at Anki collection file
      Optional --fit flag
      Requires scipy for fitting

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Measure how accurately Anki's default FSRS-6 algorithm predicts your recall using log-loss and RMSE.

USE CASE 2

Fit a personalized version of the FSRS algorithm tuned to your own review history.

USE CASE 3

Compare your personalized scheduling accuracy against the generic FSRS-6 defaults.

What is it built with?

Pythonscipypytest

How does it compare?

deep-0blue/bettterfsrsv6alicankiraz1/codexqbamirmushichge/vibemotion
Stars282828
LanguagePythonPythonPython
Setup difficultymoderateeasymoderate
Complexity2/53/53/5
Audiencedeveloperdeveloperdesigner

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires locating your Anki collection database file and installing scipy for the personalization step.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

In plain English

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.

Copy-paste prompts

Prompt 1
Help me run BettterFSRSv6 against my Anki collection file to benchmark FSRS-6 accuracy.
Prompt 2
Explain what log-loss and binned RMSE mean in the context of this FSRS benchmark tool.
Prompt 3
Walk me through using the --fit flag to personalize my FSRS parameters.
Prompt 4
What does it mean if my personalized FSRS scores better than the generic defaults?

Frequently asked questions

What is bettterfsrsv6?

A Python tool that benchmarks and personalizes Anki's FSRS-6 spaced repetition scheduling algorithm using your review history.

What language is bettterfsrsv6 written in?

Mainly Python. The stack also includes Python, scipy, pytest.

What license does bettterfsrsv6 use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is bettterfsrsv6 to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is bettterfsrsv6 for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.