FSRS

Mochi schedules your reviews with its own algorithm by default, but you can switch to FSRS (the Free Spaced Repetition Scheduler) if you prefer. FSRS is an open, well-studied scheduling model that predicts, for each card, the probability that you’ll still remember it on any given day, and then picks review intervals to hit a recall target you choose.

How FSRS differs from the default algorithm

The default Mochi algorithm adjusts each card’s interval up or down by fixed multipliers every time you remember or forget it. It’s simple and predictable, and it works well without any tuning.

FSRS instead builds a small model of each card from your review history, tracking two values:

  • Stability: how long the card can go before your chance of recalling it drops to your target.
  • Difficulty: how much harder this particular card is for you than average.

Because it models cards individually, FSRS can space easy cards out faster and hard cards more gently, and it lets you set the exact recall rate you’re aiming for.

Switching to FSRS

  1. Click Settings in the left-hand side navigation.
  2. Choose Review Settings from the dropdown.
  3. Under Scheduling algorithm, select FSRS.

Your existing Learned cards move onto FSRS scheduling right away. It isn’t a case of new cards using FSRS while older ones stay on the Mochi algorithm, and your cards don’t lose their progress. FSRS derives each card’s stability and difficulty from that card’s existing review history, so a card you’ve been reviewing for a year carries that history with it rather than starting over. Nothing resets.

You can switch back to the Mochi algorithm at any time in the same place.

Grading stays remembered / forgot

If you’re coming from Anki, you’ll be used to grading each card on a four-button scale (Again / Hard / Good / Easy). Mochi doesn’t have that. It records a review as either Remembered or Forgot, and that stays true under FSRS.

FSRS works fine with binary grades: remembered and forgot map cleanly onto its Good and Again grades. You lose a little of the information that Hard and Easy would carry, but your own history is still the best data FSRS has to work with.

Custom parameters

FSRS uses a set of parameters (sometimes called weights) that describe how your memory behaves. Mochi ships with sensible defaults, so you don’t have to touch these to use FSRS.

If you have your own optimised parameters, you can enter them under Review Settings, in the Parameters field of the Scheduling algorithm section. You can also set your Target retention rate there, which is the recall probability FSRS aims to keep each card at. A lower number shows cards less often; a higher number shows them more often.

Optimising against your own data

Mochi doesn’t have a built-in optimiser, so producing your own parameters means running an external FSRS optimiser over your review history. You don’t need a special export feature to get that history out. It’s already available in two ways:

  • Export a deck as .mochi. A .mochi file preserves each card’s full review history, including the date, due date, interval, and whether you remembered it. The Markdown and CSV export formats do not keep review history, so use .mochi specifically. See Exporting and the Export format reference.
  • Use the API. GET /api/cards returns a reviews array on every card with the same information. See the API reference.

Once you’ve optimised your parameters, paste them into the Parameters field described above.

One caution if you’re tempted to optimise somewhere else: FSRS parameters are fitted to a specific set of material and to how you personally grade it. Numbers derived from a separate Anki deck aren’t likely to describe your Mochi collection any better than the defaults do, so your own history is the better input, even with binary grades.