Skip to main content

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 Runner to 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)

Source distribution for tsadmetrics 1.0.16
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)

Table of built distributions (wheels) for tsadmetrics 1.0.16
File Interpreter ABI Platform Actions
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.

Release history Release notifications | RSS feed

This release

1.0.16 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page