OPS-SAT-AD: Anomaly Detection on Real CubeSat Telemetry
A detection score means little without its protocol. These are Jantar’s detectors on ESA’s OPS-SAT-1 telemetry, fitted on the training split and scored on the test split. Every figure on this page is read from the scorecard of the release serving it.
What OPS-SAT-AD is
OPS-SAT-1 was ESA’s flying laboratory, a CubeSat for testing new ground and on-board software. OPS-SAT-AD is a public set of its attitude-sensor telemetry, with anomalies labelled by the people who operated it, published by KP Labs and ESA under a Creative Commons Attribution licence (paper, data).
It is real telemetry from one small spacecraft. It has no public FMECA, so it can test detection and refusal, never a cited root cause.
THE PROTOCOLHow the figures are measured
- Held out. The shape detector’s profile and threshold are fitted on the training split. Every detector is scored on the test split only.
- Event-wise, never point-adjusted. A label counts as found when a predicted event overlaps it in time and on subsystem. Point adjustment inflates scores: under it, a detector that flags at random looks close to perfect.
- Weighted towards precision. F-beta here favours precision over recall, because false alarms are what teach operators to ignore a tool. Affiliation F-beta, a temporal-distance measure that does not inflate, is reported beside it.
- Raw values. Detectors read the telemetry itself, not a table of engineered features. Results computed on features are not comparable with these.
Detection on the test split
| Detector | F-beta | Affiliation F-beta | False alarms per channel-day |
|---|---|---|---|
| Shape detector | 0.573 | 0.572 | 0.038 |
| Graph detector | 0.564 | 0.434 | 0.002 |
| ECOD (baseline) | 1.000 (degenerate: not a detection score) | 0.519 | 0.000 |
- Shape detector. Scores the shape of each gap-delimited segment against the channel’s nominal profile. Built for anomalies that never move the median.
- Graph detector. Aggregates per-channel shift scores through the spacecraft knowledge graph, so a fault spread across a subsystem is seen as one.
- ECOD (baseline). Kept for comparison only. On long real telemetry it emits one event spanning the whole mission, which overlaps every label: its F-beta is degenerate and says nothing.
Measured on real · OPSSAT-AD (ESA OPS-SAT-1, CC BY 4.0). Reported on a held-out split, never tuned on. mission=OPS-SAT-1 · channels=9 · labels=113 · eval=test, fit=train | OPSSAT-AD data is CC BY 4.0 (Zenodo DOI 10.5281/zenodo.12588359; Ruszczak, Kotowski, Evans, Nalepa, Scientific Data 2025, doi:10.1038/s41597-025-05035-3); attribution required. Evaluated on the public dataset — attribution is not endorsement.. Source: python -m jantar.eval detect (needs `make data`). Measured at commit 2bc4474. From this release’s scorecard.
Refusal on the same mission
Detection finds that something moved. Naming why needs the operator’s FMECA, which OPS-SAT-1 does not publish. So the right answer on every one of its anomalies is to decline. Anomalies investigated: 434/434. Declined, never a cause: 1.000. Fabricated causes: 0. Commands staged: 0. The run supplied no failure modes and made no model calls, and its anomalies are the operators’ labels, not Jantar’s detections: it measures refusal, not diagnosis.
Measured on real · OPSSAT-AD (ESA OPS-SAT-1, CC BY 4.0). graph=manifest-only (zero failure modes) · corpora=OPS-SAT-1. Source: make bench-refusal (needs `make data-opssat`). Measured at commit 2bc4474. From this release’s scorecard.
THE LIMITWhat these numbers do not say
- They are one small spacecraft’s attitude sensors, not a fleet.
- They are not comparable with point-adjusted scores, or with scores computed on engineered features, including results reported with the dataset.
- Detection is not diagnosis. No root cause is claimed on this data, and none could be without the operator’s FMECA.
We will walk through the harness and the result files with any operator who asks. To see an investigation decline for lack of evidence, try the interlock. For the method behind it, read how to investigate a satellite anomaly.