Operational dashboards15-minute refresh, Redis write-through

The dashboard the administrator actually opens.

The institutional dashboard is built for the administrator who runs an ArthurAI™ deployment. It surfaces the operational signals that actually inform deployment health: at-risk learner detection (7+ days inactive with under 30% progress), AI adoption rate across the institution, weekly learning-velocity heatmaps, license-quota posture, and per-course performance ranking. Materialised views refresh every 15 minutes; Redis write-through caches invalidate on relevant mutations.

Five operational signals

What surfaces on the front page.

  • 01

    At-risk learners

    Flagged when inactive 7+ days AND under 30% course progress.

    Two conditions must hold simultaneously. Either alone is normal academic rhythm; together is a leading indicator of disengagement and the moment intervention is still cheap.

  • 02

    AI adoption rate

    Active students who used the live Arthur tutor in the trailing 30 days.

    The deployment health metric that matters. An institution that bought the platform but isn’t using the tutor is paying for shelfware. This number is visible to administrators on day one.

  • 03

    Weekly learning velocity

    Per-day lesson-completion intensity over the trailing 12 weeks.

    A heatmap, not a number. Reveals seasonal patterns (term breaks, exam weeks, holidays) and cohort effects (a slow start that recovers, a strong start that fades).

  • 04

    Per-course performance

    Course-by-course pass rates, average mastery, time-to-completion.

    The ranking that tells an academic dean which courses to invest in next — and which curricula need redesign.

  • 05

    License-quota posture

    Live used-vs-allowed seats with a reconciliation endpoint to repair drift.

    Procurement does not want surprises. The dashboard surfaces seat utilisation in real time; a reconciliation button corrects the rare case where an off-platform action leaves seat counts inconsistent.

Materialised views. Write-through caches. No batch jobs.

The dashboard is fast because the architecture is correct. Materialised SQL views recompute every fifteen minutes via timer-triggered Azure Functions. Redis caches invalidate write-through on every session, practice, and enrollment mutation. The administrator opening the page at 09:01 sees the activity that happened at 08:59 — not yesterday’s batch.

Code is truth
  1. 01

    At-risk algorithm: a student is flagged at-risk when they have been inactive for 7+ days AND are under 30% course progress.

  2. 02

    AI adoption rate: proportion of active students who have used the live Arthur tutor in the trailing 30 days.

  3. 03

    Weekly velocity heatmap: per-day lesson-completion intensity over the trailing 12 weeks.

  4. 04

    Per-course performance ranking: course-by-course pass rates, average mastery, and time-to-completion.

  5. 05

    License-quota posture: live used-vs-allowed counts with reconciliation endpoint to fix drift.

  6. 06

    Materialised SQL views refreshed every 15 minutes by timer-triggered Azure Functions; Redis caches invalidated write-through on session/practice/enrollment mutations.