Disperse (a little) the repetition dates please

I am using very steadily (streak=108), relatively intensely Clozemaster at the moment, targeting ca. 200 repetitions a day and I have a score nearing 500,000.

I am struck how poorly distributed/smoothed the daily workload remains over time.

Looking at my schedule in coming days, I have days with 16 reps, days with 276, a crazy difference of 17x.

As a user of Supermemo, I am never faced with that issue because Supermemo slightly randomizes the repetition spread. It would not be 90 days or 180 days, but 90 plus a random number within a range of +/- 5% of 90, 180 +/- 5%.

This has obviously no impact on the memorization efficacy.

After a few iterations, the result is that you do not get crazy, daily workload clusters like in Clozemaster currently: everything gets randomly smoothed out after a while.

I believe that it is programmatically trivial to implement and would greatly increase the comfort of using the app for committed users.

Many thanks for your consideration.


Here is the graphic illustration of my point, using the March repetition schedule of my drills in Clozemaster and Supermemo:

Clozemaster has an easy win here to close a qualitative gap with Supermemo and improve user experience.


I’ve been thinking in the same way, that some randomization would smoothe things out in the long run.

Below is the review forecast for one of my language pairings:


I wonder about this peak I will be seeing shortly; my guess is that it’s my punishment for having been extra diligent on one day a year back. :wink:


What are your review settings under both “Review Intervals” and “For sentences answered correctly that are already 100% Mastered”?

If your review intervals are multiples of each other (like 10 and 30), or even if they have some divisors in common (like 20 and 30), I believe that there will be a tendency for them to start clustering on certain days. It so happens that the review intervals chosen by default are multiples of each other (perhaps 0, 1, 10, 30, and 180 days), so this is common.

I believe that the intervals chosen by “Hard/Normal/Easy” for sentences that are already 100% mastered are always either half or an integral number of times the interval for 100% mastered. I don’t think this the interface currently allows us to change this, however.

For one of my languages, I long ago changed the settings to 1, 5, 11, 23, and 365 days, with an always increasing next review interval for Hard/Normal/Easy buttons. I do get pile-ups, perhaps partly due to the fact that 5 goes into 365 evenly, but more likely because of the fact that the intervals for Hard/Normal/Easy are multiples of 365. Today I changed the 5 to 4 so that none of the intervals would have any factors in common, but I still expect to see pile-ups.

Randomization would probably do a better job of smoothing out peaks, but at least setting the review intervals is under our control.

@mike, do you have any comment as to the feasibility of the kind of dispersion that @Anxos is mentioning? It would be a little harder to explain in the interface, but hopefully not too much harder.


Here is how it is implemented in the Obsidian SRS, directly inspired from Anki (and Supermemo):

User documentation, where describing intervals, just has to indicate “+/-5% to avoid repetition clustering”.

Easy win.


Agreed! Work in progress, aiming to get this added within the next few months if not sooner.


I’m still waiting eagerly for this feature.


In @mike we trust.

With the patience of angels.


Fuzz is coming, but that will only help with reviews moving forward. There will still be the issues of 1. if you already have a huge number of reviews backlogged and 2. there are already a bunch queued up for the same day like in the graph @morbrorper posted above.

  1. might be out of scope for this thread - max reviews per collection per day seems like it might be the best option, but we’re open to ideas/discussion. Also not sure how that’d work with review forecasting just yet.

For 2., perhaps some way to redistribute reviews? A form like “Redistribute reviews evenly over the next N days” or “Redistribute reviews with a max of N per day” that you could submit whenever you get backed up or you’re coming back after a break? Open to ideas here too, we’re still thinking it through.

Will let you know once fuzz is up.


Great to read. :+1:t2:

Regarding the interesting issue of legacy accumulation:

If your system retains the size of the last interval applied to a card, you can fuzz the reviews scheduled into the future to disperse the existing daily concentrations.

You need to shift the date of each future repetitions by, say, +/-5% fuzz of the last interval applied to the card , with a check that a negative adjustment number does not send the repetition to a date before today. That way, local, high-count daily repetition stacks will disperse.

In theory, it could be done once, on the day of fuzz launch. Maybe as a voluntary opt-in for each user? Dunno. It would certainly improve the quality of study life of most on clozemaster (with better customer retention as a reward :smiley:).


Even with a fuzzed backlog it still would be helpful if the non-mastered and fully mastered reviews were kept separate. Today, with a backlog of 3000 reviews, I have no idea how many of those are essential (non-mastered), that I need to deal with promptly in order not to fall even further behind, and how many are part of the backlog and can be picked off at leisure.

I would also suggest that the recurring reviews be sorted by age, instead of the current sort on due date.


Thanks for the input!

What do you think of a “max reviews per collection per day” setting? It’d be in addition to the fuzz, and a way keep motivation up and avoid large spikes in reviews on any given day, an equivalent to the “maximum reviews/day” setting for a deck in Anki.

Might you be able to share a bit more what you have in mind here? It’d be helpful to see the count of non-mastered ready for review and play through those separately from the 100% Mastered sentences?

Age = when the sentence was first played?

Exactly! In my mind, they are not conceptually the same.

Sorry, I meant “since last seen”, the number one sees in the recently added pop-up.

1 Like

I don’t think it would be helpful to me; it would only serve to hide the problem. When I come to think of it, my main issue is, of all those 7000 backlog items, which ones are more important than the rest? That’s where more sorting options could be helpful: days since last seen, number of times played, number of wrong answers, etc.

1 Like

In the web app you can now turn on a random +/-5% added to next review due dates to prevent clusters of sentences coming up for review at the same time as described above. We’ll get the toggle added to the mobile app as well at some point, though if you turn it on via the web app it will also apply to the mobile app. We’re working on more updates to better handle and prevent amassing giant review backlogs. Feedback is always welcome and thank you @Anxos and @morbrorper for the discussion here as well as your patience in getting this implemented!

Screen cap video here, https://twitter.com/i/status/1711719565665698189.


Is it already functional?

I have just tried a small batch of pending reviews and everything was sent to the selfsame date: Nov. 9:


After answering it still shows the default next review interval. If you have another tab open > Manage Collection > search for the sentence, you should sometimes see the +/-5% interval.

We weren’t sure whether showing fuzzed review intervals immediately after answering would be confusing, so left the default next review interval displayed and added the fuzz in the background.

Curious to hear of course if it’d be more helpful to see the fuzzed due date immediately, as well as if you think there may indeed be a bug - it’s currently implemented [-5%, default, +5%].sample, the same as that Obsidian algorithm above.

I would prefer to see it immediately, even though I can see the date in the session history. That becomes increasingly bothersome the longer you play, as the session history is ordered so the most recently played sentence is at the bottom of the list.

1 Like

I have tried 10 longer dated reviews like this one, all to be next reviewed on the same date:

I clicked easy every time.

Unfortunately, it seems that they have all moved from 2024-04-08 to 2024-08-09, without fuzz.


Yes, it looks like the fuzz isn’t being applied on clicking the EASY, NORMAL and HARD buttons.