Skip to content

Stats & BI (self-service)

The Stats tab is a dedicated BI workspace (Admin/Teacher): exploration of analytical data, building and rearranging visualizations, and a conversational assistant. The Parent portal gets a dedicated, simplified, mobile-first Assistant tab.

Admin/Teacher workspace

  • Global filter bar: period (presets + range), class, subject, session, student, teacher (Admin). Filters cascade.
  • Field catalog: business metrics and dimensions; advanced mode for the authorized technical columns.
  • Central canvas (GridStack): move, resize, add, delete, reconfigure widgets. Saved in the browser (nexora.stats.canvas.v1); Reset dashboard button.
  • Side chat: conversational scope independent of the canvas filters. Ambiguous scope confirmation, server-computed evidence, skills used, Add to canvas actions.
  • Refresh: detects a new data version (local or S3/R2 fingerprint) and reloads the DuckDB catalog atomically. On failure, the previous version stays active.

Semantic catalog

Queries go through a semantic compiler (QuerySpec), never free SQL. Datasets: class_sessions, student_sessions, engagement_windows, session_timeline, student_history. Metrics: engagement, sustained attention, on-task, attention shifts, drift, recovery, flagged students, drift episodes, yawns, synchrony, engagement level and A–G domains.

Chart types: KPI, line, bar, stacked bar, scatter, histogram, heatmap, table, pie/donut — deterministic suggestion.

Assistant

  • Answers in the language of the last message.
  • Scope resolved server-side per role; confirmation if ambiguous.
  • Values and method displayed (Evidence) without raw SQL.
  • Data pseudonymized before OpenRouter and before logs.
  • Markdown analytics skills (Admin) injected and listed.

Parent

  • Assistant tab: conversation, value cards, simple charts, anonymous class comparisons (groups ≥ 5 students).
  • No third-party nominative data; fatigue/drift described as observations.
  • Reports usable only if published and belonging to the child.

Source: api/stats/*, api/admin/analytics-skills, api/parent/chat.