All single A1 and A2 level courses 25% off! Use the code START.

Tools : Mercy can be used to reschedule outstanding repetitions to a later time, e.g. after a longer break in learning. It can also help you make your repetitions at an earlier date, e.g. before a vacation.


Warning! Each time you use Mercy, you add extra hours of work to mastering the same amount of material! You should use it either rarely or only on low priority material. In extreme cases, you can ruin your enthusiasm for SuperMemo. If you use Mercy more than a few times per year, please have a closer look at how much work you put on yourself, and how well your knowledge stored in SuperMemo is formulated! To see the effect of Mercy on the Forgetting index see: Theoretical aspects of learning (forgetting index recovery figure)

Rescheduling outstanding repetitions

To quickly reschedule outstanding repetitions do the following

  1. Choose Tools : Mercy (e.g. by pressing Shift+Alt+M)
  2. Choose the maximum acceptable number of repetitions per day and type it in at Number of elements per day. Alternatively, choose the period in which all outstanding repetitions should be done and type it in at Rescheduling period
  3. Choose Update, e.g. by pressing Enter. This will display the rescheduling parameters: number of elements per day, length of the rescheduling period, the date on which last outstanding repetitions will be made, etc. (use hints to find out more about particular parameters)
  4. If you are satisfied, choose OK. Otherwise type in new parameters or choose Cancel to quit the dialog box

Executing repetitions before holiday

To make repetitions before a vacation period, you can shift later repetitions to an earlier period:

  1. Choose Tools : Mercy (e.g. by pressing Shift+Alt+M)
  2. Click the checkbox Consider future repetitions
  3. In the Collecting period editing field type in the number of days till the end of your vacation
  4. Press Enter and compare the date to the right of Collecting period
  5. In the Rescheduling period editing field type in the number of days till the end of your repetition period before the vacation (compare the date to the right of the edit field)
  6. Press Enter and compare the date to the right of Rescheduling period
  7. If Number of elements per day does not exceed a realistic value (in your own estimation), choose OK. Otherwise type in new parameters or choose Cancel to quit the dialog box

Rescheduling in a tree branch

To reschedule outstanding repetitions only in a selected branch of knowledge do as follows:

  1. Select the branch in the Contents window (e.g. click on Geography)
  2. Choose View : Branch to view the branch in the Browser
  3. Choose Child : Outstanding to view only the outstanding elements of the selected branch in the browser
  4. Choose Process browser : Learning : Spread to use the Mercy dialog to reschedule outstanding elements belonging to the selected branch
  5. Select appropriate rescheduling parameters and choose OK (as above)

If you are an advanced user and you understand how Mercy works, you can choose the Criteria button to set you own Mercy sorting criteria!

Short history of Mercy in SuperMemo

In June 1992, a journalist of Computer World, Andrzej Horodenski, noticed that for lazy or busy users of SuperMemo, an option called Mercy would be extremely useful. It would allow users to reschedule outstanding repetitions after a vacation period. One month later, SuperMemo World released a new version of SuperMemo 6 for DOS that included the suggested option.

The first Mercy algorithm was based on a solid theoretical ground. The item sorting criterion was to minimize the drop in retention as a result of using Mercy. However, the choice of the sorting criterion was not very fortunate. It is easy to notice that an increase in intervals of short-interval items is more detrimental to retention than the same increase for long-interval items. Consequently, users abusing Mercy would pile up lots of hard-to-remember items that would recur again and again contributing to overall discouragement of the overwhelmed mind. It is difficult to estimate how many people got hooked on Mercy and dropped from among the users of SuperMemo.

A second option was then added to SuperMemo 6. It was called Wipe and it was supposed to remove from the learning process all short-interval items with a high degree of difficulty (expressed then by E-Factors). However, Wipe might have done more damage to SuperMemo than ill-conceived Mercy. Users would often pile up items with Mercy and then get them out of the learning process with Wipe. Soon they could see that no real progress in learning was taking place. As a result, they would drop out again with detriment to overall popularity of SuperMemo.

In 1994, a new Mercy algorithm was designed. The new sorting criterion: minimize the damage to the long-term learning process. The algorithm appeared extremely intricate but has changed Mercy beyond recognition. Indeed, it could be seen very soon that the option Wipe became entirely superfluous. New Mercy would be as abused by the users as the old one, but it would result in less damage and less discouragement. Mercy survived and was not removed from subsequent versions of SuperMemo. Users would have a choice to use a tool that could potentially hurt their learning process.

It became clear only much later that the second Mercy implementation had a hidden snag. If abused frequently, it was able to repeatedly lengthen the first interval of newly memorized items (after all, they are supposed to be less important for the long-term learning process). This problem was compounded by the fact that all older SuperMemo algorithms (1989-1996) were highly sensitive to delaying repetitions, esp. at the early stages of learning. Consequently, items that were dramatically postponed with Mercy and scored well in repetitions would have reached disproportionately long intervals.

These problems have been partly solved in December 1996 by implementing the following features in SuperMemo:

  1. removing sensitivity to repetition delay of Algorithm SM-8 by indexing optimization matrices with repetition categories rather than repetition numbers (for example, a item repeated twice would be treated as repeated 2.4 times if its interval was artificially lengthened)
  2. implementing new multi-criterial heuristic Mercy algorithm that combines its earlier emphasis on minimizing the damage to the long-term learning process with adding extra attention to items that have recently been introduced into the collection

In December 1997, Mercy has been enhanced with the option Criteria. This option makes it possible for the user to choose his or her own Mercy criteria. This was to be the end of the 5-year-long process of coming to understand of what really people expect from Mercy. The following sorting criteria can be balanced by the user: item importance (as indicated by the ordinal and the forgetting index), repetition lateness, investment (in the item), easiness (of the item) and recency of introducing the item to the learning process.

SuperMemo 99 added a possibility of random rescheduling and rescheduling that preserves the original order of repetitions. All in all, random rescheduling is a very powerful and useful option. These are two main reasons for using random Mercy:

  1. There is no predictable pattern in repetitions (e.g. from low intervals to high intervals, from easy material to difficult material, etc.). This makes repetitions vary in difficulty and makes the learning process more representative and enjoyable
  2. There are no cumulative trends in rescheduling. For example, constant rescheduling with the easy-items-first criterion may indefinitely postpone difficult items! With random rescheduling, intervals on average will also grow indefinitely; however, there will be no cumulative pattern and the user will sooner or later notice dramatic deterioration in the quality of recall which, hopefully, should make him or her reconsider the abuse of Mercy

SuperMemo 2000 added a powerful rescheduling tool that can be branch/subset-specific: Postpone. In SuperMemo 2002 Postpone became even more content and priority sensitive. This gradually reduced the need for using Mercy. In Incremental reading, Postpone is the tool of choice for resolving material overload. Mercy would only be used occasionally, e.g. to spread the load of repetitions, randomize repetitions, advance future repetitions, etc. It no longer played a central role in learning.

Finally, SuperMemo 2006 dealt an ultimate death-blow to Mercy. With the priority queue, repetition auto-sort and auto-postpone, Mercy is no longer needed to resolve the overload of outstanding material. A substantial overload becomes a norm, and the user is supposed to only do his or her best to pass as much of the top-priority material as possible. It might seem that this could reduce one of the famous “advantages” of SuperMemo, being a ruthless executor of the demand to reduce the outstanding material to zero. However, evidence suggests that the elimination of obligatory learning greatly enhances user’s enthusiasm for learning. Paradoxically, without a specific demand on the number of daily repetitions, users seem eager to actually spend more time on learning than in the past!

Further reading

  • Postpone, Advance, and Mercy
  • Postpone
  • Incremental reading
  • Priority queue
  • FAQ: Repetition overload