Sleep Chart



Sleep is vital for learning. To sleep well and to learn well, you need to understand your own circadian rhythm. Sleep Chart in SuperMemo was designed to assist you in that task. It can help you optimize the timing of sleep as well as to optimize the timing of your learning. You can inspect the timeline of learning that is generated automatically. Your sleep data must be logged manually in the Sleep Chart. Collecting your sleep data can be useful in understanding the link between sleep and learning.

At minimum skill level, you can use Sleep Chart for basic visual inspection of your favorite learning and sleep hours. However, more advanced functions such as optimizing the time for learning or the time for sleep require advanced analysis and understanding of circadian rhythms. Currently, the toolset for analysing the impact of sleep on learning is very limited. However, if you start logging your sleep data today, you will be able to use future, more advanced versions of SuperMemo to study and understand your sleep and learning.

You can access Sleep Chart with (1) Tools : Sleep Chart on the Main menu, (2) SuperMemo commander, or (3) by just pressing F12.

SuperMemo: Tools: Sleep & Learning Timeline displaying repetitions blocks of the current collection (in red) and sleep blocks (in blue)

Sleep blocks are marked in blue. Learning blocks are marked in red. Total learning time on individual days is displayed on the right. Selected sleep block is displayed in yellow. The length of that block is displayed at the bottom.

Repetitions timeline

The timeline of repetitions is collected automatically and is separate for each collection. Each time your make repetitions with SuperMemo, the learning block is added to the timeline (displayed in red).

Sleep timeline

The timeline of sleep must be logged manually. There is only one sleep timeline in SuperMemo (unlike repetition timelines that are separate for individual collections). If you move SuperMemo between computers, remember to move your sleep timeline as well. The timeline is stored in the \sleep subfolder of the SuperMemo folder as sleep.tim (e.g. d:\sm15\sleep\sleep.tim). This file's name and location cannot be customized. This file is compatible with SleepChart and can be opened and edited in that application independent of SuperMemo.

To log a block of sleep, click the beginning of the block (sleep start) and then click the end of the block (sleep end). You can also start from clicking the end of sleep first. Sleep blocks above 22 hours are disallowed. Sleep blocks cannot overlap with repetitions timeline (you cannot learn with SuperMemo and be asleep at the same time). If you have already collected your sleep data in SleepChart, you can import this data with File : Import : SleepChart file. If you import files from SleepChart, you can test for sleep and learning overlaps with File : Verify : Block overlaps. Protection from block overlaps is an important advantage of using SuperMemo over SleepChart, in which it was very easy to fall out of phase in logging data (e.g. by failing to fill out a single day and noticing that only a month later). You can mark blocks of forcefully delayed sleep, as well as mark blocks cut short with an alarm clock or other factors. Please note that you can get best analytical results if you do not artificially regulate sleep (e.g. with an alarm clock, sleeping pills, etc.). Applied models will not fully account for artificial intervention. Last but not least, natural sleep is what you should aim for in learning as well as for the sake of maximum health and well-being. Natural free-running sleep will maximize your fun in life!

Timeline graphs

Currently you can use 6 analytical graphs in Sleep Chart. This set is likely to grow in future releases of SuperMemo as more gets to be known about information that can be extracted from correlations found in sleep&learning data. If you deem the presented analytical power as insufficient today, it should not stop you from collecting sleep data. Start today! Every data point can contribute to valuable conclusions in the future.


Timeline displays repetitions blocks of the current collection (in red) and sleep blocks (in blue). Dates and total repetition time are displayed on the right. Sleep blocks can be consolidated with Consolidate button on the toolbar. For example, if you woke up for 5-10 min. in the night, consolidation will make SuperMemo treat the entire night block as a single entity (short awakenings are a frequent occurrence, even if we are not aware of them, and have little impact on learning). Sleep optimization data can be displayed in this graph. Most importantly, two independent models are used to predict middle-of-the-night points as well as the expected optimum retirement and awakening times. Those approximations may be helpful in optimizing sleep in people who work shifts or sleep in irregular hours for various reasons. For example, after a week of irregular sleep, it may be difficult to determine the optimum retirement hour that is likely to produce best quality sleep. Going to sleep too early might result in premature awakening (which may often ruin the night sleep entirely). Going to sleep too late may result in short night sleep, sleep deprivation, and reduced alertness on the following day. Predicting optimum sleep time on the basis of sleep history is inexact science, and two models used may produce different outcomes. Important! Your natural instinct should always take precedence over mathematical models. Moreover, best results in sleep optimization are accomplished in free-running sleep. If you use an alarm clock, or force yourself awake through the night, or take sleeping pills, the models may not adequately account for the chaotic change that is occurring in your sleep control systems.

It is impossible to provide a sure&simple way of interpreting the following graphs. Only rough guidelines are provided. For more detailed interpretation, send your data to sleep2009(AT)supermemo(DOT)com. Your data will be used to improve future analytics. If possible, you will also receive personal help in interpreting your results.

SuperMemo: Sleep and repetitions timeline displaying repetitions blocks of the current collection (in red) and sleep blocks (in blue) with recomputed circadian approximations on the current data

Computing optimum sleep hours may be useful, for example, when recovering from a night shift.

Blue and red continuous lines are predictions of optimum sleep time using the SleepChart model (based on sleep statistics). Yellow continuous line shows the prediction of the maximum of circadian sleepiness (circadian middle-of-the-night peak) using a phase response curve model. Note that theoretically, yellow line should roughly fall into the middle between blue and red lines. However, when a distruption of the sleep pattern is severe, those lines might diverge testifying to the fact that it is very hard to build models that fully match the chaotic behavior of the sleep control system subjected to a major perturbation. Aqua dots point to the predicted daytime dip in alertness (i.e. the time when a nap might be most productive).


Circadian graph plots your favorite sleep times as counted from natural awakening (blue homeostatic line), as well as the resulting average sleep length produced by various retirement hours (red circadian line). If you are trying to determine your optimum sleep time, see for peaks in the blue homeostatic line and choose near points that produce sufficiently long sleep (high reach of the red curve). In nappers, the blue line should also point to the maximum mid-day alertness dip. However, in this case, short naps may actually be a sign of well-timed naps (if not taken too early in reference to the blue homeostatic line).

SuperMemo: Circadian graph plotting your favorite sleep times as counted from natural awakening (blue homeostatic line), as well as the resulting average sleep length produced by various retirement hours (red circadian line)

Circadian and homeostatic sleepiness

Blue line shows how often sleep is initiated at different periods after awakening (% on the vertical axis on the right). This line is a rough reflection of the homeostatic sleep drive. Red line shows how long sleep lasts depending on the hour at which it was initiated (in reference to the hour of morning awakening)(hours on the vertical axis on the left). This line is a rough reflection of the circadian sleep component, i.e. the longest sleep blocks occur during the subjective night. Note that the sleep length graph is slightly phase shifted in reference to the circadian sleep drive due to the fact that long sleep is mostly achieved by initiating sleep too early. In the presented example, on average, the best sleep is obtained when initiated after 18 hours from morning awakening (homeostatic peak combined with a sufficiently long sleep period). This example also shows that the optimum siesta time occurs 7 hours after awakening. For example, for an awakening at 6 am, the siesta should begin at 1 pm, and the night sleep at midnight.

Phase shift

Phase shift graph is helpful in people practising free-running sleep who suffer from a degree of phase-shift (ASPS or DSPS). In free-running sleep, this graph will display the degree of phase-shift as well as its dependence on the time of the day.

SuperMemo: Phase shift graph displaying the degree of phase-shift (ASPS or DSPS) as well as its dependence on the time of the day

Blue line indicates retirement hours. Red line indicates waking hours. Fuchsia and gray lines indicate siesta period. Even though the red waking line begins at the origin of the graph, it shows a substantial phase shift at later hours. The sign of the shift will depend on whether it is caused by an advanced or a delayed sleep phase shift syndrome.


In healthy individuals who are not sleep deprived and who sleep in the correct phase, the best learning results are obtained early in the morning and after a siesta. You can see how fast your alertness, recall and grades drop during the day by inspecting the Alertness (H) graph. In this graph, you can see the time that has passed since the last sleep block, and how your recall changes in waking. The minimum length of sleep blocks that are considered is determined by Min. sleep block (h) box (0.2 hours, or 12 min. is the default minimum sleep block taken into consideration). Shorter sleep blocks are disregarded in plotting this graph.

If you have already collected your sleep data with SleepChart, you can see your wake-recall correlations with the newest SuperMemo. However, only repetitions executed with SuperMemo 2006 or later will count (earlier SuperMemos did not store precise time of repetitions in repetition history).

SuperMemo: Tools : Sleep Chart : Alertness graph makes it possible for you to visually inspect how grades decrease during the waking day. It also shows the impact of circadian factors with grades slightly lower immediately after waking and slightly higher after the mid-day dip in the 9th hour

Alertness (H) graph makes it possible for you to visually inspect how recall decreases during the waking day. It also shows the impact of circadian factors with grades slightly lower immediately after waking and slightly higher after the mid-day dip in the 10-13 hours bracket. The Deviation parameter displayed at the top tells you how well the chosen approximation curve fits the data (in the picture: negatively exponential recall curve). The lesser the deviation, the better the fit. The deviation is computed as a square root of the average of squared differences (as used in the method of least squares).

SuperMemo: Tools : Sleep Chart : Alertness (C) graph makes it possible for you to visually inspect how grades decrease during the waking day.

Alertness (C) graph showing the powerfully biphasic nature of the human circadian cycle. The horizontal axis shows the circadian time, i.e. the time that elapses from phase 0, i.e. the predicted "end of the night" time. The prediction comes from the circadian model employed in SleepChart, and is derived from the sleep log collected in SuperMemo. The pink line is the predicted alertness derived from the same sleep log data using the two-process model of sleep developed for the purpose of sleep optimization in SuperMemo (the model is inspired by similar work by Alexander A. Borbely and Peter Achermann). The alertness is the resultant of the status of the two sleep drive processes: the homeostatic process and the circadian process. The blue dots are recall data taken from an actual learning process in SuperMemo.

Alertness approximation buttons

  • Homeostatic - approximation of the homeostatic alertness (inverse of the homeostatic sleep drive). Depending on the status of the Model button, the approximation is either a theoretical negatively exponential curve that provides the best fit to the alertness data, or is taken from the two-processes model providing best fit to the sleep log data.
  • Circadian - approximation of the circadian alertness (inverse of the circadian sleep drive). Depending on the status of the Model button, the approximation is adjusted for the actual waking time or for the predicted optimum waking time taken from the two-processes sleep model. Depending on the status of the Exp FI button, the graph is also adjusted for the theoretical association between grades and recall (as opposed to only fail vs. success measurement).
  • Alertness - resultant alertness that combines homeostatic and circadian alertness (inverse of the modelled sleep drive). The formula used to combine the two components of alertness has been derived heuristically to provide a good fit to sleep log and recall data.
  • Wake - waking time proportion at a given point in circadian time (this is a straight line in the homeostatic graph as all points in the graph are plotted after the last registered sleep episode). The waking proportion is not to scale as all approximation graphs are stretched between minimum and maximum levels for better graph clarity.

Other alertness graph buttons

  • Model - switch between actual waking time and the modelled predicted optimum waking time taken from the two-processes model. This button also switches to the negatively exponential approximation of the wake-vs-recall curve (as opposed to the curve taken from the two-processes sleep model).
  • Exp FI - use expected forgetting index estimations to differentiate between grades in the learning process (when this button is depressed, only fail and pass grades are taken as recall 0 and 1).
  • Excel - export data to Excel.

Homeostatic alertness parameters

When displaying the homeostatic alertness, you can adjust two parameters (bottom of the graph):

  • minimum length of sleep blocks considered (in hours). All sleep episodes lasting less than the said parameter will be ignored in the graph.
  • homeostatic alertness halflife (in hours). This number tells you when your learning capacity drops by half after waking. You can modify this parameter to look for a better curve fit (Model must be depressed). See Deviation to evaluate the fit. This halflife can differ between individuals. Notably, it is very short in narcoleptics, and very long in natural non-nappers.


This graph tells you how long your usual sleep blocks are. For example, is it true that your sleep blocks form a multiple of 90 min. (or some similar ultradian cycle)?

SuperMemo: Distribution graph makes it possible for you to tell how long your usual sleep blocks are

Distribution of the length of sleep blocks.

Two-component sleep model

SuperMemo uses a two-component sleep model inspired by the publications of Alexander A. Borbély and Peter Achermann. Unlike other models, SuperMemo uses your sleep data to predict the homeostatic and circadian status of your alertness. This may be helpful in choosing the optimum time for learning on a given day (given a particular history of sleep). This can also help you plan your sleep many hours in advance if your sleep pattern is highly irregular. The model does not predicate on the timing and duration of REM and NREM sleep episodes.

Important! This is the first release of the presented model to a wider public and should only be used for educational purposes as well as an inspiration in planning your sleep and learning. There are individual genetic differences that affect the length of the circadian cycle, steepness of the homeostatic decline in alertness, sleep length preference, sleep architecture, etc. This model is limited in accounting for these variables. If you are sleepy against the simulations based on the model, you can probably trust your own instincts better. If you feel alert against the simulations based on the model, you can certainly get down to learning and ignore predictions of the model. Moreover, sleep patterns are a good measure of your sleep control systems only if they are not artificially disturbed (e.g. by forcefully delaying sleep, using alarm clock, using sleeping pills, etc.). In other words, if you are not free running your sleep, the presented model may fail to map your circadian rhythms correctly. You can mark blocks as artificially shortened or delayed (Forced awakening and Delayed retirement on the context menu available with a right-click). However, marked blocks will have a limited effect as there is no way of knowing the degree of the cut into the sleeping patterns, and, consequently, knowing the resulting perturbation in the control system produced by artificially modified sleep.

To see the predictions of the model for any given day, make sure you have your sleep data filled out for recent days, and shift-click the day in question.

SuperMemo: The predictions of the two-component sleep model about the homeostatic and circadian status of your alertness

Two-component sleep model: Blue blocks show the actual sleep blocks. Aqua line shows the 24h circadian sleep drive with a mid-day hump. Green line is an inverse of the homeostatic sleep drive and can be interpreted as homeostatic alertness. This component declines exponentially during wakefulness and is quickly restored by slow-wave sleep (for simplicity, the entire sleep block is assumed to have a contribution proportional to its length, as the model does not accounts for sleep stages). Yellow vertical lines show the prediction of the maximum of circadian sleepiness (circadian middle-of-the-night peak) using a phase response curve model. Red line shows cumulative alertness (peaks are best for learning, valleys are best for sleep). For example, Alertness on Oct 1, 2008 at 7:43 was predicted to be at 59% of the maximum but would increase fast in the first 2 hours of wakefulness (a typical symptom of a night sleep that is terminated too early). The picture shows two peaks in alertness on Oct 1, 2008, at 9 am and at 7 pm. Those periods would likely be best suited for learning on that day.

To see a more accurate reflection of the homeostatic decline in alertness during wakefulness, see the Alertness tab.


You can abandon SleepChart


I used to log my sleep into SleepChart. Once this file is imported to SuperMemo, should I abandon the SleepChart file and log sleep details directly into SuperMemo?


Yes. All SleepChart functionality has been included in SuperMemo. You can quickly get Sleep Chart with F12. However, there is full compatibility at the file level, and you can always go back to SleepChart in the future, or introduce sleep blocks using SleepChart if it is more convenient (and does not lead to confusion). All you need to remember is to use the file at the right location: SuperMemoFolder/sleep/sleep.tim. SuperMemo will always use the file at this location only.

You need to copy sleep timeline when reinstalling SuperMemo


I installed a new version of SuperMemo and copied my collections into that installation. However, my sleep timeline disappeared.


In addition to copying your collections, you will need to copy the following file: <SuperMemoFolder>\sleep\sleep.tim. This file must be placed in the \sleep folder in the new installation.

Gaps in Timeline


I had been meticulously recording my sleep for about 6 months until I lost track for a couple of weeks and then began recording my sleep once more. How are such gaps in SleepChart treated? Can anything be done afterwards to minimise the damage to the data?


Currently, SuperMemo has very weak protections against missing data. If you use your data to study sleep cycles, you could try to roughly estimate the sleep hours for the period and fill in the approximate data. However, it is hard to say how this will affect sleep&learning correlations. Even a small change could produce a major difference in graphs. You could backup sleep.tim file, fill in the approximations and peek at the Alertness graph. If it has not been disturbed much, you might leave the approximated data and hope that with the inflow of new sleep and learning data, the damage will be diluted. Hopefully, overtime, SuperMemo will add mechanisms to better cope with missing sleep data. However, if you want to understand your own sleep and memory, you would do best by just being religiously systematic with logging in your sleep blocks.

Should I log light sleep


Hello, should log the time from when you get into bed or try to estimate the time at which you actually fall asleep ? I sometimes take up to hours to truly fall asleep even if I am tired. And if I spent an hour on my bed in a kind of light sleep but conscious (or meditating), should I log that in ? Or should I just try to truly sleep when I am in my bed ?


As SleepChart does not provide for differentiating between sleep stages (this would require some advanced measurement technology), you can use conscious mind as the sole indicator. Light sleep with loss of consciousness should mark as blue=sleep, while tossing and turning or meditation without the loss of conscious thinking should mark as white=wake. If you happen to guess you had short moments of sleep (1-2 min.), you could mark these as short vertical blue sleep lines. Whether you are interested in optimizing sleep (e.g. when to go to sleep) or in viewing your learning performance in waking time, SuperMemo shall cope ok with a degree of imprecision in logging sleep in situations like the one described.