DDL Oracle answers one question:
"How long until I reach my learning goal?"
Given your recent review history, it predicts a deadline (DDL) for each
goal level in whatever subject you are studying. A new installation starts
with a neutral task scaffold that tracks all decks as one card type, without
any subject-specific curriculum. Add specific deck paths to split card types
for language learning, exams, or custom curricula.
What it shows
A small panel below the deck list, with one row per level:
- progress percentage (weight-adjusted across card types)
- estimated completion date
- days remaining
Progress tracks cards assigned to each level by study history: a card is counted once it has
at least one review-history entry. This is separate from mastery; a card does not need to
reach the mastery interval threshold to be assigned to a level.
How it works
The prediction combines three signals taken straight from your revlog:
- Per-type expansion β average reviews a card of that type takes to
reach the mastery interval configured by the user.
- Card-type weights β different card types take different amounts of
time per review. Auto-calibrated from your real review times.
- Recent effort β weighted reviews per calendar day over the last N
days (default 7), excluding reviews whose post-review interval is at or above the
configured mastery threshold.
days_remaining = Ξ£ (gap Γ weight Γ expansion) / effort_per_day
No growth model, no retention factor β expansion empirically encodes
failures and relearning.
Configuration
Tools β DDL Settingsβ¦ opens a 3-tab dialog:
- General β DDL title, effort window, mastery threshold, algorithm hint, deadline
- Card Types β define card categories using exact deck paths;
* catches other decks
- Level Targets β how many cards of each type are assigned to each level; assignment
starts with the card's first review-history entry and is separate from mastery
Weights are auto-calibrated; you don't edit them by hand.
Privacy
100% local. No network requests. Reads your collection.anki2 directly.
Source / Issues
https://github.com/DGTOTOTO/DDL-Oracle