[FSRS] Separate Desired Retention for Young and Mature cards

Thank you for your response.

“Also, the separate deck approach I mentioned above gives more control to the user. So, that’s probably better, even though it’s more cumbersome.”

  • That’s better than nothing but in real life, it’s quite impractical. It would require constantly moving cards between decks and maintaining multiple additional decks just for this purpose.
  • For example, I have vocabulary decks for multiple languages. Managing extra decks for each one would quickly become a headache.

“However, there is one more important issue. How do you define mature cards? Conventionally, Anki used the 21-day interval to distinguish them. But, if we alter the DR, the interval changes too.”

  • That issue where the interval shifts when DR changes can be solved by not relying on the scheduled interval (which DR affects), but instead looking at the last successfully reviewed interval.
  • For example, if a card was scheduled at 30 days and I marked it as “Good,” then regardless of the DR setting, I know the card has survived a 30-day gap. That gives a stable and DR-independent marker of maturity.

“Secondly, 21d is not a good cutoff for this use-case, IMO. It should be something larger like 6 months or 1 year.”

  • That’s a fair point and in the best case, the cutoff could be left as a customizable setting for power users. Some might prefer 6 months, others 12.
  • But in my case, even something simple like treating all cards under 28 days as “young” and giving them a different DR would already be a big step forward. It’s certainly better than nothing.

Personally, I’d accept any cutoff: 28 days, 100 days, even 1 year because this feels like the simplest improvement that doesn’t require designing a new memory model (like we’d need for short-term memory). It seems like the obvious next step in FSRS evolution.

Right now, mature cards with 6–12 month intervals are being treated the same as 1-week cards in terms of DR. That means I’m forced to accept the idea of forgetting 10–20% of hard-learned material after a year, even when I could have avoided that with minimal additional workload. That tradeoff just feels wrong.

But of course, I could be wrong.
Open to correction.

@Hey_Mo I have some problems to understand you then. Let me share final though: FSRSv6 meet my DR for young and mature cards = works as it should = changing anything it is risk that will stop doing what it should = no changes should be implemented which you propose.

  1. Avoiding complexity, yes. Most users already struggle with choosing even one value of DR. Choosing two will make the average user’s head explode. Some (most?) users aren’t even aware that there is a relationship between interval lengths and DR, and think that long intervals are an inherent property of FSRS.
  2. GitHub - open-spaced-repetition/SSP-MMC-FSRS: Stochastic-Shortest-Path-Minimize-Memorization-Cost for FSRS
    Dynamically adjusting DR doesn’t outperform a well-chosen fixed value of DR.
1 Like

@Expertium Thanks for your participation!

Most users already struggle with choosing even one value of DR. Choosing two will make the average user’s head explode.

  • I understand the desire to avoid overwhelming average users. But wouldn’t the cleanest solution be to simply hide advanced settings behind an “expert mode” toggle? That way, casual users aren’t forced to engage with added complexity, while more advanced users aren’t artificially limited.

Dynamically adjusting DR doesn’t outperform a fixed DR.

  • That may be true on average, but that’s not what I’m arguing for. I’m not asking for randomized or algorithmically adaptive DR. I’m proposing a deliberate split based on memory maturity.

Because there is a different cost between forgetting a 7-day card is fundamentally different from forgetting a 1-year card, and treating them with the same DR ignores that difference.

The core message of my suggestion is this: forgetting a card after a week isn’t the same as forgetting one you’ve remembered for a year.

For example, forgetting a word I learned yesterday while studying Japanese is expected, as I’ll see it again soon. But forgetting a word I knew for a year means I’ll likely have to re-learn it from scratch, wasting all prior effort.

Forgetting well-established knowledge causes more “waste” (time to re-learn) compared to forgetting recently learned info, which is part of normal learning progress.

Personally, I’m fine with having a 70–80% DR for cards with short intervals if it helps accelerate their growth. But I would never want an 80% DR for cards with intervals over a year relearning those would feel like a waste of time and effort. That’s why I believe DR should reflect the stage of memory the card is in, not be fixed across the board.

Right now, users are forced to either tolerate unnecessary reviews for young cards or accept a high failure rate for mature ones. Splitting DR would remove that artificial compromise.

I could be wrong, of course, but this idea has been raised by others too, so I believe it’s worth considering.

2 Likes

Dynamically adjusting DR doesn’t outperform a fixed DR.

While dynamically adjusting DR might not outperform a fixed DR on average, some users would prefer having a dynamic DR option rather than a fixed one.

As mentioned in the Github discussions, many users want not only to maintain retention with a static DR, but also to improve retention over time as intervals grow.

Something I just want to really insist on, is the fact that while it’s certainly tempting to be blinded by stats and interpreting how “better prediction = better tool”, it would be interesting to stay focus on why people use Anki in the first place. To build a model that will predict their 80% probability of remembering something, and decreasing their workload while never going above that? Or instead, to gradually increase that retention to mastery level? In my opinion, the latter.
In any case, if you think “Just increase retention”, increasing retention a deck level would lead to an enormous amount of workload that even SM-2 would not lead to. [link above]

I’ve proposed that before, Dae (main dev) doesn’t want that. Having two UI layouts, Standard and Advanced, would solve like 20 different issues with Anki, but good luck convincing Dae.

That’s the idea behind Jarrett’s algorithm for adaptive DR, but right now it doesn’t perform well.

1 Like

Dae (main dev) doesn’t want that.

  • That’s unfortunate. Is there a specific reason behind this decision?

Having two UI layouts, Standard and Advanced, would solve like 20 different issues with Anki.

  • I’d be curious to hear more, what other issues could that kind of layout solve?

That’s the idea behind Jarrett’s algorithm for adaptive DR, but right now it doesn’t perform well.

  • Then I guess all hope rests on Jarrett’s algorithm for both adaptive DR and a future model for short-term memory.
  • Still, I’m glad to know that at least in theory, these ideas could be possible a few years down the line.