ARIA-Pace · research project page · October 2026
When should a math tutor stay quiet?
A timing rule for a math tutor, evaluated by replaying the logs of 597 held-out students. An offline replay, not a classroom trial.
- fewer skill sequences hinted, Quiet setting, against hinting after every wrong step
- 52%
- missed help: 19 of 518 stuck sequences (95% CI 2.2–5.3%)
- 3.7%
- held-out test students, evaluated once
- 597
A second locked evaluation has also been run once. Its numbers are withheld until the dataset terms are confirmed.
1 · Summary
The short version.
When a student writes a wrong step, should a tutor speak right away or wait? ARIA-Pace is a timing rule: a knowledge-tracing model estimates the chance the student is getting stuck, and the tutor gives a hint only when that risk passes a threshold set by how costly an interruption is compared with a late hint. On a locked test of 597 students, the Quiet setting hinted 52% fewer skill sequences than hinting after every wrong step, and missed help in 3.7% of stuck sequences (19 of 518). This is an offline replay of logged data, not a classroom trial. It cannot show how a student would have responded to help, and we make no claim about learning.
2 · The question
Interrupt now, or let the student keep working?
ARIA treats hint timing as a just-in-time adaptive intervention (JITAI): at each decision point the system chooses between acting and waiting, based on the state it can observe. Help that arrives too early can cut short useful struggle. Help that arrives too late can leave a student spinning their wheels. Koedinger and Aleven (2007) called this the assistance dilemma.
We make the trade-off explicit. Each unnecessary interruption has a cost, each opportunity of delayed help has a cost, and the three settings are three ratios of those costs. They are cost settings, not types of student.
| Setting | Interruption : delay cost | Hint threshold |
|---|---|---|
| Quiet | 3:1 | 57% |
| Balanced | 1:1 | 19% |
| Supportive | 1:3 | 9% |
3 · Data
Public ASSISTments logs, split by student.
ASSISTments 2009–10 skill-builder logs, corrected and collapsed: 346,860 rows from 4,217 students, public and de-identified. We collected no student data. Rows with no skill tag (63,755, 18.38%) were dropped, leaving 64,818 sequences, where a sequence is one student’s work on one problem set. The data are math logs; the sources do not state a grade level.
| Split | Students | Used for |
|---|---|---|
| Train | 2,498 | Fitting the risk models |
| Validation | 833 | Calibration and thresholds |
| Test | 832 | One locked evaluation |
The test evaluation covers the 597 test students with at least one in-scope sequence: 3,468 skill sequences, 570 of them labeled stuck.
The “stuck” label
A sequence is stuck (wheel-spinning) if the student has no 3 correct answers in a row within their first 10 tries. The logs record this directly, so nobody labeled anything by hand.
Following Wang et al. and Kai et al., which attribute the idea to Beck and Gong (2013).
4 · Model
A step, a check, a risk, a decision.
- 1Student writes a stepOne step of the problem, typed as math.
- 2SymPy checks itRight or wrong. A right step gets no reply.
- 3Stuck risk updatesBayesian Knowledge Tracing, calibrated.
- 4Hint, or waitIf the step is wrong and the risk passes the setting’s threshold, hint.
The risk model is Bayesian Knowledge Tracing (BKT), fitted per skill on the training students with a pooled fallback for skills it has not seen. Stuck risk is the calibrated probability of not mastering the skill by try 10. On validation data, deep-learning models (DKT, SAKT) did not beat BKT at predicting stuck sequences, in single-skill or multi-skill versions (single-skill: aria_pace/results/dkt_val.json:28 and aria_pace/results/sakt_val.json:17; multi-skill: aria_pace/RESULTS_v3.md:8), so BKT stayed.
Thresholds were chosen on validation students only, then frozen. The three settings weight an unnecessary interruption against delayed help at 3:1, 1:1 and 1:3. In the replay, the dataset’s own correctness flag stands in for the SymPy check, which is evaluated separately in the live tutor.
5 · Evaluation protocol
Written down first, tested once.
- Specification first. Labels, splits, metrics and cost settings were committed before any model was fit. Later changes are numbered amendments with dates. This is a repository commit history, not an external registry.
- Locked test set, run once. Every threshold was frozen on validation. A lock file makes the evaluation script refuse a second run.
- Paired bootstrap over students. Confidence intervals come from 1,000 resamples of students.
What the two measures count
Fewer hints counts the first hint in each skill sequence, compared with hinting after every wrong step. Missed help is the share of stuck sequences that had a chance for help but received no hint before try 10.
Hints are considered at tries 3 to 9, at most one counted per sequence.
6 · Results
Quiet roughly halves the hints and misses few stuck students.
We evaluated the policy once on 597 test students (3,468 skill sequences, 570 of them wheel-spinning). All figures use the 3-correct-in-a-row definition of stuck; the robustness section shows what other definitions do.
| Setting | Hints per student | Fewer than always-help | Missed help |
|---|---|---|---|
| Quiet | 1.22 | 52% | 3.7% (19 of 518) |
| Balanced | 2.15 | 15% | 0.2% (1 of 518) |
| Supportive | 2.46 | 3% | 0% (0 of 518) |
| Always help | 2.54 | – | 0% |
The 95% confidence interval for Quiet missed help is 2.2% to 5.3%, calculated by bootstrapping over students. For Supportive the difference from always-help includes zero: abstaining saves little when delayed help is the costly side.
| Method | Hints per student | Missed help |
|---|---|---|
| ARIA-Pace (BKT threshold) | 1.22 | 3.7% (19/518) |
| PFA threshold | 1.44 | 2.1% (11/518) |
| Risk head (logistic) | 1.30 | 2.9% (15/518) |
| Two-wrong-in-a-row rule, tuned | 1.28 | 25.9% (134/518) |
| Three-wrong rule, untuned | 0.70 | 56.6% (293/518) |
| Random, matched to ARIA-Pace's rate | 1.22 | 33.2% (171/518) |
| Always help after a wrong step | 2.54 | 0.0% (0/518) |
ARIA-Pace is not distinguishable in cost from PFA. It is cheaper than always-help, the untuned rule and the matched-rate random rule at Quiet.
7 · Robustness
The saving depends on what “stuck” means.
These checks use validation students and BKT only. They are labeled exploratory where the source labels them so, and none of them has a locked-test number.
Pooled versus per-skill parameters
The live demo uses one pooled set of BKT parameters; the evaluated policy used per-skill parameters. On validation (exploratory), the Quiet saving is 49.8% [46.5%, 53.0%] per-skill and 43.9% [40.6%, 47.0%] pooled, and 14.4% of Quiet wrong-step decisions flip. Missed help is 4.8% per-skill and 3.4% pooled. So the demo approximates the evaluated policy; it does not reproduce it.
Students who left early
Students who left a skill before try 10 have no label and are dropped from the main analysis. If they are counted as not stuck instead, the best Quiet threshold moves from 0.57 to 0.85 and missed help rises to 12.4% (95% CI 9.4%–15.5%). The 3.7% figure belongs to the primary assumption.
8 · Limitations
What this does not show.
- Offline replay. The logs contain no tutor interventions, so nothing here shows how students respond to being helped or interrupted.
- “Unnecessary” is a stand-in. It means the sequence was later mastered within 10 tries without logged help. A student may have mastered because of unlogged help, and earlier help might have changed the outcome.
- The data are from 2009–10. One public dataset from one platform and one student-level split, with no external replication.
- The demo uses pooled parameters, so it approximates the evaluated policy rather than reproducing it.
- No classroom evidence yet. We make no claim that ARIA improves learning, and the three settings are cost settings, not groups of students. No clinical or demographic claim is made.
9 · Reproducibility
Every number comes from a file.
Code, specification and result files are in the research repository. The validation-frozen configuration is pinned by a hash, and the test results record the same hash.
- RESULTS.md · the locked test and baselines
- RESULTS_v4.md · cross-validated sensitivity
- SPEC.md · specification and amendments
- DATA.md · the dataset check
Frozen configuration hash (SHA-256)
057f4389adbc0163a54205607947ec3515be62d8cd6ca09f1bbbb4353a847dce
Dataset file hash (SHA-256)
162ef8d2d28bcbfea6591a282994062bd8d5eaa00636544292a0d268dca6e5da
Rerun
python -m pytest aria_pace/tests python -m aria_pace.run_baselines python -m aria_pace.run_policy python -m aria_pace.freeze_val python -m aria_pace.report
The test evaluation is not in this list on purpose: a lock file blocks a second run. Setup is in DATA.md.
10 · Cite this work
BibTeX
@misc{saravanan2026ariapace,
author = {Saravanan, Naren and Malireddy, Karthik},
title = {{ARIA-Pace}: When Should a Math Tutor Stay Quiet? An Offline Replay on ASSISTments 2009--10 Logs},
year = {2026},
howpublished = {\url{https://github.com/NarenS31/aria.kls}},
note = {Student-led research project, Marvin Ridge High School. Not peer reviewed. Offline replay of logged data, not a classroom study.}
}