FAQ: Resolving repetition overload (Postpone and Mercy)

You can use "Skip conditions" to limit the extent of Postpone
(Nathan Forsdyke, Tuesday, August 06, 2002 8:03 PM)
When I use Postpone on outstanding elements, I end up with no outstanding elements for today
When you execute Postpone, choose the Parameters tab and play with Skip conditions to limit the subset of affected elements See more: Postpone 

Mercy is not less harmful with Algorithm SM-11
(Marin Plopeanu, Romania, Wed, Jul 03, 2002 16:44)
Why is Mercy still described with a warning of extra hours of work, and mid-interval repetition is described with "you can now safely execute a major review of material (e.g. before an exam)". Does not the new algorithm help reduce the bad effect of Mercy?
postpones repetitions at the cost of retention. Mercy does not involve a repetition. Mid-interval repetition may be less effective than a normal repetition but it is not harmful. With mid-interval repetition you only waste time on the extra repetition ahead of time. With Mercy, you waste time when it comes to relearning material forgotten due to delayed or missed repetitions. Mid-interval repetition advances the repetition, Mercy delays the repetition. The Algorithm SM-11 can compensate for an early repetition, but it cannot prevent forgetting when you fail to make a repetition

Newly added items automatically enter the learning process
(Janusz Batkowski, Poland, Monday, July 29, 2002 3:34 PM)
When I add a new item with Alt+A it is automatically introduced into the learning process. In SM2000 it was possible to add several new items and memorize only a portion of them
With improved handling of the material overflow (e.g. Postpone), it is recommended that all your new material enters the learning process as soon as it is collected (pasted or typed in). If you are importing a larger collection written by somebody else you can use File : Tools : Reset collection before merging the collection. If you still want to keep an item in the pending queue, use Forget (Ctrl+R). Presently, SuperMemo makes little use of the pending queue, which was formerly used to prevent repetition overload. For similar reasons, the concept of the repetition ceiling also became irrelevant in SuperMemo

Lesser role of the pending queue in SuperMemo
(Brian Yu, Friday, October 25, 2002 6:19 AM)
Whenever I add a new element to a category, it defaults to memorized. I upgraded from SuperMemo 2000 in which all new elements added were created as pending. Is this an option than can be toggled? I would like my new elements to automatically be entered into the pending queue
After you add an element, press Ctrl+R. The default behavior of memorizing elements cannot be turned off. In SuperMemo 2000, you would need Ctrl+M to memorize elements after adding them to your collection. In new SuperMemos, you need Ctrl+R to un-memorize them instead. This change comes from the fact that the recommended approach is to immediately memorize the material once you type it in (typing in is a form of repetition that can be capitalized on). Pending queue is reserved for ready-made material. If your pending queue is very long (e.g. 40,000 elements in Advanced English), you would always need to press Remember after adding new elements. Failure to do so could result in not being able to recall the entered material, nor even detect the error (unless after a couple of years when the pending queue is exhausted). To better understand the new approach, read about incremental reading and Postpone. If you want to type a longer text without learning it, type it into a note element (e.g. Alt+N). You will then process it with incremental reading only then when your priorities make it possible

Pending queue is decreasing in importance (#14119)
(Jiri Panenka, Slovakia, Nov 13, 2002, 0:00 AM)
Why do you say the pending queue is an outdated concept? It has always been there in SuperMemo and I am accustomed to adding items to the pending queue and memorize them only when I have time.
In old SuperMemo you would say "I will memorize this item when I memorize all items that I added before it". In new SuperMemo, it makes far more sense to say "I hope I will be able to memorize this item in four months from now". With Ctrl+J you can set the date of the first repetition of a recently introduced item. This way, you can immediately prioritize your material by producing shorter intervals for more important items. Naturally, this will easily result in material overflow. However, new SuperMemo can easily handle the overflow with Postpone. Some repetition may be delayed again and again, but SuperMemo is relatively insensitive to such delay. Delays will reduce your retention, but their will not distort the learning process. In simple terms, new SuperMemo uses by far more sophisticated mechanisms for prioritizing your material to resort to the primitive "first come, first served" approach of the pending queue. Pending queue is reserved mostly for ready-made collections where material is already sorted into the appropriate sequence

Postponing topics and their extracts
(M, Poland, Wed, May 16, 2001 22:35)
Please add an option "Postpone topics with their extracts"
You can postpone topics with their extracts using this method: 

  1. Go to the topic in question 
  2. Press Ctrl+Space to open the topic and its extracts in the browser
  3. Choose Postpone on the browser menu (Ctrl+Alt+P)

Note that you may need to use Learning : Locate extracts on the element menu if you have moved portions of your learning material to other branches

Postpone cannot be entirely automatic
(SuperMemo Support, Wednesday, November 27, 2002 10:51 AM)
I would like to see automatic computation of the optimal parameters in the postpone dialog based on the history of repetitions
If you choose Postpone, you do evoke a default parameter set. However, this set is not derived from repetition history. If you read the history of Mercy, you may notice that all rescheduling algorithms will be based on multi-criterial optimization. In other words, repetition history could only be used for a subset of criteria such as: postpone difficult material, postpone easy material, postpone long-term material, etc. In simple terms, your proposition is comparable in complexity to asking MS Word to format texts based on their semantics. The present approach used by Postpone already includes the multi-criterial approach by making it possible to execute Postpone on any subset that can be generated with SuperMemo. You can thus postpone by semantics (e.g. keyword search), branch content, difficulty, interval, number of repetitions, etc. The parameters set in Postpone dialog are basically used to set bordering conditions of the optimization problem. In addition, the degree of the delay can also be adjusted. The Scope and Adjust tabs are only used to automate subset operations. You may, but you do not have to, modify bordering conditions of Postpone. As long as you master subset skills, you will be able to meet your goals. Postpone cannot be automated as it is you, the user, who defines the goals of Postpone

Global postpone with a different setting for one branch
(Robin, May 20, 2003)
How can I do a global postpone that would apply a defined specific postpone settings to a single branch? I want to postpone all material a little, but I want to do a more radical postpone on my To-Do branch. Can I do it without running the postpone on the To-Do branch first?
You can do complex postpones with a single click. However, you must first define branch-specific postpone parameters. In your case: 

  1. select To-Do branch in the contents window or in the Ancestors window 
  2. choose Postpone (e.g. Ctrl+Alt+P
  3. set Postpone settings (these will apply to your To-Do branch) 
  4. choose Save (be sure you do not change the setting name, which should be Default

Now, if you want to postpone any branch or subset that includes To-Do elements, be sure Respect settings is selected on the Adjust tab of the postpone dialog. Naturally, you can save this setting and use it effortlessly in the future. If you do so, all your postpones will require only two key presses: Ctrl+Alt+P (to open the postpone dialog), and Enter (to execute the postpone). Your To-Do elements will be postponed differently than the other elements in the postponed set

Postpone will relieve your burden in cases of a severe material overload
(SuperMemo user, Poland, Tuesday, December 03, 2002 10:28 PM)
I have a very busy schedule and would like to be able to reduce my workload on certain days. Does SuperMemo have option other than Mercy that would make it possible?
Use Postpone (e.g. Learn : Postpone : All elements from the main menu) to increase intervals of all outstanding repetitions by a selected delay factor. Delay factor determines by how much the outstanding elements should be delayed. For example, if you set the delay factor to 1.1 on an element with the interval of 100 days, it will be delayed by 10 days (i.e. rescheduled to the interval of 110 days). In other words if you had this element scheduled on today, it would appear 10 days later

Where do I find Mercy?
(Andy Major , Friday, April 04, 2003 12:52 PM)
Where do I find the mercy key or is that a mythical idea?
Use Tools : Mercy on the main menu. Be sure you set File : Level : Middle or Professional

You can use Review all review material before an exam (#7004)
(Dimi Linde, Thursday, September 20, 2001 6:46 PM)
I have a test next week and I want to maximize the retention. All my outstanding items have been repeated. What can I do more?
Use Learning : Review all on a subset of elements related to the exam.

What to do after a longer break from learning?
(Piotr Wasik, Poland, Monday, September 16, 2002 4:49 PM)
If I learn for two months and memorize about 2,000 items and then have a two-month break, will the factors associated with items have any relevance to reality? I have a feeling that learning from scratch would be a tremendous waste of time
You are right. Starting from scratch is not the best strategy. SuperMemo is reasonably resistant to being fooled by a long break in learning. If you resume learning, items that are still remembered well will get frighteningly long intervals. If your whole learning process is new, SuperMemo may overestimate your memory powers. You can then always shorten very long intervals manually (e.g. with Ctrl+J). The proportion of well-remembered material will be far greater than what many people assume (e.g. by looking at their own forgetting curves). You will quickly winnow only that portion of material that needs more review. Within a month, you shall be back on track. Within a year you will not be able to detect any effects of the break. On the other hand, if you start from scratch, you will increase your workload manifold. In addition, you will fool SuperMemo with your unexpectedly good performance on the re-learned material. SuperMemo will have no record of your previous work and will wrongly conclude that your memory is surprisingly good

Mercy is interval-neutral for the SuperMemo Algorithm
(Patrik Nilsson, Thursday, September 27, 2001 12:22 PM)
I do not like that Mercy changes the intervals of items. I don't think it is the optimum. If for example I have a repetition interval of about 30 days and Mercy will change that to 60 days, the repetition will produce a very long interval.
It is true that Mercy updates the current interval associated with an item, but it does not change the effect a repetition will have on that item. At repetition, SuperMemo will always use the interval spanning from the last repetition to today, i.e. the "real" interval. Mercy does not change that value. If the item's interval is 30 days, and the repetition is delayed by 30 days, the algorithm will use the interval of 60 days whether Mercy was used or not

Using Mercy before a vacation
(hibisuk, Feb 25, 2005, 13:55:15)
I used Mercy to bring forward repetitions to allow for a vacation in 2 weeks time. The program duly gathered all repetitions up to the end of the vacation period and then spread them equally over the days remaining until the start of the vacation. Today, after completing the first of the averaged days I found that the vacation days had now been allocated new repetitions! Shouldn't the vacation period have remained repetition-free?
This is a correct behavior as designed. SuperMemo is scheduling your repetitions so that to meet your forgetting index criteria (i.e. keeping intervals short enough to make sure you remember as much as you planned). SuperMemo never takes into account previous rescheduling operations other than by trying to guess optimum learning intervals in the new situation. Mercy is a one-time rescheduling act. It does not "block" the vacation period, nor does it do any further rescheduling while you make repetitions. Once you return from vacation, you will resume your repetitions, and those taken from the vacation period will appear first (in proportion to delay in days). If the post-vacation load is too high, you can use Postpone. If you repeat Mercy before going for vacation, and advance the newly scheduled vacation repetitions again, you will fall into a cycle of futile repetitions that may even worsen recall. This is because two repetitions of the same item executed in short succession count as little, or sometimes less, than a single repetition! Repetitions that fall into the vacation period after executing Mercy should only be made/executed after the vacation. Another advantage of the adopted solution is that repetitions scheduled in the vacation period provide an interesting insight into your learning process. In particular, how load bottlenecks form and get resolved. All in all, you only need a mental adjustment to accept non-zero workload in the vacation period. Non-zero workload does not imply lower learning efficiency upon return from vacation! The only, and usually not significant, damage you will incur is the inevitable side effect of taking a break from learning

Short-interval topics and today's topics do not qualify for the Advance operation (#4697)
(Gary Belhomme, Canada, Tuesday, May 31, 2005 11:18 AM)
I tried to use Advance on my important branches to undo Postpone but I keep getting the message “No topics qualify for advancement”.
The Advance operation will not work on two kinds of topics: 

  • those whose interval is shorter than the advance interval 
  • those who have been repeated today 

To undo Postpone, open the postponed subset in the browser and choose sufficiently short advance interval

You cannot undo Mercy
(Daniel McCarthy, Aug 17, 2004, 02:43:32)
I used Mercy instead of Postpone to delay learning material till after a vacation. Now SuperMemo is only giving me 2-10 repetitions per day, instead of the 100 it used to give. How can I undo this?
You cannot undo Mercy; however, you can schedule your repetitions back to the present day. In other words, you can get back to 100 repetitions per day, but you may end up with a changed (sub-optimum) sequence of repetitions. To collect future repetitions and get 100 repetitions per day, use Mercy again, check Consider future repetitions, provide a sufficiently long Gathering period and set Number of items per day to 100

Auto-postpone is confusing (#2972)
(Mike, Mar 03, 2007, 04:37:03)
I think there are some problems with the way Postpone works. Auto-postpone leaves some low-priority topics in Outstanding. When I try to use Postpone with Skip the following number of top priority elements it postpones everything (!) and I got nothing to learn! BTW: Simulate does not ever seem to react to change in Skip the following number of top priority elements.
Auto-postpone indeed causes a lot of confusion. The three least understood points are:

  1. Auto-postpone affects all days except today. If you have low priority topics scheduled for today, Auto-postpone will delay them only tomorrow and only if you do not repeat them today. This is to ensure that low-priority topics also have a chance to enter repetitions as determined by your Randomization/Prioritization balance in sorting criteria
  2. Skip the following number of top priority elements skips only elements that were skipped by Skip conditions on the Parameters tab. It will not protect elements from being postponed if they are not protected by Postpone criteria. Whatever the value of this parameter, you can still have all your elements postponed. You can best view it as a pro-postpone parameter that is used to force extra postpones (not an anti-postpone parameter that protect your from extra postpones). Skip here means "skip postpone protections" not "skip postpones"
  3. Simulate in Postpone can be used to tell you how well you current Postpone criteria work. It ignores Skip the following number of top priority elements because this parameter needs no simulation (it will always enforce skipping the said number of elements protected from postpone by postpone criteria)

How to deal with material overload in medical school?
(clarence166, Friday, November 27, 2009 14:57)
How do you deal with your repetitions if the number is so many that you can't add new material because of the time the repetitions consume? About two weeks ago, I started incremental reading on a textbook of anatomy for an exam (medical school). The exam was done yesterday. Because of incremental reading, there are ~4100 elements in my collection shown in the statistics window. 70% are items, 30% are topics. Currently, my daily number of repetitions is around 400-500, half of which are items and half of which are topics. It seems to me that I don't have the option to slow down on adding elements to SuperMemo. There will be another exam in two weeks time again. If I gradually add another 4000 elements for the next exam, I might not be able to sleep due to the number of repetitions. According to the Workload shown by SuperMemo, the number of repetitions will only be below 100 (items+topics) after a week. Will you only do repetitions as time allows?
You have just proved again that the demands of a medical school go well beyond the human capacity to learn. That's a norm for most school. Even SuperMemo is powerless here. With this realization you need to adjust your strategy accordingly. Your overall strategy could look as follows: 

  1. after an exam, dilute and deprioritize your old material to reduce your daily loads to just 10-30 item repetitions and 3-5 topic repetitions 
  2. keep adding new material for the new exam without slowing down (use auto-sort and auto-postpone to make sure you do get sufficient sleep even if you get 1000 reps per day) 
  3. do a thorough review before the exam (use this opportunity to prioritize the material) 
  4. repeat the cycle after the exam 
The trickiest part is a smart dilute after the exam. You could do it as follows:

  1. open the exam branch in the browser 
  2. sort by priority 
  3. exclude top priority material from the dilute procedure 
  4. use Spread to spread exam repetition over a period long enough to reduce the load to just a few items per day (alternatively you could use the Dilute option, which gives you less control over the actual daily loads) 
Each exam will add some top-priority material to your collection. The main bulk of knowledge will then have to linger at lower priority and you are bound to forget lots of it (to a lesser degree than your SuperMemo-less colleagues though). Bad news is then that you won't be word perfect on all the learned material. Good news is that after a couple of exams, your mastery of the material will go far beyond what is usually accomplished. With every month and every exam, your advantage is going to grow. So will your understanding of your optimum strategies.

Auto-postpone does not affect today's material
(M van der Laan, Netherlands, Dec 08, 2010, 20:23:44)
I’m using SM2008 for some incremental reading (about 100 items / 100 topics a day). Lately I haven’t been able to do all the topics. I’ve used postpone manually to postpone those remaining topics. When I don’t use the manual option those remaining topics will be there the next day – which seems contrary to the whole idea of auto-postpone. Why doesn’t auto-postpone, well, auto-postpone my topics?
Auto-postpone always leaves a number of top-priority elements in the queue. The purpose of the postpone is to get rid of the main mass of low-priority material and focus on top-priority material. You are most likely to use Postpone after a day of learning, while Auto-postpone is executed before your learning day begins. This is why it never affects today's material, and does not postpone top-priority material from previous days. If you have Auto-postpone checked on the menu, you will always start the day with all the repetitions scheduled for that day, and a number of unexecuted top-priority repetitions from previous days.

SuperMemo can cope with auto-memorizing a large collection
(MM, Dec 02, 2010, 20:42:05)
I auto-memorized the entire Advanced English in one go, and redistributed this material evenly in my collection. However, my forgetting index results are awful. Do you think I should reset this branch and start from scratch?
No! You cannot expect a good forgetting index on a branch that you have never actually learned. You can run branch statistics and see your first repetition forgetting index, which is likely to be very high (perhaps above 90% if the material is entirely new to you). Then you can look at the last repetition forgetting index which should already meet SuperMemo criteria (10% by default). It might be higher if you run major overload and have a great number of postpones in the collection. Starting from scratch will only meaninglessly improve your statistics and will largely waste your effort committed until now. The recommended action is: DO NOTHING. Just keep learning. SuperMemo will sort things out. All you need to do is to work on setting priorities of individual items to make sure all important items come first in repetitions (assuming you have Auto-sort set).

Postpone will gradually increase intervals in your items
(Abel Pol, May 28, 2011, 18:58:23)
I was using "autosort" and "autopostpone" to deal with the heavy work load in my Master's program. Now that it is summer time I can afford to turn these functions off because I have time to do the full load of repetitions. However, I have noticed that some of the repetition intervals have become excessively long, sometimes over 500 days, even though I do not know these items all that well. Why did that happen, and what do I do to prevent it from happening again?
Long intervals are a natural consequence of using Postpone. You can limit the increase in intervals by setting Parameters : Maximum interval in the Postpone dialog. However, the more you limit the interval increase, the less dilution of the material you will achive. If you do not increase your learning rate, your items will get to those long intervals at some point anyway. Only slower. In the meantime, SuperMemo may be slowed by a large number of items to process per day (operations such as sorting, auto-postpone, building the outstanding queue, etc. take time, which may be noticeable on slower computers). In short: you have three basic options: (1) add less material, (2) do more learning, or (3) accept that some of your items will have very long intervals even if you do not know them well.