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
0 false alarms across 2,638 no-crossing windows coverage 96 / 40 / 54 vs a 90% target every number reproducible from experiments/
Trust panel showing the point-estimate bias and how to schedule around it

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

Evidence summary across three audits
Summary across the three event-timing audits.
FD002 robustness under shifting operating regimes
FD002: jet-engine timing under 6 operating regimes, with 0 false alarms.
Multivariate sensor-fusion audit
Multivariate fusion: sharper when it commits (5.9 vs 8.3 cycles), but commits less often.

Reproduce every number

That pipeline is how every result on this page was produced — including the ideas we tested and rejected.

bash
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.