TSADmetrics - Time Series Anomaly Detection Metrics
TSADmetrics is a Python library for evaluating anomaly detection algorithms in time series data.
It provides a comprehensive set of metrics specifically designed to handle the temporal nature of anomalies.
Key features
-
Metric Taxonomy: Metrics are categorized into types based on how they handle temporal context:
- SPM Metrics: Evaluate predictions at each point independently, ignoring temporal continuity.
- TEM Metrics: Consider temporal context, analyzing when and how anomalies occur.
- TPDM: Partial detection within a real anomaly event counts as correct.
- PTDM: Requires detection to cover a significant fraction of the real anomaly.
- TMEM: Measures alignment of real vs predicted anomaly events.
- DPM: Penalizes late detections.
- TSTM: Allows temporal tolerance for early or late detections.
-
Direct Metric Usage: Instantiate any metric class and call
compute()for individual evaluation. -
Batch Evaluation: Use
Runnerto evaluate multiple datasets and metrics at once, with support for both direct data and CSV/JSON input. -
Flexible Configuration: Load metrics from YAML configuration files or global evaluation config files.
Getting the library
The project can be download in this repository. Detailed information about getting and running the library can be consulted in user’s manual where all dependencies and libraries necessaries are commented.
Installation
Install TSADmetrics via pip:
pip install tsadmetrics
Tutorials and documentation
The complete documentation for TSADmetrics is available at:
📚 https://tsadmetrics.readthedocs.io/
User's manual can be found in the main directory documentation of this repository and includes:
- Getting and installing the library.
- A description of library architecture.
- Run metrics in the library.
- Add new metrics in the library.
- API reference.
Metric included
TSADmetrics includes 34 metrics, organized according to the proposed taxonomy for time series anomaly detection metrics.
| Category | Subcategory | Metric |
|---|---|---|
| SPM | — | PointwiseFScore |
| SPM | — | DiceCoefficient |
| SPM | — | PointwiseAucRoc |
| SPM | — | PointwiseAucPr |
| SPM | — | PrecisionAtK |
| TEM | TPDM | PointadjustedFScore |
| TEM | TPDM | BalancedPointadjustedFScore |
| TEM | TPDM | SegmentwiseFScore |
| TEM | TPDM | CompositeFScore |
| TEM | TPDM | PointadjustedAucPr |
| TEM | TPDM | PointadjustedAucRoc |
| TEM | TPDM | RangebasedFScore |
| TEM | DPM | DelayThresholdedPointadjustedFScore |
| TEM | DPM | EarlyDetectionScore |
| TEM | DPM | LatencySparsityawareFScore |
| TEM | DPM | MeanTimeToDetect |
| TEM | DPM | NabScore |
| TEM | PTDM | AverageDetectionCount |
| TEM | PTDM | TotalDetectedInRange |
| TEM | PTDM | DetectionAccuracyInRange |
| TEM | PTDM | WeightedDetectionDifference |
| TEM | PTDM | PointadjustedAtKFScore |
| TEM | PTDM | PointadjustedAtKLFScore |
| TEM | PTDM | TimeseriesAwareFScore |
| TEM | TMEM | AbsoluteDetectionDistance |
| TEM | TMEM | EnhancedTimeseriesAwareFScore |
| TEM | TMEM | TemporalDistance |
| TEM | TSTM | AffiliationbasedFScore |
| TEM | TSTM | NormalizedAffiliationbasedFScore |
| TEM | TSTM | PateFScore |
| TEM | TSTM | Pate |
| TEM | TSTM | TimeTolerantFScore |
| TEM | TSTM | VusRoc |
| TEM | TSTM | VusPr |
Acknowledgements
This library was supported in part by the PID2023-148396NB-I00 project of Spanish Ministry of Science and Innovation and the European Regional Development Fund, by the ProyExcel-0069 project of the Andalusian University, Research and Innovation Department.
Citation
If TSADmetrics has been useful to you, and you would like to cite it in a scientific publication, please refer to the paper published in Neurocomputing:
@article{velasco2026tsadmetrics,
author = {Velasco, Pedro R. and Zafra, Amelia},
title = {TSADmetrics: A library for evaluating time series anomaly detection methods},
journal = {Neurocomputing},
volume = {698},
pages = {134154},
year = {2026},
doi = {10.1016/j.neucom.2026.134154},
url = {https://doi.org/10.1016/j.neucom.2026.134154}
}
References
This library is based on the concepts and implementations from:
Sørbø, S., & Ruocco, M. (2023). Navigating the metric maze: a taxonomy of evaluation metrics for anomaly detection in time series. https://doi.org/10.1007/s10618-023-00988-8
Licence
The tools is free and open source, under the GNU General Public GPLv3 license.
Reporting bugs
Feel free to open an issue at Github if anything is not working as expected. Merge request are also encouraged, it will be carefully reviewed and merged if everything is all right.
Metadata
Release files for tsadmetrics 1.0.16
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| tsadmetrics-1.0.16.tar.gz | 106.3 kB | Without provenance | Details for tsadmetrics-1.0.16.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| tsadmetrics-1.0.16-py3-none-any.whl | Python 3 | none | any | Details for tsadmetrics-1.0.16-py3-none-any.whl |
Total release size: 227.7 kB
Release files / tsadmetrics-1.0.16.tar.gz
| Download URL | tsadmetrics-1.0.16.tar.gz |
|---|---|
| Size | 106.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dd1704784f7dbef560df45bed23113f15254a76df689c3aecad6afc16062f042
|
|
BLAKE2b-256 checksum How to use checksums |
cb2827ac7d691215c1d3eb3102f46703e0f4244aa9a20b4af0c0f6a1d393379a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.12
|
Release files / tsadmetrics-1.0.16-py3-none-any.whl
| Download URL | tsadmetrics-1.0.16-py3-none-any.whl |
|---|---|
| Size | 121.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b09fee84d1c998abee810947f1b7f0553685bb5b078d2f4b0408a54cdbdd3be1
|
|
BLAKE2b-256 checksum How to use checksums |
11b12ce1c59b0c403061449b68a3b1a7e71612b140a4a4f469234048226ebbb2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.12
|
Security for tsadmetrics 1.0.16
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.