Study Time & Efficiency Tracker

AnkiWeb addon 1753921703

Automatically tracks Anki review sessions and estimates study efficiency, showing daily statistics, trends, session coverage, timers, and optional cross-device sync, requiring Review Heatmap.
AI-generated summary; may contain mistakes.

statisticstimer

Open on AnkiWeb GitHub Ask about alternatives

AnkiWeb

Rating
0 (πŸ‘ 0 Β· πŸ‘Ž 0)
Updated
2026-09-25
Anki versions
2.1.1~
Description language
en

Maintenance

active

  • Last update or commit was 6 days before the snapshot (2026-09-25).
  • The repository has 1 GitHub Actions workflows.

Will it work on my Anki?

Version branches
Min AnkiMax AnkiUpdated
2.1.1+2026-09-25
History across monthly snapshots

Loading…

Similar addons

FocusFlow

Combines a Pomodoro timer, study tracking, heatmap, analytics, goals, streaks, fatigue detection, and permanent history inside Anki.

statisticsprogress-trackingmotivationtimer

Rating 0 πŸ‘ 0 Β· πŸ‘Ž 0 ⭐ 0 Anki 25.07.1~ Updated 2026-09-17

README

Efficiency Tracker β€” Anki add-on

Tracks how efficiently you studied: compares your actual study time in Anki against the time you attempted to study, and visualises the history across the last 30 days.

Screenshot β€” dark mode

<details> <summary>Light mode</summary>

Screenshot β€” light mode

</details>

What does it do?

Anki already shows how long you actually spent doing reviews. But that isn't the same as how long you tried to study. You may have spent two hours at your desk, but Anki only counted 45 minutes β€” the rest was scrolling, getting distracted, or staring at one card.

This add-on lets you log how much time you attempted to study each day, and then computes your efficiency:

efficiency = actual study time in Anki / time attempted to study

The result is a dashboard with a bar chart, a line chart, and a table of your recent history.

Features

  • ⏱ Live sessions β€” start a timer with one click and watch your efficiency update live in the Anki statusbar. 30-minute check-in tooltips help you stay on track. Crash-recovers gracefully if Anki is closed mid-session
  • βž• Log study time as sessions β€” add multiple time blocks per day (09:00 β†’ 10:00, 14:30 β†’ 15:00, etc.) or just a duration in minutes
  • πŸ“Š Dashboard with today's efficiency, 7-day average, and 30-day average
  • πŸ”˜ Toolbar button right next to Anki's built-in "Stats" β€” one click to open the dashboard
  • πŸ“ˆ Bar chart per day (attempted vs. active in Anki)
  • πŸ“‰ Line chart of efficiency, colour-coded by threshold (defaults: β‰₯ 70% green, 45–69% amber, < 45% red β€” fully configurable)
  • πŸ—‚οΈ History table of recent days
  • πŸ“… Configurable time range β€” view the last 7, 30, 90, or 365 days
  • πŸ“€ Export / πŸ“₯ Import your attempted-time data as JSON, for back-ups or rough cross-device sync
  • ⌨️ Keyboard shortcuts: Ctrl+Shift+E to log time, Ctrl+Shift+S for statistics
  • πŸŒ“ Theme cycle button in the dashboard (auto / light / dark) β€” also settable via the add-on config
  • πŸ“¦ Zero external dependencies β€” all charts in pure SVG, ~9 KB total
  • πŸ”Œ Works fully offline

Installation

Option 1: from a release file

  1. Download the latest efficiency_tracker.ankiaddon from the Releases page
  2. Open Anki β†’ Tools β†’ Add-ons β†’ Install from file…
  3. Select the downloaded file
  4. Restart Anki

Option 2: build from source

git clone https://github.com/sitolam/efficiency-tracker.git
cd efficiency-tracker
./scripts/build.sh
# β†’ produces dist/efficiency_tracker.ankiaddon

Then install via Tools β†’ Add-ons β†’ Install from file….

Option 3: copy manually (for development)

Copy the src/efficiency_tracker/ folder into your Anki addons directory:

  • macOS: ~/Library/Application Support/Anki2/addons21/
  • Windows: %APPDATA%\Anki2\addons21\
  • Linux: ~/.local/share/Anki2/addons21/

Usage

After installing, a new menu Tools β†’ Efficiency Tracker appears with these actions:

Action Shortcut What it does
β–Ά Start / ⏹ Stop session Ctrl+Shift+R Toggle a live session β€” see the statusbar widget for live efficiency
βž• Enter study time… Ctrl+Shift+E Open the per-day session log (add/remove timed sessions)
πŸ“Š Show statistics… Ctrl+Shift+S Open the dashboard
πŸ“€ Export data… Save your attempted-time entries to a JSON file
πŸ“₯ Import data… Load entries from a JSON export (merged with existing data)

Running a live session

Hit Ctrl+Shift+R (or click the β–Ά button in Anki's bottom statusbar, or pick β–Ά Start session… from the Tools menu) when you sit down to study. A small dialog asks when you started β€” defaults to right now, but you can back-date it if you started 5 minutes ago and only just clicked.

While the session is running, the statusbar shows live elapsed time, Anki review time, and a colour-coded efficiency percentage that updates every second. Every 30 minutes a tooltip nudges you with the current numbers β€” silenceable via notify_every_30min in the config.

Click ⏹ (or hit Ctrl+Shift+R again) to stop. The block is saved to that day's session list, with the real start and end times.

If Anki is closed while a session is running, the tracker auto-stops it on the next launch and saves what was tracked up to that moment.

Logging a session

Open Enter study time… and click βž• Add session. Two modes:

  • Timed β€” enter a from and to time (e.g., 09:00 β†’ 10:30). The duration is computed automatically. Sessions that cross midnight are detected and marked as overnight.
  • Just minutes β€” enter a duration without specific times. Useful for back-filling old data when you don't remember exactly when you studied.

Add as many sessions as you want for the same day β€” they all add up to the day's total attempted time. Remove individual sessions with the βœ• button. Changes are saved immediately.

The dialog has a date picker so you can also back-fill earlier days, and shows your actual Anki time and live efficiency for the selected date.

Configuration

Open Tools β†’ Add-ons β†’ Efficiency Tracker β†’ Config to tune:

Key Default Description
theme "auto" "auto" (follow system), "dark", or "light". Also cycleable from the dashboard.
good_threshold 70 Efficiency % at which the indicator turns green
warn_threshold 45 Below this %, indicator turns red. Between this and good_threshold it's amber
range_days 30 Time window for the dashboard. One of 7, 30, 90, or 365. Also changeable from the range dropdown in the dashboard.
notify_every_30min true Show a 30-min check-in tooltip while a live session is running. Set false to silence.
show_toolbar_button true Show the "Efficiency" link in Anki's top toolbar (restart Anki after changing)

Cross-device sync (export / import)

Anki itself doesn't sync the addon's user_data.json, so attempted-time entries stay local to each machine. To copy data between devices:

  1. On device A: Tools β†’ Efficiency Tracker β†’ Export data… β€” saves a JSON file you can put in Dropbox / iCloud / a USB drive
  2. On device B: Tools β†’ Efficiency Tracker β†’ Import data… β€” pick the file. Existing entries with matching dates are overwritten by the imported values; entries that exist only locally are kept.

The export format is a simple JSON object with a data field, so you can also hand-edit it or generate it from scripts if you want to.

How it works

  • Actual study time comes straight from Anki's revlog table (the same data Anki's own statistics use). The day boundary follows your Anki rollover setting (4 AM by default).
  • Attempted time is also bucketed into Anki-days that follow the same rollover. So a session you log at 02:30 with the default 4 AM rollover counts toward the previous calendar date β€” exactly how Anki itself groups reviews from that moment. This keeps the efficiency calculation honest around the night boundary.
  • Storage: user_data.json inside the add-on folder. Each day is either a list of sessions ({"sessions": [{"start": "09:00", "end": "10:00", "minutes": 60}, …]}) or, for entries from older versions, a plain {"attempted": N}. Both formats are read transparently.
  • Visualisation is generated as pure SVG inside an Anki webview. No Chart.js, no CDN, no tracking β€” works offline.

Compatibility

  • Anki 2.1.50+ (Qt6)
  • Tested on macOS, Windows, and Linux

Known limitations

  • Very long ranges (365 days) render daily bars at high density β€” use the efficiency line chart for trends in that mode.
  • No automatic cross-device sync β€” use Export data / Import data in the Tools menu, or sync the add-on folder via iCloud / Dropbox manually.

Contributing

Issues and pull requests are welcome. Some ideas on the roadmap:

  • Note field per day (why was efficiency low?)
  • Streak counter for consecutive days at β‰₯ X% efficiency
  • Per-week or per-month efficiency targets
  • Aggregated views (weekly / monthly bars) for very long ranges

License

MIT