Measured, not promised
Evidence
The old README promised a 30–50% accuracy boost and shipped a model that ignored its inputs. This page only shows numbers a committed script reproduces — wins and losses alike.
The part most libraries hide
We publish the numbers our scripts reproduce — including where we lose
Event-timing audits on real held-out hardware. Lower is better (timing MAE in cycles). APDTFlow wins the battery and FD001 audits outright, and loses to a linear baseline on FD002 — shown here, not buried.
| Audit (real data, held-out units) | APDTFlow | Linear extrap. | Persistence |
|---|---|---|---|
| Battery end-of-life 3 cells, leave-one-battery-out | 8.3 | 9.7 | 15.4 |
| Turbofan FD001 40 unseen engines, 0.6% false alarms | 8.3 | 8.7 | 11.5 |
| Turbofan FD002 110 unseen engines, 6 operating regimes, 0.0% false alarms | 9.2 | 8.1 | 11.3 |
The trust panel reports its own miss
On cross-unit transfer the windows measured under their 90% target, and for distant events the point estimate saturates toward mid-horizon. That is why the operational rule exists:
schedule by act_by (the window's earliest edge), never by the point estimate.
Full benchmarks and reproduce commands →Source of truth: docs/experiment_results.md
Grid accuracy
Is the base forecaster accurate?
6 datasets, 12-step horizon, MAE relative to seasonal-naive (under 1.0 beats it). APDTFlow beats seasonal-naive on 3 of 6 domains and wins outright on two; on smooth seasonal data the linear and Holt-Winters baselines are stronger, and we show those rows too.
| Dataset | APDTFlow | Linear | Holt-Winters |
|---|---|---|---|
| Daily min temperature (real) | 0.73 | 0.74 | 0.80 |
| Regime-switching nonlinear | 0.77 | 0.83 | 0.86 |
| Trend + dual seasonality | 0.85 | 0.50 | 0.38 |
| Retail-like multiplicative seasonal | 1.01 | 0.68 | 0.81 |
| Electric production (real, 397 pts) | 1.52 | 1.03 | 1.23 |
| Random walk (unpredictable) | 1.86 | 1.15 | 1.12 |
For pure grid accuracy, tuned deep models (NeuralForecast) or zero-shot foundation
models (Chronos-2, TimesFM, Moirai-2) may be stronger. APDTFlow is complementary —
its value is predict_at and
predict_when, which those models do not offer.
The full audit, in pictures
Reproduce every number
That pipeline is how every result on this page was produced — including the ideas we tested and rejected.
python experiments/battery_eol_demo.py
python experiments/turbofan_when_demo.py
python experiments/fd002_robustness_demo.py
python experiments/benchmark_multidomain.py
Full protocol and per-cell breakdowns:
docs/experiment_results.md.
Have degradation or depletion data? Run
python experiments/audit_predict_when.py
on your own series and
open a PR if APDTFlow wins.