Learn : Postpone can be used to move outstanding material review to a later time whenever you cannot cope with your daily load of repetitions. This option is particularly useful in heavily overloaded incremental reading. To fully understand the importance of Postpone, you need to master the concept of incremental reading first.

Why is Postpone important?

Before the advent of incremental reading in SuperMemo, you had two extreme alternatives:

  1. traditional learning with high volume of the learning material and dismal retention. This learning can be called High In - High Out (HIHO) as high volumes of knowledge processed on the input are accompanied by equally high volumes of knowledge on the "output" (i.e. lost out to forgetting)
  2. SuperMemo with a small volume of strategic material remembered for years with a predetermined level of knowledge retention (LILO - Low knowledge input with low forgetting outflow)

Neither alternative provides a complete solution to the problem of forgetting. The balance between the two alternatives was left to the student. The optimum strategy was to use traditional learning to sift the strategic material, and then to memorize mission-critical material with SuperMemo.

The confinement of SuperMemo to strategic high-retention material was a powerful inhibitory force against SuperMemo's universal adoption:

  1. The process of selecting the strategic knowledge was not automated
  2. The student had to type in most of the learned knowledge to the program
  3. The student had to master knowledge structuring skills to make the memorized knowledge truly applicable
  4. Passive review was discounted as ineffective and was not used as a knowledge prioritization tool
  5. Retention was programmable solely via the forgetting index (within 3-20% forgetting rate)
  6. Accumulation of outstanding material after a short break was listed as the number one cause of users dropping SuperMemo for good

Incremental reading bridges the worlds of traditional learning and that of SuperMemo by providing a fluent transition between all priority levels starting from quick review, to repeated passive review, to active review, and to active recall at all levels of the forgetting index down to 3% (i.e. nearly 99% recall rate). Incremental reading also includes an anti-overload option: Postpone that blurs the concept of the must-do outstanding material that had levied a heavy toll on the ranks of SuperMemo users.

Before SuperMemo 2002, incremental reading did not automate the process of "prioritizing by overflow". In other words, high volumes of learning would force the student to manually reschedule learning in branches or subsets of lower priority. Manual rescheduling of the material was necessary to protect core knowledge from a dramatic drop in retention. Substantially reduced retention slows down the learning process not only via the forgetting index vs. acquisition rate relationship, but also through unraveling of the incremental reading process where the new knowledge is built on a shaky foundation of what has been learned earlier. In addition, the flow of thought in incrementally read articles becomes disrupted if the core knowledge retention is not protected.

SuperMemo 2002 introduced Postpone to make it possible to reschedule lower priority material with a keystroke. The student could now painstakingly work out priorities for individual subsets or branches of knowledge and then apply these easily on a daily basis.

SuperMemo 2006 dramatically simplifies the process of handling material overflow by introducing the auto-postpone option (Learn : Postpone : Auto-postpone). With auto-postpone, you only need to define the priority of your elements. You can safely leave all postpone parameters in their default settings as these are now primarily used only to define the degree of postpone, which only defines the size of the pool of the low priority material used in interspersing the repetition queue without affecting the high priority material. In simple terms, you do not need to understand Postpone to use it effectively in incremental reading. Just leave Learn : Postpone : Auto-postpone checked. You can re-visit the subject if auto-postpone does not sufficiently reduce the workload in your collection.

Warning! Each time you use Postpone you depart from your chosen level of knowledge retention! Never use Postpone on your most important learning material! To see the effects of rescheduling on the forgetting index see: Theoretical aspects of learning (forgetting index recovery figure)

Postpone dialog

The Postpone dialog box presented below includes three tabs: Scope, Parameters, and Adjust. The Scope tab settings are mostly done automatically for you depending on the context in which you use Postpone. The Parameters tab makes it possible to define the degree to which items and/or topics are postponed in the selected subset, and which items and/or topics are exempt from rescheduling. Once you define Parameters you can save the new setting with Scope : Save. Later you can restore the setting by using Settings name box.

SuperMemo: The Scope page of the Postpone outstanding elements dialog box

A typical use of Postpone in the browser: you can select the number of elements to remain outstanding (here 50), and click Postpone

Parameters tab

You need to understand the Parameters tab if you want to customize the degree of delay in rescheduling.

SuperMemo: The Parameters tab of the Postpone outstanding elements dialog box

Exemplary settings of Postpone parameters. Delay factor of 10 for topics means that topic intervals will be multiplied by 10, but will not be longer than 199 days, or shorter than 33 days. Intervals beyond 2500 days will qualify for a postpone skip (i.e. those elements will not be postponed, unless forced by the Method used on the Scope page). Postpone skip will also affect: items with the forgetting index less than 6, topics with A-Factors less than 1.01, elements that have been postponed more than 250 times, and items with priority greater than 3.5% (i.e. falling into the 0% to 3.5% range) and topics with priority greater than 0.0065%.

Delay factor determines how much elements should be delayed. For example, if you choose the delay of 1.1 (10%) on an element with the interval of 100 days, it will be delayed by ten days, i.e. rescheduled to the interval of 110 days. Postpone will always increase intervals by no less than one day from the present day. This way, all items on which Postpone is executed fall out of the outstanding subset.

Maximum interval puts a ceiling on the length of the delay interval. For example, if you choose the delay of 1.1 on an element with the interval of 200 days, and the maximum interval is 5 days, the element will be delayed only by 5 days (instead of the 20 days produced by multiplying the original interval by the delay factor).

Minimum interval puts a floor on the length of the delay interval. For example, if you set it to 3, all delayed elements will be delayed by no less than 3 days.

Skip conditions determine which elements will be exempt from delay.

  • if you check Skip items or Skip topics, items or topics (respectively) will not be rescheduled
  • Interval beyond will exempt elements with intervals longer than a selected value. For example, if you set Interval beyond to 320 days, no elements with interval longer than 320 days will be rescheduled. This can help you avoid infinite postpones. Once the element is postponed beyond a given interval, it will automatically enter the core of elements that will not be postponed
  • Forgetting index below makes it possible to determine the level of the forgetting index that will prevent items from being postponed. For example, if you set Forgetting index below to 5%, items with forgetting index 3% and 4% will not be rescheduled. This way you can make sure that the most important items in your collection are protected from a drop in retention
  • A-Factor below is analogous to Forgetting index below. The only difference is that you will use it with topics instead of items. Set A-Factor of most important articles to a very low value (e.g. 1.01). This way you will be able to filter them out at Postpone and make sure they never get rescheduled
  • Postpone count helps you prevent numerous postpones. For example, if you set the postpone count to 6 in the Items column, items will only be postponed 6 times. After that, Postpone will not affect them
  • Priority (%) makes it possible to avoid rescheduling of elements whose priority falls into a selected percentile bracket (low % indicates high priority)

Adjust tab

The Adjust tab can be used for fine tuning delays on subsets with a complex priority structure of individual branches of knowledge. Sub-branch postpones determine how the rescheduling procedure interprets branches included in the subset that have their own postpone setting defined. Here are the possible options:

  • Respect settings - respect the setting defined for individual branches and ignore the currently used global setting of the Parameters tab. For a comprehensive postpone towards the end of your learning day (i.e. at times when you want to focus on your core knowledge), postpone all less important branches and be more lenient on branches that include most vital pieces of knowledge
  • Ignore settings - use the Parameters tab setting for all elements in the postponed subset. Ignore all branch postpone definitions. For example, if you want to postpone all topics in your collection, you can ignore the settings for individual branches, which may have Skip topics selected. This option is the fastest as it does not need to scan branches for individual postpone definitions
  • Always choose most conservative settings - check the branch setting and postpone as little as possible (i.e. choose the definition that is least drastic)
  • Always choose most liberal settings - check the branch setting and postpone as much as possible (i.e. choose the definition that provides for the highest delay). For example, minutes before you finish your learning day, postpone whatever can be postponed and focus only on the cream of the crop of your knowledge

Advanced settings on the Adjust tab include:

  • Include elements that are not outstanding for switching between Postpone and Dilute,
  • Modify item delay in proportion to the forgetting index for delaying items in proportion to the forgetting index,
  • Modify topic delay in proportion to A-Factor for delaying topics in proportion to their A-Factor, and
  • Modify delay in proportion to element priority for delaying elements in proportion to their priority.

Simulate, Postpone and Dilute

Once you define the settings on the Parameters tab and, optionally, fine tune them on the Adjust tab, save them with Save on the Scope tab. You can now test the postpone procedure by clicking Simulate. If you are not satisfied with the results, redefine Parameters. Once you are happy with the result of the simulation, Save the settings and choose Postpone.

The option Dilute should only be used in rare circumstances. It is analogous to Postpone but it also delays elements that are not outstanding. There are two main reasons for using Dilute:

  • it may happen that you learn a lot of material in a branch that is no longer important to you. Instead of deleting such a branch, you may decide to incrementally sift it of the less relevant material. To reduce the emphasis on this branch in your daily review, use Dilute and spread the material over a longer period of time. Also use Priority : Decrease on the subset processing menu in the browser to make sure this low-priority material does not play an excessive role in your learning
  • if you transfer a portion of your learning process to another SuperMemo using XML export, you can Dilute the transferred material and continue learning on two independent platforms (e.g. pocket SuperMemo and SuperMemo for Windows). Dilute will prevent duplicating repetitions. See: Revolution in the pocket


Auto-postpone option is available with Learn : Postpone : Auto-postpone. It makes sure that excess repetitions are automatically postponed before the learning begins (if the option is checked).

Auto-postpone affects only outstanding elements scheduled on preceding days. For example, on Dec 1, 2009, repetitions from all days up to Nov 30, 2009 will be subject to default Postpone. Only repetitions scheduled on Dec 1, 2009 (and in the future) will not be affected.

To edit the default postpone settings, use View : Outstanding and Process Browser> : Postpone on the browser menu. Skip the following number of top priority elements can be used to determine how many elements will be skipped when executing Auto-postpone. This field is independent of Skip conditions. If you set this field to 50, you will ensure that on any given day, only that day's repetitions and 50 unexecuted outstanding repetitions will be kept in the outstanding queue.

For example, if (1) Skip the following number of top priority elements is set to 50, and if (2) you have 600 outstanding repetitions from previous days, and if (3) you have 200 new outstanding repetitions, then 550 repetitions will be auto-postponed (600-50=550). This way, you will have 50+200=250 repetitions to make.

Using Postpone in various contexts

  • globally - to postpone elements globally use Learn : Postpone : All elements
  • browser - to postpone elements listed in a browser, use Learning : Postpone on the subset processing menu (see also: Using subsets)
  • contents window - to postpone elements in a given branch, select it in the contents window, and use Learning : Postpone on the subset processing menu
  • element window - to postpone elements belonging to any ancestor branch of the current element (e.g. during repetitions), choose Learning : Postpone branch on the element menu. Respond with No until you reach the desired ancestor branch
  • Ancestors window (Shift+Ctrl+X) - right-click over any ancestor branch and choose Postpone branch


If your daily load of items and topics keeps increasing, you can dilute the learning process with selective postpones from time to time. For example you can opt to delay repetitions in subsets such as:

  • all articles and extracts
  • all newly added material
  • all material in a given knowledge branch (e.g. chemistry)
  • all difficult material
  • all short-interval material, etc.

Here are some typical ways in which you will execute Postpone:

  • to postpone topics, Learn : Postpone : Topics
  • to postpone all items (but not topics) in a given branch (e.g. all new items in your new items branch):
    1. select the branch in the contents window
    2. choose View : Branch on the contents menu
    3. choose Child : Items on the browser menu
    4. choose Process browser> : Postpone on the browser menu
  • to postpone all repetitions in a branch to which a given element belongs:
    1. choose Learning : Postpone branch on the element menu when you see an element belonging to a lower priority branch. For example, when SuperMemo brings for review an item on the Bill of Rights, you might decide that your US Constitution branch should be postponed (e.g. because its priority is less than that of branches related to your profession)
    2. answer No until the desired parent branch is reached (SuperMemo will scan ancestor branches from the present one up to the root of the knowledge tree)

Postpone or Mercy?

Postpone should drastically reduce the role of Mercy in SuperMemo. However, you may still need Mercy in the following circumstances:

  1. Randomizing repetitions (Tools : Mercy : Criteria : Randomize)
  2. Rescheduling the outstanding material after a longer break (with chosen Mercy : Criteria)
  3. Advancing future repetitions to an earlier date (e.g. before a vacation)

For more details see: Postpone, Advance and Mercy

Further reading