Subset operations

From SuperMemo Help
Revision as of 11:57, 21 November 2019 by SuperMemoHelp (talk | contribs) (→‎Statistics)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Accessing the subset processing menu

Subset processing menu helps you execute operations on a set of elements in a given collection.

You can process elements from a given branch of the knowledge tree, or elements in a browser, or all elements in the collection.

Subset processing menu is available as Process collection> on the File menu, as Process branch> on the contents menu, or as Process browser> on the browser menu.

The menu can also be accessed in the Contents and in the browser with a dedicated menu button on the toolbar (second from the left in both cases).

Subset processing menu items

The options of the subset processing menu are listed below. Subset elements should be understood as the elements of a given collection, the elements of a given branch or the elements listed in the browser (depending on the context in which the menu is used: File menu, Contents, or browser, respectively).


  • Learning
    • Learn (Ctrl+L) - make outstanding repetitions on elements included in the subset. The sequence of repetitions is determined by how elements are sorted in the subset (i.e. not by the global repetition schedule). Once outstanding repetitions are made, proceed with memorizing subset elements that are listed in the pending queue. Learn in the browser can use your sorting criteria if you choose Sort : For Review (Ctrl+S) on the browser menu
    • Review all (Shift+Ctrl+L) - review all elements in the subset. Elements that are not outstanding are subject to mid-interval repetition. Mid-interval repetition results in optimally rescheduling the element. If the review interval is much shorter than the optimum interval, the new interval will not be much longer than the preceding interval. If the review interval is close to the optimum interval, the new interval will be nearly as long as if the repetition took place at the optimum time. Dismissed elements are not subject to review. Elements that have already been reviewed on this particular day will also be skipped. Use Review all if you urgently need to review a portion of material (e.g. before an exam). You could use Learn before using Review all to make sure you start from the outstanding material (incl. items that are most likely to be forgotten). Alternatively, you could sort the subset by the date of the next repetition (starting from the earliest dates) to maximize subset recall in case you do not manage to complete the entire review
    • Review topics - review topics only. Unlike Review all, this option does not review items. This makes it possible to use it often without a detriment to the learning process. Abusing Review all can result in an increase in total workload and a decrease in retention. In particular, important items may be sent to excessively long interval due to repetition clustering (i.e. similar items serving as answer cues and masking recall problems)
    • Dilute - same as Postpone but with this difference that all elements in the subset will be affected (not only outstanding elements)
    • Spread - reschedule all elements equally in a given period of time (e.g. make sure that all items related to geography are rescheduled in equal portions of 20 items per day in the period of one month). Please note that you might want to first choose Child : Outstanding to make sure that you reschedule only outstanding repetitions, i.e. not all repetitions in the entire subset. You can also choose Child : Items to make sure you reschedule only item repetitions. For more details see: Mercy
    • Remember - memorize all elements that have not yet been memorized
    • Forget - remove all memorized elements from the learning process and put them at the end of the pending queue
    • Dismiss - dismiss all elements, i.e. ignore them in the learning process
    • Undismiss - return all dismissed elements to the pending queue
    • Done - execute Done on all elements. Upon confirmation, Done will delete the contents of individual elements, dismiss them, and delete the elements that have no children (for more see: Incremental reading)
    • Add to outstanding - spread elements equally in the outstanding queue. The elements are not physically rescheduled in the collection (i.e. the repetition date does not change, and if the review does not take place, the scheduling will remain unchanged on the next day). This is the only case in SuperMemo where an element is outstanding while possibly being scheduled for review on a date later than today. Element priority increases slightly upon the success of the operation. Once the repetition is made, it is executed in the same way as other mid-interval repetitions. For an element to be added to the outstanding queue, the following conditions must be met:
      • element must be memorized
      • element cannot have been reviewed earlier on the same day
      • the new position in the outstanding queue must be less than the old position (if any)
    • Add all to outstanding - add all elements to the outstanding queue
    • Add to drill - add all elements in the subset to the end of the final drill queue
    • Reset history - reset the repetition history of all elements in the subset



  • Advance - opposite to Postpone. In the case of topics, elements will be rescheduled with new intervals falling into a selected range. For example, if you want to thoroughly review all topics related to whiplash injury over the period of two weeks, search for whiplash (Ctrl+F), choose Advance, and select 14 (number of days in the review period). Advance works differently for items. All items will be rescheduled within the period of the advance interval starting with tomorrow. Unlike in the case of topics, item intervals may still be very long. Just short enough to fall within the review period. For those items that are lucky to retain long intervals, if your recall is good, you will not need to waste time on reviewing them frequently after the review period. The formula for the next repetition date is the same for topics and items: today+[1..Advance Interval]. The formula for the new interval is: [1..AdvanceInterval] for topics and (Today + [1..AdvanceInterval] - LastRepetition) for items. See: Advancing elements


  • Priority - change the priority of all elements in the subset. Warning! Inexperienced users tend to abuse the possibility of increasing the priority in a large subset!. This must be done with caution as it is very easy to neglect large portions of the learning material through massive up-prioritizations of other portions:
    • Increase - increase the priority of elements in the subset. If you choose the default change of 50%, all priorities will be multiplied by 0.5. For example, elements with priority 70% will have their priority increased to 35% (70%*0.5=35%). Note that in massive changes to priority, elements listed at the beginning of the subset will be modified first. This means that changes to the priority of later elements will affect the priority of elements modified first. In addition, priorities are rounded by position to the nearest integer. As a result, not always will you get the exact increase in priority as indicated by the Change field
    • Decrease - decrease the priority of elements in the subset. If you choose the default change of 150%, all priorities will be multiplied by 1.5. For example, elements with priority 50% will have their priority decreased to 75% (50%*1.5=75%)
    • Spread - spread the priority of elements within a selected range. For example, if you choose a range from 1% to 10%, and the subset has 10 elements, they will roughly receive the priorities of 1%, 2%, 3%, etc. Remember that rounding errors may produce different figures if the collection is small. In addition, in a narrow priority range, elements processed first may be displaced by elements processed later due to rounding errors. If there aren't enough priority positions to spread within the subset, the Step field will display 0 (on the yellow background) and the procedure will be disabled
    • Adjust - the same as Spread but the checkbox Adjust is checked. This retains the priority proportions between elements. If Adjust is unchecked, the spread is equal (equal priority increments between elements). If this field is checked, the distribution of priority within the subset will retain its profile (e.g. a large number of high priority elements, will retain their high priority within the new range and will not be pushed to lower priority by an equal spread)

Forgetting index


  • A-Factor - change the A-Factor of all elements in the subset:
    • Set A-Factor - set the A-Factor to a selected value
    • Modify A-Factor - multiply A-Factors by a selected number


  • Ordinal - change the ordinal number of all elements in the subset:
    • Set ordinal - give all elements the same ordinal number
    • Set difficulty ordinal - give all elements ordinals derived from item difficulty (easier items will get lower ordinals). This makes it possible, for example, to sort the pending queue in such a way that easy elements come first in learning
    • Spread ordinals - give all elements ordinals increasing in equal steps from a given lower limit to a given higher limit
    • Blend ordinals - set ordinals by position in the subset weighed against the position in another subset. If you have the same set sorted in two different ways, you can find a sorting order that falls into the middle between these two sorting orders. For example, if you have a collection that has been ordered by the position of elements in individual branches, you can set up a pending queue in such a way that difficult elements are pushed slightly towards the end of the queue. To accomplish this goal, sort the set by difficulty and save it in a subset file. Then sort the set by the original order and blend ordinals with the previously saved difficulty order set. The blend factor will determine how much the current sorting order is modified (0 for no change and 1 for the order from the subset file)
    • Set position ordinal - give all elements ordinal numbers equal to their physical position in the collection (e.g. to sort the pending queue in the order of adding elements into the collection)
    • Set pending ordinal - give all elements ordinal numbers equal to their position in the pending queue


  • Export - export all elements in the subset
    • Document (HTML) - export all elements into a single text file
    • Q&A text file - export all elements into a Q&A text file
    • All texts - export all elements into a single unformatted text file



  • Template - template operations (for more details see: Using templates)
    • Apply template - apply a selected template to all elements in a given element subset. Unlike in earlier versions of SuperMemo, this operation is reversible. You can always apply a different template or use Template : Detach template on the element menu to remove the applied template from individual elements. Note that the shortcut Ctrl+Shift+M will also work in the browser or in the Contents window, however, it will only apply the template to the element that is currently displayed in the element window
    • Impose template - execute Impose template operation on all elements in the subset. This will make sure that the source template of all elements is overwritten with the template applied to those elements
    • Detach template - detach template from all elements in the subset and display their original template-less source data
    • Replace template - replace the template in all elements (see Using templates). This operation is similar to Apply template but it is not reversible, i.e. the source template of all elements will be overwritten
    • Add template - add a template to all elements (see Using templates). You can use this option, for example, to add a specific component to all elements in the subset
    • Insert picture - add a picture illustration to all elements in the subset


Set title

  • Set title - assign a given title to all elements in the subset

Set concept group

  • Set concept group - set all element affiliations to a given concept group


  • Reference - modify references in a subset of elements
    • Set reference - assign the same references to all elements in a set
    • Merge reference - add reference fields to a set of elements
    • Delete reference - delete references from the subset elements


  • Statistics (Shift+Ctrl+B) - collect learning statistics for all elements in the subset. In the example below, a subset of 45843 elements is being analyzed. Some exemplary statistics of interest: the average item interval is 4288.903 days, the average number of repetitions is 6.693, and the measured forgetting index is slightly higher than the requested forgetting index (this is quite understandable considering a high number of postpones). The forgetting index for the first repetition equals 51.86% only to drop to 7.9% for most recently executed repetitions. Overall retention is 93.26% and the total size of texts in the subset is 2.579 MB.
d:\colls\Advanced English 2016
Elements: 45843
Items: 44800
Topics: 1043
Memorized: 44801
Dismissed: 1044
Items: 22.87% of all items
Topics: 0.25% of all topics
Memorized: 8.40% of all memorized
Burden: 30.413 elements/day (2.98%)
Item Burden: 30.41 items/day (9.98%)
Topic Burden: 0.003 topic/day (0%)
Item Priority: 40.5964
Topic Priority: 2.3695
Item Repetitions: 6.693
Topic Reviews: 0.006
Item Interval: 4288.903
Topic Interval: 0.276
Item A-Factor: 4.127
Topic A-Factor: 2.551
Average recent postpones for items: 103.878
Average total postpones for items: 104.898
Average recent postpones for topics: 0.003
Average total postpones for topics: 0.003
Recent postpones sum: 4653718 + 3
Total postpones sum: 4699435 + 3
Requested forgetting index: 9.99%
Measured forgetting index: 13.17%
First repetition f. index: 51.86%
Last repetition f. index: 7.9%
Forgetting index cases: 183393
Item text size: 2.576 MB
Topic/task text size: 2934 bytes
Total text size: 2.579 MB


Add to outstanding in subset review: