18 6
Sign in to rate

Load Balanced Scheduler

<10kB. Updated 2018-10-05.
The author has shared 1 other item(s).


Load Balanced Scheduler is an Anki add-on which helps maintain a consistent number of reviews from one day to another. Intervals are chosen from the same range as stock Anki so as not to affect the SRS algorithm. It is compatible with: -- Anki v2.0 -- Anki v2.1 with the default scheduler -- Anki v2.1 with the experimental v2 scheduler Please see the official README for more complete documentation. Configuration No configuration is required however logging can be enabled. Please see the official README for more information. Details After a card is reviewed, Anki assigns it the interval shown on the ease button selected by the user. This new interval is further modified as described in the Anki manual: After you select an ease button, Anki also applies a small amount of random “fuzz” to prevent cards that were introduced at the same time and given the same ratings from sticking together and always coming up for review on the same day. This fuzz does not appear on the interval buttons, so if you’re noticing a slight discrepancy between what you select and the intervals your cards actually get, this is probably the cause. The above plots show the possible "fuzzed" intervals Anki may assign given a particular interval. Looking at the second plot as an example, if the users selects an ease button with an interval of 10 days, Anki will randomly assign a "fuzzed" interval between 8 and 12 days. Load Balanced Scheduler uses this same range of between 8 and 12 but, instead of selecting at random, will choose an interval with the least number of cards due. Cards with small intervals will be load balanced over a narrow range. For example, cards with an interval of 3 will be load balanced over days 2-4. This range expands as the interval increases. Cards with an interval of 15 will be balanced over days 13-17 and cards with an interval of 30 will be balanced over days 26-34. Again, these are the same ranges stock Anki uses when randomly assigning intervals. The exact ranges can be seen here in the Anki source. Bugs If you encounter a bug or need support, please see the official README. Please report bugs through github. Please don't use the review section of the AnkiWeb add-on page for support as I won't receive a notification and there is no way for me to respond. Revision History Version 1.1.1 -- 10/04/2018 -- Backport to Anki 2.0 -- Move configuration to load_balanced_scheduler.py. Version 1.0.0 -- 09/21/2018 -- Initial Release


As add-ons are programs downloaded from the internet, they are potentially malicious. You should only download add-ons you trust.

Supported Anki versions:

To download this add-on, please copy and paste the following code into Anki 2.1:


If you were linked to this page from the internet, please open Anki on your computer, go to the Tools menu and then Add-ons>Browse & Install to paste in the code.

All Anki 2.1.x Add-Ons


on 1650481103
it's not working
on 1634758953
imma try it but the concept is great
on 1631149585
Works great; nice to see a load balancer that actually works in recent Anki versions (2.1.47).
on 1626116082
Works with schedular V2 (unlike jakeprobst loadbalancer). Still it would be nice to have the option to load balance each deck separately. Yet thanks for this addon !
on 1625782732
Doesn't work on latest version 2.1.44. No load balancers work on latest version and spikes have become a real problem.
on 1624994776
Nice idea!
This addon involve only "review" cards? or also "learning" cards?
on 1622990639
on 1617444943
Using for months now and it is still compatible with the version .42 However, is there any solution to use this on mobile?
on 1617361548
Should be implemented in Anki
Must have add-on
on 1602786200
Excellent addon. Easier to know how much time do you need to study on the following days. I just have one suggestion: to make the balance independent for each deck. Currently, it loads based on the overall collection forecast. But I have 1 big deck and a small one. The small one cannot get a "flat" forecast because it tries to fill the "holes" in the overall forecast caused by the big one. It would be better if the addon makes the balance for each deck.
on 1599404090
A must have. Sadly isn't working on 2.1.29 =(
on 1594384184
The best way to describe this add-on is that I can't even tell it's working. But I have wayyy fewer stressful days with many reviews. There are certain complaints from other users that there are better ways to deal with managing review load. But for a no-nonsense one-click solution this has been great and it's exactly what I want. Thanks a ton!
on 1593103012
Used to love this addon, but it doesnt work with latest anki version 2.1.26.

There should be a disclaimer of this. I would not have updated my anki program had i known. (in both anki versions I use/used the v2 scheduler)
on 1588598013
Does its job.
on 1579079873
this would be the perfect add-on if it could navigate scheduling cards already on the max interval
on 1578776166
Great addon and does its job!
on 1543710625
This does not work with 2.1 v2 experimental scheduler. I *thinks* it does, according to the debugger. For example: If the card is set for 15 days out, it'll determine min 13 and max 17. It'll realize that 17 has zero cards, and send try to send it there. However, my max period is set by default to 15 days out, so it gets routed to 15. Summary: It sends all the cards to 15, thinking it's actually doing me a favor by sending them to 17 which theoretically has the lowest burden. As a result, I get a ton of cards piling up and this software doesn't do it's job.

I switched back to Anki 2.0, which is a shame because I liked the experimental scheduler, but having all the cards pilled up on 1 day isn't worth it.
on 1540974140
Working well for me. If you want to see what it's doing, enable logging in the .py file and download the Le Petit Debugger addon. Then Debug>Show Console , and with the console window open Debug>Monitor STDOUT + STDERR. You should see lines like <time> orig_ivl 15 min_ivl 13 max_ivl 17 best_ivl 16 appear in the console window as you review cards.
on 1540826035
Looking on GitHub, there is an issue where this addon pushes your reviews as late as possible and the author has no interest in fixing it. This can REALLY mess things up over time.
on 1540616221
it should be put into anki orignal codes.
on 1540396958
Works great, I've enabled logging for the peace of mind for now and checking how it works :)
Thanks for an understandable and very useful plugin and for the added logging.

(hint: using > to redirect stdout to a file, and added flushing to see the results right away
(example of redirecting on Windows:

C:\Program Files (x86)\Anki>anki.exe > c:\my\test.log)
on 1539334211
Very very useful if enter lots of new cards to avoid massive "peaks" on certain days. Should be part of the actual Anki code.
on 1538334406
This is much needed modification to Anki proper. I wholeheartedly agree with the previews reviewer that this should be proposed for inclusion into the regular Anki schedular so that users of the mobile version also benefit from it.
on 1537801477
Thank you for this! I appreciate all the work that went into Load Balancer, but it's nice to finally have a solution that is much more stable and transparent. I honestly think you should submit this as a PR to Anki proper, though perhaps discuss the changes with Damien first by starting a thread on the Anki forums. Seeing how we now have the V2 scheduler as sort of testground for experimental changes, this could be the perfect opportunity to add load balancing to Anki.