Spaced Repetition Planner
This calculator builds a practical review plan for your topics/flashcards.
You choose your study days and a daily time budget, then the tool schedules reviews over the next
N days and warns you when certain days exceed your budget.
Idea: spacing reviews over time improves long-term memory. The planner converts each topic’s difficulty and priority into
a sequence of future review dates, then checks whether the daily workload fits inside your available minutes.
Inputs and what they mean
- Start date: the day the schedule begins (default: today).
- Study days: choose which weekdays you allow reviews on (Mon–Sun).
- Daily time budget (minutes): the maximum minutes you want planned for each day.
-
Topics table (repeatable): each row represents one topic/flashcard set.
Typical fields:
- Topic name
- Priority (low/med/high or numeric weight)
- Difficulty (1–5)
- Familiarity (new / learning / known)
- Minutes per review (if included in your calculator): used for workload totals.
- Algorithm: Simplified schedule or SM-2-lite.
How the planner schedules reviews
Simplified schedule
The simplified algorithm is meant to be transparent and easy to trust. It uses a fixed set of review intervals
(for example 1, 3, 7, 14, 30 days), then adjusts them slightly based on difficulty/familiarity and optional “easy/hard”
choices (if your UI provides them).
\[
I = [1,\;3,\;7,\;14,\;30,\;\ldots]
\]
\[
\text{NextDate}_{k} = \text{StartDate} + I_k
\]
\[
I_k^{\*} = I_k \cdot m_{\text{diff}} \cdot m_{\text{fam}}
\]
\[
\text{Hard: } I_k^{\*} = 0.5 \cdot I_k^{\*}
\qquad
\text{Easy: } I_k^{\*} = 1.5 \cdot I_k^{\*}
\]
After computing candidate dates, the planner snaps each date to the next allowed study day (based on your weekday selector),
so the schedule respects your availability.
\[
\text{If }\text{NextDate}\notin\text{AllowedDays},\;\text{advance to the next allowed day.}
\]
SM-2-lite (spaced repetition with an ease factor)
SM-2-lite is a simplified version of the classic SuperMemo SM-2 approach. Each topic tracks:
repetitions, interval (days), and an ease factor (how “easy” the topic feels over time).
When you log a review rating from 0 to 5, the algorithm updates the topic’s interval.
\[
\text{If } q < 3:\quad r \leftarrow 0,\;\; I \leftarrow 1
\]
\[
\text{If } q \ge 3:\quad r \leftarrow r + 1
\]
\[
r=1:\; I \leftarrow 1
\qquad
r=2:\; I \leftarrow 6
\qquad
r\ge 3:\; I \leftarrow \lceil I \cdot EF \rceil
\]
\[
EF \leftarrow \max\!\Big(1.3,\; EF + (0.1 - (5-q)\cdot(0.08 + (5-q)\cdot 0.02))\Big)
\]
\[
\text{NextDate} = \text{Today} + I
\]
Interpretation: If you rate a review poorly (q < 3), the topic comes back soon (reset).
If you rate it well, the interval grows—faster for topics with a higher ease factor.
Workload and budget checks
Once each topic produces review dates, the planner groups them by day and sums the minutes planned for that day.
Then it compares planned minutes to your daily budget.
\[
M_d = \sum_{t\in \text{Topics scheduled on day } d} m_t
\]
\[
\text{Overflow}_d = \max(0,\; M_d - B)
\]
- Planned minutes/day vs budget appears in the workload summary.
- If Overflow is positive, the calculator flags that day (e.g., “Friday exceeds budget by 18 min”).
Visualizations
-
Calendar blocks (week view): shows what to review each day. More topics in a day means a taller day box (so items stay readable).
-
Daily workload line chart: plots planned minutes across the timeline with a horizontal line for your budget.
When the line rises above the budget, you’re overloaded on that day.
Export
- Copy as checklist: a simple “Today: …” format you can paste into notes.
- Download CSV: exports rows like
(date, topic, minutes) for spreadsheets or calendar tooling.
Practical tip: If you see repeated budget overflows, reduce daily minutes, study on more weekdays, or lower the minutes per review for some topics.
The goal is a schedule you can actually follow.