mTSBenchBenchmarking Multivariate Time Series Anomaly Detection and Model Selection at Scale

♦︎University of Illinois Urbana-Champaign♣︎Sandia National Laboratories

TMLR 2026

TL;DR

We introduce mTSBench, a benchmark for comparing multivariate time-series anomaly detectors and selecting models when anomaly labels are unavailable. mTSBench’s unified evaluation across diverse datasets shows how detector performance changes across domains and where current model-selection methods fall short.

mTSBench unifies datasets, metrics, model selection, and anomaly detection

One package for detection and model selection

A common evaluation suite connects diverse multivariate datasets with anomaly detectors and unsupervised model selectors.

Abstract

mTSBench is a benchmark for multivariate time-series anomaly detection and model selection. It brings together 344 labeled time series from 19 datasets across 12 application domains, and evaluates 24 statistical, deep-learning, and language-model-based detectors under a unified protocol. The benchmark also evaluates unsupervised selection methods using consistent point-based and ranking-based metrics. Results show that no single detector performs consistently well across datasets and that current model selectors remain far below oracle performance, motivating adaptive, data-aware selection strategies.

Contributions

  • We introduce mTSBench, the largest and most comprehensive MTS-AD and model selection benchmark to date, featuring 344 multivariate time series from 19 datasets across 12 application domains. mTSBench systematically evaluates 24 anomaly detectors, including the only LLM-based methods for MTS-AD, reflecting their performance in multivariate settings with real-world temporal dependencies and cross-signal interactions.
  • Our empirical analysis reveals that, among the evaluated methods, no single anomaly detection method performs consistently well across datasets in mTSBench, underscoring the need for adaptive selection strategies. To this end, mTSBench is the first to integrate unsupervised model selection methods and benchmark their effectiveness across diverse time series contexts and under consistent settings.
  • To drive reproducible comparisons, mTSBench introduces a unified evaluation suite with point-based and ranking-based metrics for anomaly detection and model selection. Using this standardized setup, we observe substantial gaps between the evaluated unsupervised model selection methods and both optimal and trivial baselines. These results highlight limitations of current unsupervised selection strategies and underscore the need for more adaptive model selection mechanisms.

The mTSBench Package

mTSBench brings datasets, anomaly detectors, model selectors, and evaluation tools into one reproducible package. Load a labeled multivariate series, run a detector through a common interface, and compare accuracy, event coverage, and runtime. The same suite evaluates which detector a selector recommends for new data.

344
Labeled time series
19
Datasets
12
Application domains
24
Anomaly detectors
12
Detection metrics
3
Model selectors

What the evaluation covers

Point detection

Precision, Recall, and Standard-F1 assess individual anomalous timestamps. AUC-PR and AUC-ROC compare score quality across thresholds.

Events and ranges

PA-F1, Event-based-F1, R-based-F1, and Affiliation-F evaluate anomaly intervals. AUC-PₜRₜ, VUS-PR, and VUS-ROC measure range-aware detection across thresholds and temporal tolerances.

Detector recommendations

MetaOD, FMMS, and Orthus recommend detectors without anomaly labels at selection time. Precision@k, Recall@k, and NDCG@k assess which recommendations recover strong detectors and how well they are ranked.

From classical detectors to language models

The 24 detectors span distance and density methods, isolation and clustering, statistical and subspace models, neural reconstruction and forecasting, and language-model approaches. This breadth supports comparisons across model families under one evaluation interface.

ALLM4TSAutoEncoderCBLOFCNNCOPODDonutEIFFITSHBOSIForestKMeansADKNNLOFLSTMADMCDOCSVMOFAOmniAnomalyPCARobustPCATimesNetTranADTransformerUSAD

The datasets cover healthcare, cybersecurity, industrial processes and automation, spacecraft telemetry, cloud computing, IT infrastructure, smart buildings, finance, transportation, water quality, human activity, and synthetic anomalies. They include both isolated anomalous points and sustained anomaly sequences.

Dataset coverage

Benchmark datasets
Dataset Domain Time series Dimensions Length Anomaly points Anomaly sequences License
CIC-IDS-2017 (2017) Cybersecurity 4 73 >100K 0–8656 0–2546 Citation required
CalIt2 (2006) Smart Building 1 2 >5K 0 21 CC BY 4.0
CreditCard (2018) Finance / Fraud Detection 1 29 >100K 219 10 Citation required
Daphnet (2009) Healthcare 26 9 >50K 0 1–16 CC BY 4.0
Exathlon (2021) Cloud Computing 30 20 >50K 0–4 0–6 Apache 2.0
GECCO (2018) Water Quality Monitoring 1 9 >50K 0 37 Citation required
GHL (2016) Industrial Process 14 16 >100K 0 1–4 Contact authors
Genesis (2018) Industrial Automation 1 18 >5K 0 2 CC BY-NC-SA 4.0
GutenTAG (2022) Synthetic Benchmark 30 20 >10K 0 1–3 MIT
MITDB (2000) Healthcare 47 2 >500K 0 1–720 ODC-By v1.0
MSL (2018) Spacecraft Telemetry 26 55 >5K 0 1–3 BSD 3-Clause
Metro (2015) Transportation 1 5 >10K 20 5 CC BY 4.0
OPPORTUNITY (2010) Human Activity Recognition 13 32 >25K 0 1 CC BY 4.0
Occupancy (2016) Smart Building 2 5 >5K 1–3 9–13 CC BY 4.0
PSM (2021) IT Infrastructure 1 26 >50K 0 39 CC BY 4.0
SMAP (2018) Spacecraft Telemetry 48 25 >5K 0 1–3 BSD 3-Clause
SMD (2019) IT Infrastructure 18 38 >10K 0 4–24 MIT
SVDB (1990) Healthcare 78 2 >100K 0 2–678 ODC-By v1.0
SWAN-SF (2020) Industrial Process 1 38 >50K 5233 1382 MIT

Quantitative Results

Detector performance across datasets

Average AUC-ROC Performance of 24 Anomaly Detection Methods (x-axis) Evaluated Across 19 mTSBench Datasets (y-axis). The substantial performance variability across datasets highlights the need for robust model selection strategies. mTSBench benchmarks the capabilityof model selection techniques to systematically identify the optimal anomaly detection method among 24 state-of-the-art detectors evaluated on a comprehensive collection of 344 multivariate time series.

ALLM4TSTransformerAutoEncoderCBLOFCNNCOPODDonutEIFFITSHBOSIForestKMeansADKNNLOFLSTMADMCDOCSVMOFAOmniAnomalyPCARobustPCATimesNetTranADUSADCalIt2CalIt2 · ALLM4TS: 0.67 AUC-ROC0.67CalIt2 · Transformer: 0.49 AUC-ROC0.49CalIt2 · AutoEncoder: 0.32 AUC-ROC0.32CalIt2 · CBLOF: 0.78 AUC-ROC0.78CalIt2 · CNN: 0.82 AUC-ROC0.82CalIt2 · COPOD: 0.77 AUC-ROC0.77CalIt2 · Donut: 0.39 AUC-ROC0.39CalIt2 · EIF: 0.78 AUC-ROC0.78CalIt2 · FITS: 0.63 AUC-ROC0.63CalIt2 · HBOS: 0.74 AUC-ROC0.74CalIt2 · IForest: 0.68 AUC-ROC0.68CalIt2 · KMeansAD: 0.54 AUC-ROC0.54CalIt2 · KNN: 0.5 AUC-ROC0.50CalIt2 · LOF: 0.5 AUC-ROC0.50CalIt2 · LSTMAD: 0.89 AUC-ROC0.89CalIt2 · MCD: 0.5 AUC-ROC0.50CalIt2 · OCSVM: 0.75 AUC-ROC0.75CalIt2 · OFA: 0.68 AUC-ROC0.68CalIt2 · OmniAnomaly: 0.82 AUC-ROC0.82CalIt2 · PCA: 0.82 AUC-ROC0.82CalIt2 · RobustPCA: 0.87 AUC-ROC0.87CalIt2 · TimesNet: 0.72 AUC-ROC0.72CalIt2 · TranAD: 0.61 AUC-ROC0.61CalIt2 · USAD: 0.81 AUC-ROC0.81DaphnetDaphnet · ALLM4TS: 0.57 AUC-ROC0.57Daphnet · Transformer: 0.49 AUC-ROC0.49Daphnet · AutoEncoder: 0.43 AUC-ROC0.43Daphnet · CBLOF: 0.63 AUC-ROC0.63Daphnet · CNN: 0.56 AUC-ROC0.56Daphnet · COPOD: 0.56 AUC-ROC0.56Daphnet · Donut: 0.53 AUC-ROC0.53Daphnet · EIF: 0.59 AUC-ROC0.59Daphnet · FITS: 0.66 AUC-ROC0.66Daphnet · HBOS: 0.59 AUC-ROC0.59Daphnet · IForest: 0.6 AUC-ROC0.60Daphnet · KMeansAD: 0.71 AUC-ROC0.71Daphnet · KNN: 0.68 AUC-ROC0.68Daphnet · LOF: 0.59 AUC-ROC0.59Daphnet · LSTMAD: 0.53 AUC-ROC0.53Daphnet · MCD: 0.42 AUC-ROC0.42Daphnet · OCSVM: 0.41 AUC-ROC0.41Daphnet · OFA: 0.63 AUC-ROC0.63Daphnet · OmniAnomaly: 0.58 AUC-ROC0.58Daphnet · PCA: 0.58 AUC-ROC0.58Daphnet · RobustPCA: 0.37 AUC-ROC0.37Daphnet · TimesNet: 0.64 AUC-ROC0.64Daphnet · TranAD: 0.55 AUC-ROC0.55Daphnet · USAD: 0.56 AUC-ROC0.56ExathlonExathlon · ALLM4TS: 0.55 AUC-ROC0.55Exathlon · Transformer: 0.5 AUC-ROC0.50Exathlon · AutoEncoder: 0.66 AUC-ROC0.66Exathlon · CBLOF: 0.53 AUC-ROC0.53Exathlon · CNN: 0.71 AUC-ROC0.71Exathlon · COPOD: 0.56 AUC-ROC0.56Exathlon · Donut: 0.75 AUC-ROC0.75Exathlon · EIF: 0.57 AUC-ROC0.57Exathlon · FITS: 0.64 AUC-ROC0.64Exathlon · HBOS: 0.54 AUC-ROC0.54Exathlon · IForest: 0.62 AUC-ROC0.62Exathlon · KMeansAD: 0.7 AUC-ROC0.70Exathlon · KNN: 0.52 AUC-ROC0.52Exathlon · LOF: 0.54 AUC-ROC0.54Exathlon · LSTMAD: 0.7 AUC-ROC0.70Exathlon · MCD: 0.65 AUC-ROC0.65Exathlon · OCSVM: 0.64 AUC-ROC0.64Exathlon · OFA: 0.71 AUC-ROC0.71Exathlon · OmniAnomaly: 0.76 AUC-ROC0.76Exathlon · PCA: 0.78 AUC-ROC0.78Exathlon · RobustPCA: 0.56 AUC-ROC0.56Exathlon · TimesNet: 0.66 AUC-ROC0.66Exathlon · TranAD: 0.72 AUC-ROC0.72Exathlon · USAD: 0.71 AUC-ROC0.71GECCOGECCO · ALLM4TS: 0.65 AUC-ROC0.65GECCO · Transformer: 0.51 AUC-ROC0.51GECCO · AutoEncoder: 0.63 AUC-ROC0.63GECCO · CBLOF: 0.72 AUC-ROC0.72GECCO · CNN: 0.9 AUC-ROC0.90GECCO · COPOD: 0.74 AUC-ROC0.74GECCO · Donut: 0.66 AUC-ROC0.66GECCO · EIF: 0.75 AUC-ROC0.75GECCO · FITS: 0.75 AUC-ROC0.75GECCO · HBOS: 0.7 AUC-ROC0.70GECCO · IForest: 0.74 AUC-ROC0.74GECCO · KMeansAD: 0.68 AUC-ROC0.68GECCO · KNN: 0.83 AUC-ROC0.83GECCO · LOF: 0.71 AUC-ROC0.71GECCO · LSTMAD: 0.88 AUC-ROC0.88GECCO · MCD: 0.63 AUC-ROC0.63GECCO · OCSVM: 0.69 AUC-ROC0.69GECCO · OFA: 0.97 AUC-ROC0.97GECCO · OmniAnomaly: 0.86 AUC-ROC0.86GECCO · PCA: 0.86 AUC-ROC0.86GECCO · RobustPCA: 0.32 AUC-ROC0.32GECCO · TimesNet: 0.81 AUC-ROC0.81GECCO · TranAD: 0.89 AUC-ROC0.89GECCO · USAD: 0.92 AUC-ROC0.92GHLGHL · ALLM4TS: 0.85 AUC-ROC0.85GHL · Transformer: 0.52 AUC-ROC0.52GHL · AutoEncoder: 0.73 AUC-ROC0.73GHL · CBLOF: 0.78 AUC-ROC0.78GHL · CNN: 0.84 AUC-ROC0.84GHL · COPOD: 0.76 AUC-ROC0.76GHL · Donut: 0.53 AUC-ROC0.53GHL · EIF: 0.85 AUC-ROC0.85GHL · FITS: 0.22 AUC-ROC0.22GHL · HBOS: 0.76 AUC-ROC0.76GHL · IForest: 0.77 AUC-ROC0.77GHL · KMeansAD: 0.74 AUC-ROC0.74GHL · KNN: 0.02 AUC-ROC0.02GHL · LOF: 0.43 AUC-ROC0.43GHL · LSTMAD: 0.74 AUC-ROC0.74GHL · MCD: 0.67 AUC-ROC0.67GHL · OCSVM: 0.83 AUC-ROC0.83GHL · OFA: 0.46 AUC-ROC0.46GHL · OmniAnomaly: 0.7 AUC-ROC0.70GHL · PCA: 0.7 AUC-ROC0.70GHL · RobustPCA: 0.3 AUC-ROC0.30GHL · TimesNet: 0.31 AUC-ROC0.31GHL · TranAD: 0.67 AUC-ROC0.67GHL · USAD: 0.68 AUC-ROC0.68GenesisGenesis · ALLM4TS: 0.26 AUC-ROC0.26Genesis · Transformer: 0.6 AUC-ROC0.60Genesis · AutoEncoder: 0.46 AUC-ROC0.46Genesis · CBLOF: 0.53 AUC-ROC0.53Genesis · CNN: 0.91 AUC-ROC0.91Genesis · COPOD: 0.61 AUC-ROC0.61Genesis · Donut: 0.4 AUC-ROC0.40Genesis · EIF: 0.53 AUC-ROC0.53Genesis · FITS: 0.43 AUC-ROC0.43Genesis · HBOS: 0.39 AUC-ROC0.39Genesis · IForest: 0.89 AUC-ROC0.89Genesis · KMeansAD: 0.98 AUC-ROC0.98Genesis · KNN: 0.59 AUC-ROC0.59Genesis · LOF: 0.71 AUC-ROC0.71Genesis · LSTMAD: 0.93 AUC-ROC0.93Genesis · MCD: 0.73 AUC-ROC0.73Genesis · OCSVM: 0.23 AUC-ROC0.23Genesis · OFA: 0.75 AUC-ROC0.75Genesis · OmniAnomaly: 0.64 AUC-ROC0.64Genesis · PCA: 0.64 AUC-ROC0.64Genesis · RobustPCA: 0.42 AUC-ROC0.42Genesis · TimesNet: 0.64 AUC-ROC0.64Genesis · TranAD: 0.89 AUC-ROC0.89Genesis · USAD: 0.92 AUC-ROC0.92GutenTAGGutenTAG · ALLM4TS: 0.75 AUC-ROC0.75GutenTAG · Transformer: 0.51 AUC-ROC0.51GutenTAG · AutoEncoder: 0.7 AUC-ROC0.70GutenTAG · CBLOF: 0.66 AUC-ROC0.66GutenTAG · CNN: 0.76 AUC-ROC0.76GutenTAG · COPOD: 0.39 AUC-ROC0.39GutenTAG · Donut: 0.64 AUC-ROC0.64GutenTAG · EIF: 0.6 AUC-ROC0.60GutenTAG · FITS: 0.7 AUC-ROC0.70GutenTAG · HBOS: 0.49 AUC-ROC0.49GutenTAG · IForest: 0.7 AUC-ROC0.70GutenTAG · KMeansAD: 0.51 AUC-ROC0.51GutenTAG · KNN: 0.46 AUC-ROC0.46GutenTAG · LOF: 0.6 AUC-ROC0.60GutenTAG · LSTMAD: 0.76 AUC-ROC0.76GutenTAG · MCD: 0.48 AUC-ROC0.48GutenTAG · OCSVM: 0.53 AUC-ROC0.53GutenTAG · OFA: 0.81 AUC-ROC0.81GutenTAG · OmniAnomaly: 0.84 AUC-ROC0.84GutenTAG · PCA: 0.84 AUC-ROC0.84GutenTAG · RobustPCA: 0.57 AUC-ROC0.57GutenTAG · TimesNet: 0.66 AUC-ROC0.66GutenTAG · TranAD: 0.76 AUC-ROC0.76GutenTAG · USAD: 0.75 AUC-ROC0.75MITDBMITDB · ALLM4TS: 0.64 AUC-ROC0.64MITDB · Transformer: 0.5 AUC-ROC0.50MITDB · AutoEncoder: 0.53 AUC-ROC0.53MITDB · CBLOF: 0.5 AUC-ROC0.50MITDB · CNN: 0.68 AUC-ROC0.68MITDB · COPOD: 0.53 AUC-ROC0.53MITDB · Donut: 0.58 AUC-ROC0.58MITDB · EIF: 0.53 AUC-ROC0.53MITDB · FITS: 0.59 AUC-ROC0.59MITDB · HBOS: 0.53 AUC-ROC0.53MITDB · IForest: 0.64 AUC-ROC0.64MITDB · KMeansAD: 0.56 AUC-ROC0.56MITDB · KNN: 0.5 AUC-ROC0.50MITDB · LOF: 0.5 AUC-ROC0.50MITDB · LSTMAD: 0.59 AUC-ROC0.59MITDB · MCD: 0.53 AUC-ROC0.53MITDB · OCSVM: 0.53 AUC-ROC0.53MITDB · OFA: 0.61 AUC-ROC0.61MITDB · OmniAnomaly: 0.62 AUC-ROC0.62MITDB · PCA: 0.62 AUC-ROC0.62MITDB · RobustPCA: 0.51 AUC-ROC0.51MITDB · TimesNet: 0.62 AUC-ROC0.62MITDB · TranAD: 0.59 AUC-ROC0.59MITDB · USAD: 0.6 AUC-ROC0.60MSLMSL · ALLM4TS: 0.53 AUC-ROC0.53MSL · Transformer: 0.5 AUC-ROC0.50MSL · AutoEncoder: 0.6 AUC-ROC0.60MSL · CBLOF: 0.57 AUC-ROC0.57MSL · CNN: 0.59 AUC-ROC0.59MSL · COPOD: 0.58 AUC-ROC0.58MSL · Donut: 0.56 AUC-ROC0.56MSL · EIF: 0.57 AUC-ROC0.57MSL · FITS: 0.59 AUC-ROC0.59MSL · HBOS: 0.55 AUC-ROC0.55MSL · IForest: 0.71 AUC-ROC0.71MSL · KMeansAD: 0.64 AUC-ROC0.64MSL · KNN: 0.56 AUC-ROC0.56MSL · LOF: 0.53 AUC-ROC0.53MSL · LSTMAD: 0.58 AUC-ROC0.58MSL · MCD: 0.59 AUC-ROC0.59MSL · OCSVM: 0.62 AUC-ROC0.62MSL · OFA: 0.63 AUC-ROC0.63MSL · OmniAnomaly: 0.7 AUC-ROC0.70MSL · PCA: 0.7 AUC-ROC0.70MSL · RobustPCA: 0.51 AUC-ROC0.51MSL · TimesNet: 0.62 AUC-ROC0.62MSL · TranAD: 0.61 AUC-ROC0.61MSL · USAD: 0.61 AUC-ROC0.61OPPORTUNITYOPPORTUNITY · ALLM4TS: 0.42 AUC-ROC0.42OPPORTUNITY · Transformer: 0.53 AUC-ROC0.53OPPORTUNITY · AutoEncoder: 0.85 AUC-ROC0.85OPPORTUNITY · CBLOF: 0.93 AUC-ROC0.93OPPORTUNITY · CNN: 0.74 AUC-ROC0.74OPPORTUNITY · COPOD: 0.86 AUC-ROC0.86OPPORTUNITY · Donut: 0.79 AUC-ROC0.79OPPORTUNITY · EIF: 0.78 AUC-ROC0.78OPPORTUNITY · FITS: 0.32 AUC-ROC0.32OPPORTUNITY · HBOS: 0.71 AUC-ROC0.71OPPORTUNITY · IForest: 0.87 AUC-ROC0.87OPPORTUNITY · KMeansAD: 0.46 AUC-ROC0.46OPPORTUNITY · KNN: 0.35 AUC-ROC0.35OPPORTUNITY · LOF: 0.52 AUC-ROC0.52OPPORTUNITY · LSTMAD: 0.8 AUC-ROC0.80OPPORTUNITY · MCD: 0.95 AUC-ROC0.95OPPORTUNITY · OCSVM: 0.78 AUC-ROC0.78OPPORTUNITY · OFA: 0.3 AUC-ROC0.30OPPORTUNITY · OmniAnomaly: 0.77 AUC-ROC0.77OPPORTUNITY · PCA: 0.77 AUC-ROC0.77OPPORTUNITY · RobustPCA: 0.17 AUC-ROC0.17OPPORTUNITY · TimesNet: 0.31 AUC-ROC0.31OPPORTUNITY · TranAD: 0.79 AUC-ROC0.79OPPORTUNITY · USAD: 0.79 AUC-ROC0.79PSMPSM · ALLM4TS: 0.42 AUC-ROC0.42PSM · Transformer: 0.5 AUC-ROC0.50PSM · AutoEncoder: 0.33 AUC-ROC0.33PSM · CBLOF: 0.68 AUC-ROC0.68PSM · CNN: 0.86 AUC-ROC0.86PSM · COPOD: 0.75 AUC-ROC0.75PSM · Donut: 0.81 AUC-ROC0.81PSM · EIF: 0.73 AUC-ROC0.73PSM · FITS: 0.56 AUC-ROC0.56PSM · HBOS: 0.76 AUC-ROC0.76PSM · IForest: 0.77 AUC-ROC0.77PSM · KMeansAD: 0.6 AUC-ROC0.60PSM · KNN: 0.59 AUC-ROC0.59PSM · LOF: 0.53 AUC-ROC0.53PSM · LSTMAD: 0.8 AUC-ROC0.80PSM · MCD: 0.75 AUC-ROC0.75PSM · OCSVM: 0.4 AUC-ROC0.40PSM · OFA: 0.64 AUC-ROC0.64PSM · OmniAnomaly: 0.75 AUC-ROC0.75PSM · PCA: 0.75 AUC-ROC0.75PSM · RobustPCA: 0.59 AUC-ROC0.59PSM · TimesNet: 0.58 AUC-ROC0.58PSM · TranAD: 0.63 AUC-ROC0.63PSM · USAD: 0.66 AUC-ROC0.66SMAPSMAP · ALLM4TS: 0.46 AUC-ROC0.46SMAP · Transformer: 0.49 AUC-ROC0.49SMAP · AutoEncoder: 0.58 AUC-ROC0.58SMAP · CBLOF: 0.49 AUC-ROC0.49SMAP · CNN: 0.64 AUC-ROC0.64SMAP · COPOD: 0.56 AUC-ROC0.56SMAP · Donut: 0.59 AUC-ROC0.59SMAP · EIF: 0.6 AUC-ROC0.60SMAP · FITS: 0.52 AUC-ROC0.52SMAP · HBOS: 0.57 AUC-ROC0.57SMAP · IForest: 0.75 AUC-ROC0.75SMAP · KMeansAD: 0.55 AUC-ROC0.55SMAP · KNN: 0.5 AUC-ROC0.50SMAP · LOF: 0.51 AUC-ROC0.51SMAP · LSTMAD: 0.61 AUC-ROC0.61SMAP · MCD: 0.59 AUC-ROC0.59SMAP · OCSVM: 0.55 AUC-ROC0.55SMAP · OFA: 0.48 AUC-ROC0.48SMAP · OmniAnomaly: 0.59 AUC-ROC0.59SMAP · PCA: 0.58 AUC-ROC0.58SMAP · RobustPCA: 0.48 AUC-ROC0.48SMAP · TimesNet: 0.55 AUC-ROC0.55SMAP · TranAD: 0.61 AUC-ROC0.61SMAP · USAD: 0.55 AUC-ROC0.55SMDSMD · ALLM4TS: 0.71 AUC-ROC0.71SMD · Transformer: 0.46 AUC-ROC0.46SMD · AutoEncoder: 0.71 AUC-ROC0.71SMD · CBLOF: 0.78 AUC-ROC0.78SMD · CNN: 0.81 AUC-ROC0.81SMD · COPOD: 0.71 AUC-ROC0.71SMD · Donut: 0.72 AUC-ROC0.72SMD · EIF: 0.81 AUC-ROC0.81SMD · FITS: 0.74 AUC-ROC0.74SMD · HBOS: 0.74 AUC-ROC0.74SMD · IForest: 0.71 AUC-ROC0.71SMD · KMeansAD: 0.81 AUC-ROC0.81SMD · KNN: 0.74 AUC-ROC0.74SMD · LOF: 0.59 AUC-ROC0.59SMD · LSTMAD: 0.79 AUC-ROC0.79SMD · MCD: 0.74 AUC-ROC0.74SMD · OCSVM: 0.7 AUC-ROC0.70SMD · OFA: 0.86 AUC-ROC0.86SMD · OmniAnomaly: 0.88 AUC-ROC0.88SMD · PCA: 0.88 AUC-ROC0.88SMD · RobustPCA: 0.57 AUC-ROC0.57SMD · TimesNet: 0.82 AUC-ROC0.82SMD · TranAD: 0.77 AUC-ROC0.77SMD · USAD: 0.8 AUC-ROC0.80SVDBSVDB · ALLM4TS: 0.6 AUC-ROC0.60SVDB · Transformer: 0.5 AUC-ROC0.50SVDB · AutoEncoder: 0.51 AUC-ROC0.51SVDB · CBLOF: 0.49 AUC-ROC0.49SVDB · CNN: 0.63 AUC-ROC0.63SVDB · COPOD: 0.51 AUC-ROC0.51SVDB · Donut: 0.53 AUC-ROC0.53SVDB · EIF: 0.5 AUC-ROC0.50SVDB · FITS: 0.63 AUC-ROC0.63SVDB · HBOS: 0.51 AUC-ROC0.51SVDB · IForest: 0.68 AUC-ROC0.68SVDB · KMeansAD: 0.56 AUC-ROC0.56SVDB · KNN: 0.5 AUC-ROC0.50SVDB · LOF: 0.5 AUC-ROC0.50SVDB · LSTMAD: 0.6 AUC-ROC0.60SVDB · MCD: 0.51 AUC-ROC0.51SVDB · OCSVM: 0.51 AUC-ROC0.51SVDB · OFA: 0.64 AUC-ROC0.64SVDB · OmniAnomaly: 0.7 AUC-ROC0.70SVDB · PCA: 0.7 AUC-ROC0.70SVDB · RobustPCA: 0.52 AUC-ROC0.52SVDB · TimesNet: 0.6 AUC-ROC0.60SVDB · TranAD: 0.55 AUC-ROC0.55SVDB · USAD: 0.56 AUC-ROC0.56CIC-IDS-2017CIC-IDS-2017 · ALLM4TS: 0.48 AUC-ROC0.48CIC-IDS-2017 · Transformer: 0.49 AUC-ROC0.49CIC-IDS-2017 · AutoEncoder: 0.56 AUC-ROC0.56CIC-IDS-2017 · CBLOF: 0.46 AUC-ROC0.46CIC-IDS-2017 · CNN: 0.51 AUC-ROC0.51CIC-IDS-2017 · COPOD: 0.52 AUC-ROC0.52CIC-IDS-2017 · Donut: 0.32 AUC-ROC0.32CIC-IDS-2017 · EIF: 0.42 AUC-ROC0.42CIC-IDS-2017 · FITS: 0.42 AUC-ROC0.42CIC-IDS-2017 · HBOS: 0.54 AUC-ROC0.54CIC-IDS-2017 · IForest: 0.44 AUC-ROC0.44CIC-IDS-2017 · KMeansAD: 0.44 AUC-ROC0.44CIC-IDS-2017 · KNN: 0.36 AUC-ROC0.36CIC-IDS-2017 · LOF: 0.47 AUC-ROC0.47CIC-IDS-2017 · LSTMAD: 0.55 AUC-ROC0.55CIC-IDS-2017 · MCD: 0.75 AUC-ROC0.75CIC-IDS-2017 · OCSVM: 0.43 AUC-ROC0.43CIC-IDS-2017 · OFA: 0.43 AUC-ROC0.43CIC-IDS-2017 · OmniAnomaly: 0.4 AUC-ROC0.40CIC-IDS-2017 · PCA: 0.4 AUC-ROC0.40CIC-IDS-2017 · RobustPCA: 0.61 AUC-ROC0.61CIC-IDS-2017 · TimesNet: 0.4 AUC-ROC0.40CIC-IDS-2017 · TranAD: 0.4 AUC-ROC0.40CIC-IDS-2017 · USAD: 0.44 AUC-ROC0.44CreditCardCreditCard · ALLM4TS: 0.63 AUC-ROC0.63CreditCard · Transformer: 0.49 AUC-ROC0.49CreditCard · AutoEncoder: 0.69 AUC-ROC0.69CreditCard · CBLOF: 0.68 AUC-ROC0.68CreditCard · CNN: 0.95 AUC-ROC0.95CreditCard · COPOD: 0.72 AUC-ROC0.72CreditCard · Donut: 0.61 AUC-ROC0.61CreditCard · EIF: 0.67 AUC-ROC0.67CreditCard · FITS: 0.55 AUC-ROC0.55CreditCard · HBOS: 0.68 AUC-ROC0.68CreditCard · IForest: 0.55 AUC-ROC0.55CreditCard · KMeansAD: 0.51 AUC-ROC0.51CreditCard · KNN: 0.69 AUC-ROC0.69CreditCard · LOF: 0.52 AUC-ROC0.52CreditCard · LSTMAD: 0.95 AUC-ROC0.95CreditCard · MCD: 0.81 AUC-ROC0.81CreditCard · OCSVM: 0.65 AUC-ROC0.65CreditCard · OFA: 0.7 AUC-ROC0.70CreditCard · OmniAnomaly: 0.71 AUC-ROC0.71CreditCard · PCA: 0.71 AUC-ROC0.71CreditCard · RobustPCA: 0.35 AUC-ROC0.35CreditCard · TimesNet: 0.57 AUC-ROC0.57CreditCard · TranAD: 0.59 AUC-ROC0.59CreditCard · USAD: 0.9 AUC-ROC0.90MetroMetro · ALLM4TS: 0.3 AUC-ROC0.30Metro · Transformer: 0.51 AUC-ROC0.51Metro · AutoEncoder: 0.26 AUC-ROC0.26Metro · CBLOF: 0.82 AUC-ROC0.82Metro · CNN: 0.52 AUC-ROC0.52Metro · COPOD: 0.79 AUC-ROC0.79Metro · Donut: 0.46 AUC-ROC0.46Metro · EIF: 0.81 AUC-ROC0.81Metro · FITS: 0.43 AUC-ROC0.43Metro · HBOS: 0.81 AUC-ROC0.81Metro · IForest: 0.7 AUC-ROC0.70Metro · KMeansAD: 0.56 AUC-ROC0.56Metro · KNN: 0.79 AUC-ROC0.79Metro · LOF: 0.45 AUC-ROC0.45Metro · LSTMAD: 0.4 AUC-ROC0.40Metro · MCD: 0.81 AUC-ROC0.81Metro · OCSVM: 0.39 AUC-ROC0.39Metro · OFA: 0.41 AUC-ROC0.41Metro · OmniAnomaly: 0.56 AUC-ROC0.56Metro · PCA: 0.56 AUC-ROC0.56Metro · RobustPCA: 0.36 AUC-ROC0.36Metro · TimesNet: 0.45 AUC-ROC0.45Metro · TranAD: 0.82 AUC-ROC0.82Metro · USAD: 0.77 AUC-ROC0.77OccupancyOccupancy · ALLM4TS: 0.89 AUC-ROC0.89Occupancy · Transformer: 0.51 AUC-ROC0.51Occupancy · AutoEncoder: 0.89 AUC-ROC0.89Occupancy · CBLOF: 0.73 AUC-ROC0.73Occupancy · CNN: 0.86 AUC-ROC0.86Occupancy · COPOD: 0.95 AUC-ROC0.95Occupancy · Donut: 0.79 AUC-ROC0.79Occupancy · EIF: 0.9 AUC-ROC0.90Occupancy · FITS: 0.76 AUC-ROC0.76Occupancy · HBOS: 0.92 AUC-ROC0.92Occupancy · IForest: 0.91 AUC-ROC0.91Occupancy · KMeansAD: 0.78 AUC-ROC0.78Occupancy · KNN: 0.86 AUC-ROC0.86Occupancy · LOF: 0.45 AUC-ROC0.45Occupancy · LSTMAD: 0.85 AUC-ROC0.85Occupancy · MCD: 0.96 AUC-ROC0.96Occupancy · OCSVM: 0.96 AUC-ROC0.96Occupancy · OFA: 0.82 AUC-ROC0.82Occupancy · OmniAnomaly: 0.82 AUC-ROC0.82Occupancy · PCA: 0.83 AUC-ROC0.83Occupancy · RobustPCA: 0.85 AUC-ROC0.85Occupancy · TimesNet: 0.77 AUC-ROC0.77Occupancy · TranAD: 0.69 AUC-ROC0.69Occupancy · USAD: 0.55 AUC-ROC0.55SWAN-SFSWAN-SF · ALLM4TS: 0.5 AUC-ROC0.50SWAN-SF · Transformer: 0.5 AUC-ROC0.50SWAN-SF · AutoEncoder: 0.52 AUC-ROC0.52SWAN-SF · CBLOF: 0.48 AUC-ROC0.48SWAN-SF · CNN: 0.61 AUC-ROC0.61SWAN-SF · COPOD: 0.5 AUC-ROC0.50SWAN-SF · Donut: 0.63 AUC-ROC0.63SWAN-SF · EIF: 0.46 AUC-ROC0.46SWAN-SF · FITS: 0.42 AUC-ROC0.42SWAN-SF · HBOS: 0.44 AUC-ROC0.44SWAN-SF · IForest: 0.65 AUC-ROC0.65SWAN-SF · KMeansAD: 0.26 AUC-ROC0.26SWAN-SF · KNN: 0.55 AUC-ROC0.55SWAN-SF · LOF: 0.53 AUC-ROC0.53SWAN-SF · LSTMAD: 0.58 AUC-ROC0.58SWAN-SF · MCD: 0.77 AUC-ROC0.77SWAN-SF · OCSVM: 0.49 AUC-ROC0.49SWAN-SF · OFA: 0.61 AUC-ROC0.61SWAN-SF · OmniAnomaly: 0.65 AUC-ROC0.65SWAN-SF · PCA: 0.65 AUC-ROC0.65SWAN-SF · RobustPCA: 0.87 AUC-ROC0.87SWAN-SF · TimesNet: 0.5 AUC-ROC0.50SWAN-SF · TranAD: 0.57 AUC-ROC0.57SWAN-SF · USAD: 0.54 AUC-ROC0.5400.250.50.751AUC-ROC
Hover or focus a cell to inspect its value.

How detector scores vary across time series

Boxplots summarize the performance of anomaly detection methods across all mTSBench datasets using five evaluation metrics: VUS-PR, VUS-ROC, AUC-PR, AUC-ROC, and AUC-PTRT. Methods are ordered by their average VUS-PR score. Boxes indicate interquartile ranges, with the solid line denoting the median and the dashed line denoting the mean. There is clear performance stratification among anomaly detectors across the five evaluation metrics. PCA, OmniAnomaly, and OFA achieve higher median scores, particularly on VUS-PR, VUS-ROC, and AUC-ROC, while methods such as KNN, Transformer, LOF, and HBOS consistently occupy the lower end of the performance spectrum, with poor AUC-PR and AUC-PTRT indicating difficulty handling highly imbalanced and threshold-sensitive anomaly detection settings.

00.250.50.751PCAPCA: Q1 ≈ 0.1, median ≈ 0.28, Q3 ≈ 0.54OmniAnomalyOmniAnomaly: Q1 ≈ 0.09, median ≈ 0.28, Q3 ≈ 0.53OFAOFA: Q1 ≈ 0.09, median ≈ 0.29, Q3 ≈ 0.52CNNCNN: Q1 ≈ 0.08, median ≈ 0.21, Q3 ≈ 0.48IForestIForest: Q1 ≈ 0.07, median ≈ 0.19, Q3 ≈ 0.44ALLM4TSALLM4TS: Q1 ≈ 0.05, median ≈ 0.18, Q3 ≈ 0.47LSTMADLSTMAD: Q1 ≈ 0.07, median ≈ 0.19, Q3 ≈ 0.43KMeansADKMeansAD: Q1 ≈ 0.07, median ≈ 0.18, Q3 ≈ 0.41TranADTranAD: Q1 ≈ 0.05, median ≈ 0.16, Q3 ≈ 0.4USADUSAD: Q1 ≈ 0.05, median ≈ 0.17, Q3 ≈ 0.38MCDMCD: Q1 ≈ 0.04, median ≈ 0.14, Q3 ≈ 0.33AutoEncoderAutoEncoder: Q1 ≈ 0.05, median ≈ 0.14, Q3 ≈ 0.33TimesNetTimesNet: Q1 ≈ 0.05, median ≈ 0.17, Q3 ≈ 0.37DonutDonut: Q1 ≈ 0.05, median ≈ 0.14, Q3 ≈ 0.37FITSFITS: Q1 ≈ 0.05, median ≈ 0.16, Q3 ≈ 0.34OCSVMOCSVM: Q1 ≈ 0.04, median ≈ 0.11, Q3 ≈ 0.3CBLOFCBLOF: Q1 ≈ 0.05, median ≈ 0.13, Q3 ≈ 0.33EIFEIF: Q1 ≈ 0.05, median ≈ 0.12, Q3 ≈ 0.3RobustPCARobustPCA: Q1 ≈ 0.03, median ≈ 0.09, Q3 ≈ 0.26COPODCOPOD: Q1 ≈ 0.04, median ≈ 0.1, Q3 ≈ 0.29HBOSHBOS: Q1 ≈ 0.04, median ≈ 0.1, Q3 ≈ 0.27KNNKNN: Q1 ≈ 0.04, median ≈ 0.11, Q3 ≈ 0.3LOFLOF: Q1 ≈ 0.04, median ≈ 0.11, Q3 ≈ 0.25TransformerTransformer: Q1 ≈ 0.03, median ≈ 0.08, Q3 ≈ 0.21
Blue boxes show the middle 50%; orange marks the median. Select a score to compare the detector distributions.

Detector runtime by dataset

The top panel reports the average runtime of each anomaly detection method evaluated on 344 multivariate time series in mTSBench. Among the 24 methods, IForest is the most efficient, followed by ALLM4TS and MCD, while AnomalyTransformer has the highest computational cost and OFA is the second most expensive. The bottom panel presents a heatmap showing the mean runtime of all detectors across the 19 datasets.

IForestALLM4TSMCDLOFCOPODDonutOCSVMAutoEncoderHBOSCNNRobustPCAUSADEIFTranADKNNFITSKMeansADCBLOFOmniAnomalyLSTMADPCATimesNetOFATransformerCalIt2CalIt2 · IForest: approximately 42 sCalIt2 · ALLM4TS: approximately 31 sCalIt2 · MCD: approximately 14 sCalIt2 · LOF: approximately 26 sCalIt2 · COPOD: approximately 720 sCalIt2 · Donut: approximately 18 sCalIt2 · OCSVM: approximately 120 sCalIt2 · AutoEncoder: approximately 240 sCalIt2 · HBOS: approximately 340 sCalIt2 · CNN: approximately 720 sCalIt2 · RobustPCA: approximately 300 sCalIt2 · USAD: approximately 740 sCalIt2 · EIF: approximately 820 sCalIt2 · TranAD: approximately 820 sCalIt2 · KNN: approximately 590 sCalIt2 · FITS: approximately 1100 sCalIt2 · KMeansAD: approximately 470 sCalIt2 · CBLOF: approximately 77 sCalIt2 · OmniAnomaly: approximately 2600 sCalIt2 · LSTMAD: approximately 820 sCalIt2 · PCA: approximately 160 sCalIt2 · TimesNet: approximately 700 sCalIt2 · OFA: approximately 300 sCalIt2 · Transformer: approximately 120 sDaphnetDaphnet · IForest: approximately 37 sDaphnet · ALLM4TS: approximately 42 sDaphnet · MCD: approximately 57 sDaphnet · LOF: approximately 160 sDaphnet · COPOD: approximately 1100 sDaphnet · Donut: approximately 390 sDaphnet · OCSVM: approximately 42 sDaphnet · AutoEncoder: approximately 500 sDaphnet · HBOS: approximately 700 sDaphnet · CNN: approximately 650 sDaphnet · RobustPCA: approximately 820 sDaphnet · USAD: approximately 820 sDaphnet · EIF: approximately 1000 sDaphnet · TranAD: approximately 1400 sDaphnet · KNN: approximately 740 sDaphnet · FITS: approximately 1100 sDaphnet · KMeansAD: approximately 1100 sDaphnet · CBLOF: approximately 42 sDaphnet · OmniAnomaly: approximately 1500 sDaphnet · LSTMAD: approximately 1300 sDaphnet · PCA: approximately 360 sDaphnet · TimesNet: approximately 1600 sDaphnet · OFA: approximately 1100 sDaphnet · Transformer: approximately 650 sExathlonExathlon · IForest: approximately 37 sExathlon · ALLM4TS: approximately 77 sExathlon · MCD: approximately 110 sExathlon · LOF: approximately 210 sExathlon · COPOD: approximately 1000 sExathlon · Donut: approximately 300 sExathlon · OCSVM: approximately 42 sExathlon · AutoEncoder: approximately 590 sExathlon · HBOS: approximately 540 sExathlon · CNN: approximately 820 sExathlon · RobustPCA: approximately 960 sExathlon · USAD: approximately 700 sExathlon · EIF: approximately 820 sExathlon · TranAD: approximately 1100 sExathlon · KNN: approximately 820 sExathlon · FITS: approximately 1400 sExathlon · KMeansAD: approximately 1000 sExathlon · CBLOF: approximately 1000 sExathlon · OmniAnomaly: approximately 1600 sExathlon · LSTMAD: approximately 1000 sExathlon · PCA: approximately 740 sExathlon · TimesNet: approximately 1100 sExathlon · OFA: approximately 1100 sExathlon · Transformer: approximately 720 sGECCOGECCO · IForest: approximately 42 sGECCO · ALLM4TS: approximately 42 sGECCO · MCD: approximately 360 sGECCO · LOF: approximately 240 sGECCO · COPOD: approximately 590 sGECCO · Donut: approximately 390 sGECCO · OCSVM: approximately 160 sGECCO · AutoEncoder: approximately 500 sGECCO · HBOS: approximately 590 sGECCO · CNN: approximately 720 sGECCO · RobustPCA: approximately 1600 sGECCO · USAD: approximately 700 sGECCO · EIF: approximately 650 sGECCO · TranAD: approximately 1900 sGECCO · KNN: approximately 820 sGECCO · FITS: approximately 2300 sGECCO · KMeansAD: approximately 1100 sGECCO · CBLOF: approximately 2100 sGECCO · OmniAnomaly: approximately 1100 sGECCO · LSTMAD: approximately 1600 sGECCO · PCA: approximately 470 sGECCO · TimesNet: approximately 2100 sGECCO · OFA: approximately 4500 sGECCO · Transformer: approximately 7700 sGHLGHL · IForest: approximately 57 sGHL · ALLM4TS: approximately 160 sGHL · MCD: approximately 210 sGHL · LOF: approximately 240 sGHL · COPOD: approximately 740 sGHL · Donut: approximately 540 sGHL · OCSVM: approximately 1100 sGHL · AutoEncoder: approximately 1000 sGHL · HBOS: approximately 650 sGHL · CNN: approximately 900 sGHL · RobustPCA: approximately 820 sGHL · USAD: approximately 820 sGHL · EIF: approximately 1100 sGHL · TranAD: approximately 1500 sGHL · KNN: approximately 820 sGHL · FITS: approximately 1800 sGHL · KMeansAD: approximately 820 sGHL · CBLOF: approximately 1400 sGHL · OmniAnomaly: approximately 1600 sGHL · LSTMAD: approximately 1900 sGHL · PCA: approximately 1500 sGHL · TimesNet: approximately 2300 sGHL · OFA: approximately 10000 sGHL · Transformer: approximately 19000 sGenesisGenesis · IForest: approximately 31 sGenesis · ALLM4TS: approximately 91 sGenesis · MCD: approximately 210 sGenesis · LOF: approximately 180 sGenesis · COPOD: approximately 650 sGenesis · Donut: approximately 120 sGenesis · OCSVM: approximately 57 sGenesis · AutoEncoder: approximately 590 sGenesis · HBOS: approximately 590 sGenesis · CNN: approximately 1600 sGenesis · RobustPCA: approximately 720 sGenesis · USAD: approximately 360 sGenesis · EIF: approximately 1600 sGenesis · TranAD: approximately 1800 sGenesis · KNN: approximately 820 sGenesis · FITS: approximately 1500 sGenesis · KMeansAD: approximately 900 sGenesis · CBLOF: approximately 1500 sGenesis · OmniAnomaly: approximately 1000 sGenesis · LSTMAD: approximately 820 sGenesis · PCA: approximately 820 sGenesis · TimesNet: approximately 1100 sGenesis · OFA: approximately 540 sGenesis · Transformer: approximately 390 sGutenTAGGutenTAG · IForest: approximately 42 sGutenTAG · ALLM4TS: approximately 77 sGutenTAG · MCD: approximately 210 sGutenTAG · LOF: approximately 160 sGutenTAG · COPOD: approximately 590 sGutenTAG · Donut: approximately 270 sGutenTAG · OCSVM: approximately 57 sGutenTAG · AutoEncoder: approximately 740 sGutenTAG · HBOS: approximately 820 sGutenTAG · CNN: approximately 720 sGutenTAG · RobustPCA: approximately 1100 sGutenTAG · USAD: approximately 700 sGutenTAG · EIF: approximately 1000 sGutenTAG · TranAD: approximately 1100 sGutenTAG · KNN: approximately 820 sGutenTAG · FITS: approximately 1400 sGutenTAG · KMeansAD: approximately 1100 sGutenTAG · CBLOF: approximately 1500 sGutenTAG · OmniAnomaly: approximately 1500 sGutenTAG · LSTMAD: approximately 1000 sGutenTAG · PCA: approximately 590 sGutenTAG · TimesNet: approximately 1400 sGutenTAG · OFA: approximately 500 sGutenTAG · Transformer: approximately 140 sMITDBMITDB · IForest: approximately 240 sMITDB · ALLM4TS: approximately 110 sMITDB · MCD: approximately 91 sMITDB · LOF: approximately 540 sMITDB · COPOD: approximately 110 sMITDB · Donut: approximately 650 sMITDB · OCSVM: approximately 1600 sMITDB · AutoEncoder: approximately 740 sMITDB · HBOS: approximately 650 sMITDB · CNN: approximately 960 sMITDB · RobustPCA: approximately 470 sMITDB · USAD: approximately 960 sMITDB · EIF: approximately 1300 sMITDB · TranAD: approximately 1100 sMITDB · KNN: approximately 1400 sMITDB · FITS: approximately 1100 sMITDB · KMeansAD: approximately 1300 sMITDB · CBLOF: approximately 1100 sMITDB · OmniAnomaly: approximately 1600 sMITDB · LSTMAD: approximately 1500 sMITDB · PCA: approximately 390 sMITDB · TimesNet: approximately 3600 sMITDB · OFA: approximately 7700 sMITDB · Transformer: approximately 19000 sMSLMSL · IForest: approximately 57 sMSL · ALLM4TS: approximately 110 sMSL · MCD: approximately 210 sMSL · LOF: approximately 160 sMSL · COPOD: approximately 42 sMSL · Donut: approximately 91 sMSL · OCSVM: approximately 540 sMSL · AutoEncoder: approximately 77 sMSL · HBOS: approximately 500 sMSL · CNN: approximately 140 sMSL · RobustPCA: approximately 650 sMSL · USAD: approximately 650 sMSL · EIF: approximately 1000 sMSL · TranAD: approximately 540 sMSL · KNN: approximately 590 sMSL · FITS: approximately 410 sMSL · KMeansAD: approximately 900 sMSL · CBLOF: approximately 1400 sMSL · OmniAnomaly: approximately 590 sMSL · LSTMAD: approximately 470 sMSL · PCA: approximately 470 sMSL · TimesNet: approximately 540 sMSL · OFA: approximately 390 sMSL · Transformer: approximately 1000 sOPPORTUNITYOPPORTUNITY · IForest: approximately 57 sOPPORTUNITY · ALLM4TS: approximately 110 sOPPORTUNITY · MCD: approximately 300 sOPPORTUNITY · LOF: approximately 210 sOPPORTUNITY · COPOD: approximately 31 sOPPORTUNITY · Donut: approximately 270 sOPPORTUNITY · OCSVM: approximately 91 sOPPORTUNITY · AutoEncoder: approximately 700 sOPPORTUNITY · HBOS: approximately 590 sOPPORTUNITY · CNN: approximately 1100 sOPPORTUNITY · RobustPCA: approximately 740 sOPPORTUNITY · USAD: approximately 1100 sOPPORTUNITY · EIF: approximately 470 sOPPORTUNITY · TranAD: approximately 1300 sOPPORTUNITY · KNN: approximately 720 sOPPORTUNITY · FITS: approximately 1000 sOPPORTUNITY · KMeansAD: approximately 1300 sOPPORTUNITY · CBLOF: approximately 1400 sOPPORTUNITY · OmniAnomaly: approximately 900 sOPPORTUNITY · LSTMAD: approximately 1400 sOPPORTUNITY · PCA: approximately 2100 sOPPORTUNITY · TimesNet: approximately 1400 sOPPORTUNITY · OFA: approximately 900 sOPPORTUNITY · Transformer: approximately 1300 sPSMPSM · IForest: approximately 31 sPSM · ALLM4TS: approximately 120 sPSM · MCD: approximately 300 sPSM · LOF: approximately 140 sPSM · COPOD: approximately 31 sPSM · Donut: approximately 590 sPSM · OCSVM: approximately 1800 sPSM · AutoEncoder: approximately 300 sPSM · HBOS: approximately 590 sPSM · CNN: approximately 300 sPSM · RobustPCA: approximately 590 sPSM · USAD: approximately 500 sPSM · EIF: approximately 300 sPSM · TranAD: approximately 1400 sPSM · KNN: approximately 470 sPSM · FITS: approximately 590 sPSM · KMeansAD: approximately 1100 sPSM · CBLOF: approximately 1800 sPSM · OmniAnomaly: approximately 820 sPSM · LSTMAD: approximately 1900 sPSM · PCA: approximately 3600 sPSM · TimesNet: approximately 2600 sPSM · OFA: approximately 4500 sPSM · Transformer: approximately 19000 sSMAPSMAP · IForest: approximately 48 sSMAP · ALLM4TS: approximately 120 sSMAP · MCD: approximately 91 sSMAP · LOF: approximately 270 sSMAP · COPOD: approximately 42 sSMAP · Donut: approximately 240 sSMAP · OCSVM: approximately 540 sSMAP · AutoEncoder: approximately 77 sSMAP · HBOS: approximately 650 sSMAP · CNN: approximately 110 sSMAP · RobustPCA: approximately 820 sSMAP · USAD: approximately 390 sSMAP · EIF: approximately 500 sSMAP · TranAD: approximately 500 sSMAP · KNN: approximately 900 sSMAP · FITS: approximately 300 sSMAP · KMeansAD: approximately 820 sSMAP · CBLOF: approximately 1400 sSMAP · OmniAnomaly: approximately 540 sSMAP · LSTMAD: approximately 470 sSMAP · PCA: approximately 590 sSMAP · TimesNet: approximately 590 sSMAP · OFA: approximately 440 sSMAP · Transformer: approximately 1000 sSMDSMD · IForest: approximately 26 sSMD · ALLM4TS: approximately 160 sSMD · MCD: approximately 37 sSMD · LOF: approximately 390 sSMD · COPOD: approximately 31 sSMD · Donut: approximately 470 sSMD · OCSVM: approximately 540 sSMD · AutoEncoder: approximately 110 sSMD · HBOS: approximately 650 sSMD · CNN: approximately 110 sSMD · RobustPCA: approximately 740 sSMD · USAD: approximately 470 sSMD · EIF: approximately 650 sSMD · TranAD: approximately 650 sSMD · KNN: approximately 960 sSMD · FITS: approximately 270 sSMD · KMeansAD: approximately 1100 sSMD · CBLOF: approximately 1000 sSMD · OmniAnomaly: approximately 590 sSMD · LSTMAD: approximately 740 sSMD · PCA: approximately 1400 sSMD · TimesNet: approximately 740 sSMD · OFA: approximately 3600 sSMD · Transformer: approximately 3600 sSVDBSVDB · IForest: approximately 91 sSVDB · ALLM4TS: approximately 77 sSVDB · MCD: approximately 110 sSVDB · LOF: approximately 340 sSVDB · COPOD: approximately 31 sSVDB · Donut: approximately 470 sSVDB · OCSVM: approximately 390 sSVDB · AutoEncoder: approximately 900 sSVDB · HBOS: approximately 820 sSVDB · CNN: approximately 1100 sSVDB · RobustPCA: approximately 820 sSVDB · USAD: approximately 1500 sSVDB · EIF: approximately 900 sSVDB · TranAD: approximately 820 sSVDB · KNN: approximately 1100 sSVDB · FITS: approximately 1100 sSVDB · KMeansAD: approximately 1000 sSVDB · CBLOF: approximately 900 sSVDB · OmniAnomaly: approximately 900 sSVDB · LSTMAD: approximately 1500 sSVDB · PCA: approximately 340 sSVDB · TimesNet: approximately 1600 sSVDB · OFA: approximately 7700 sSVDB · Transformer: approximately 4500 sCIC-IDS-2017CIC-IDS-2017 · IForest: approximately 110 sCIC-IDS-2017 · ALLM4TS: approximately 91 sCIC-IDS-2017 · MCD: approximately 110 sCIC-IDS-2017 · LOF: approximately 470 sCIC-IDS-2017 · COPOD: approximately 650 sCIC-IDS-2017 · Donut: approximately 3600 sCIC-IDS-2017 · OCSVM: approximately 650 sCIC-IDS-2017 · AutoEncoder: approximately 590 sCIC-IDS-2017 · HBOS: approximately 470 sCIC-IDS-2017 · CNN: approximately 540 sCIC-IDS-2017 · RobustPCA: approximately 1900 sCIC-IDS-2017 · USAD: approximately 650 sCIC-IDS-2017 · EIF: approximately 1000 sCIC-IDS-2017 · TranAD: approximately 900 sCIC-IDS-2017 · KNN: approximately 470 sCIC-IDS-2017 · FITS: approximately 1500 sCIC-IDS-2017 · KMeansAD: approximately 820 sCIC-IDS-2017 · CBLOF: approximately 440 sCIC-IDS-2017 · OmniAnomaly: approximately 1400 sCIC-IDS-2017 · LSTMAD: approximately 1400 sCIC-IDS-2017 · PCA: approximately 59000 sCIC-IDS-2017 · TimesNet: approximately 1900 sCIC-IDS-2017 · OFA: approximately 7700 sCIC-IDS-2017 · Transformer: approximately 7700 sCreditCardCreditCard · IForest: approximately 67 sCreditCard · ALLM4TS: approximately 67 sCreditCard · MCD: approximately 91 sCreditCard · LOF: approximately 120 sCreditCard · COPOD: approximately 1400 sCreditCard · Donut: approximately 1600 sCreditCard · OCSVM: approximately 820 sCreditCard · AutoEncoder: approximately 1400 sCreditCard · HBOS: approximately 470 sCreditCard · CNN: approximately 590 sCreditCard · RobustPCA: approximately 1800 sCreditCard · USAD: approximately 900 sCreditCard · EIF: approximately 1000 sCreditCard · TranAD: approximately 1400 sCreditCard · KNN: approximately 650 sCreditCard · FITS: approximately 1100 sCreditCard · KMeansAD: approximately 540 sCreditCard · CBLOF: approximately 26 sCreditCard · OmniAnomaly: approximately 2300 sCreditCard · LSTMAD: approximately 740 sCreditCard · PCA: approximately 10000 sCreditCard · TimesNet: approximately 1100 sCreditCard · OFA: approximately 10000 sCreditCard · Transformer: approximately 7700 sMetroMetro · IForest: approximately 77 sMetro · ALLM4TS: approximately 120 sMetro · MCD: approximately 240 sMetro · LOF: approximately 110 sMetro · COPOD: approximately 440 sMetro · Donut: approximately 210 sMetro · OCSVM: approximately 91 sMetro · AutoEncoder: approximately 590 sMetro · HBOS: approximately 1500 sMetro · CNN: approximately 700 sMetro · RobustPCA: approximately 1900 sMetro · USAD: approximately 820 sMetro · EIF: approximately 160 sMetro · TranAD: approximately 960 sMetro · KNN: approximately 900 sMetro · FITS: approximately 1600 sMetro · KMeansAD: approximately 1100 sMetro · CBLOF: approximately 1500 sMetro · OmniAnomaly: approximately 1500 sMetro · LSTMAD: approximately 740 sMetro · PCA: approximately 700 sMetro · TimesNet: approximately 3000 sMetro · OFA: approximately 2300 sMetro · Transformer: approximately 4500 sOccupancyOccupancy · IForest: approximately 440 sOccupancy · ALLM4TS: approximately 110 sOccupancy · MCD: approximately 270 sOccupancy · LOF: approximately 470 sOccupancy · COPOD: approximately 340 sOccupancy · Donut: approximately 77 sOccupancy · OCSVM: approximately 240 sOccupancy · AutoEncoder: approximately 120 sOccupancy · HBOS: approximately 500 sOccupancy · CNN: approximately 140 sOccupancy · RobustPCA: approximately 91 sOccupancy · USAD: approximately 270 sOccupancy · EIF: approximately 300 sOccupancy · TranAD: approximately 300 sOccupancy · KNN: approximately 270 sOccupancy · FITS: approximately 210 sOccupancy · KMeansAD: approximately 340 sOccupancy · CBLOF: approximately 340 sOccupancy · OmniAnomaly: approximately 240 sOccupancy · LSTMAD: approximately 340 sOccupancy · PCA: approximately 340 sOccupancy · TimesNet: approximately 590 sOccupancy · OFA: approximately 270 sOccupancy · Transformer: approximately 1100 sSWAN-SFSWAN-SF · IForest: approximately 470 sSWAN-SF · ALLM4TS: approximately 18 sSWAN-SF · MCD: approximately 26 sSWAN-SF · LOF: approximately 960 sSWAN-SF · COPOD: approximately 390 sSWAN-SF · Donut: approximately 820 sSWAN-SF · OCSVM: approximately 110 sSWAN-SF · AutoEncoder: approximately 77 sSWAN-SF · HBOS: approximately 900 sSWAN-SF · CNN: approximately 57 sSWAN-SF · RobustPCA: approximately 340 sSWAN-SF · USAD: approximately 2300 sSWAN-SF · EIF: approximately 500 sSWAN-SF · TranAD: approximately 67 sSWAN-SF · KNN: approximately 720 sSWAN-SF · FITS: approximately 1800 sSWAN-SF · KMeansAD: approximately 590 sSWAN-SF · CBLOF: approximately 960 sSWAN-SF · OmniAnomaly: approximately 590 sSWAN-SF · LSTMAD: approximately 540 sSWAN-SF · PCA: approximately 7700 sSWAN-SF · TimesNet: approximately 1900 sSWAN-SF · OFA: approximately 3600 sSWAN-SF · Transformer: approximately 1800 s10 s100 s1000 s10000 s100000 ss
Runtime in seconds on a logarithmic scale.

Detector selection performance

Detector-selection quality for MetaOD, FMMS, and Orthus across the benchmark’s scoring metrics.

Detector selection performance
Metric Oracle Near-optimal Random PCA MetaOD FMMS Orthus Ensemble Δ (%)
F1 0.546 ± 0.263 0.514 ± 0.256 0.299 ± 0.252 0.252 ± 0.195 0.135 ± 0.135 0.222 ± 0.185 0.222 ± 0.200 0.189 ± 0.187 -56.80
Precision 0.414 ± 0.328 0.393 ± 0.319 0.194 ± 0.236 0.293 ± 0.305 0.189 ± 0.236 0.280 ± 0.299 0.297 ± 0.311 0.237 ± 0.262 -24.43
Recall 0.483 ± 0.298 0.458 ± 0.287 0.275 ± 0.313 0.319 ± 0.310 0.205 ± 0.210 0.307 ± 0.276 0.283 ± 0.271 0.300 ± 0.301 -32.97
Affiliation-F1 0.879 ± 0.107 0.868 ± 0.101 0.785 ± 0.124 0.818 ± 0.108 0.777 ± 0.100 0.834 ± 0.112 0.814 ± 0.111 0.792 ± 0.107 -3.92
Event-based-F1 0.699 ± 0.287 0.667 ± 0.283 0.427 ± 0.338 0.506 ± 0.329 0.377 ± 0.305 0.548 ± 0.333 0.500 ± 0.340 0.433 ± 0.330 -17.84
Max-F1 0.546 ± 0.263 0.514 ± 0.256 0.299 ± 0.252 0.408 ± 0.268 0.292 ± 0.246 0.381 ± 0.263 0.386 ± 0.270 0.379 ± 0.270 -24.90
PA-F1 0.825 ± 0.235 0.803 ± 0.226 0.705 ± 0.316 0.627 ± 0.320 0.658 ± 0.324 0.738 ± 0.285 0.647 ± 0.332 0.584 ± 0.332 -8.09
R-based-F1 0.450 ± 0.237 0.430 ± 0.224 0.252 ± 0.190 0.410 ± 0.237 0.242 ± 0.194 0.366 ± 0.224 0.370 ± 0.236 0.328 ± 0.246 -13.95
AUC-PtRt 0.417 ± 0.276 0.400 ± 0.260 0.234 ± 0.228 0.322 ± 0.278 0.217 ± 0.218 0.318 ± 0.273 0.309 ± 0.272 0.278 ± 0.260 -20.50
AUC-PR 0.492 ± 0.296 0.455 ± 0.284 0.212 ± 0.222 0.327 ± 0.280 0.210 ± 0.231 0.304 ± 0.266 0.315 ± 0.279 0.287 ± 0.271 -30.77
AUC-ROC 0.811 ± 0.150 0.796 ± 0.148 0.613 ± 0.178 0.697 ± 0.219 0.605 ± 0.189 0.659 ± 0.207 0.672 ± 0.219 0.683 ± 0.214 -15.58
VUS-PR 0.524 ± 0.296 0.485 ± 0.290 0.236 ± 0.236 0.348 ± 0.290 0.229 ± 0.231 0.326 ± 0.277 0.333 ± 0.288 0.312 ± 0.279 -31.34
VUS-ROC 0.847 ± 0.134 0.832 ± 0.134 0.640 ± 0.188 0.721 ± 0.211 0.655 ± 0.179 0.698 ± 0.204 0.707 ± 0.212 0.714 ± 0.203 -15.02
Mean ± standard deviation.

Recovering the best detector: Recall@k

Recall as the number of recommended detectors increases.

MetaODFMMSOrthus
00.250.50.75114812162024Number of recommendations (k)Recall@k ↑MetaOD: 1, 0.0436MetaOD: 2, 0.093MetaOD: 3, 0.1308MetaOD: 4, 0.2064MetaOD: 5, 0.2238MetaOD: 6, 0.2849MetaOD: 7, 0.3198MetaOD: 8, 0.3547MetaOD: 9, 0.3808MetaOD: 10, 0.4186MetaOD: 11, 0.439MetaOD: 12, 0.4651MetaOD: 13, 0.5145MetaOD: 14, 0.5436MetaOD: 15, 0.5727MetaOD: 16, 0.5901MetaOD: 17, 0.6221MetaOD: 18, 0.6628MetaOD: 19, 0.7442MetaOD: 20, 0.8052MetaOD: 21, 0.8983MetaOD: 22, 0.9302MetaOD: 23, 0.9564MetaOD: 24, 1FMMS: 1, 0.1047FMMS: 2, 0.1977FMMS: 3, 0.2587FMMS: 4, 0.314FMMS: 5, 0.3576FMMS: 6, 0.4564FMMS: 7, 0.5262FMMS: 8, 0.6366FMMS: 9, 0.689FMMS: 10, 0.7326FMMS: 11, 0.7733FMMS: 12, 0.7994FMMS: 13, 0.8198FMMS: 14, 0.8372FMMS: 15, 0.8692FMMS: 16, 0.8895FMMS: 17, 0.9041FMMS: 18, 0.9157FMMS: 19, 0.936FMMS: 20, 0.9419FMMS: 21, 0.9535FMMS: 22, 0.9767FMMS: 23, 0.9884FMMS: 24, 1Orthus: 1, 0.1048Orthus: 2, 0.2619Orthus: 3, 0.3571Orthus: 4, 0.4048Orthus: 5, 0.4714Orthus: 6, 0.5429Orthus: 7, 0.5571Orthus: 8, 0.5667Orthus: 9, 0.5762Orthus: 10, 0.5905Orthus: 11, 0.6238Orthus: 12, 0.6381Orthus: 13, 0.7238Orthus: 14, 0.7476Orthus: 15, 0.7524Orthus: 16, 0.781Orthus: 17, 0.8714Orthus: 18, 0.9286Orthus: 19, 0.9524Orthus: 20, 0.9571Orthus: 21, 0.9619Orthus: 22, 0.9857Orthus: 23, 0.9857Orthus: 24, 1
Recall@k measures how often the best detector is included among the first k recommendations.

Ranking quality among the top three recommendations

Ranking Comparison of Model Selection Methods. (Left) Precision@3, Recall@3, and NDCG@3 for each method. (Right) Recall@k as a function of k. In the Top-3 setting (left), Orthus achieves the highest scores across all ranking metrics, followed by FMMS and then MetaOD, while the Recall@k curves (right) show that Orthus and FMMS alternate in ranking quality across different values of k, with MetaOD consistently performing worse.

Ranking quality among the top three recommendations
Metric MetaOD FMMS Orthus
NDCG@3 (%) ↑ 11.19 29.44 33.19
NDCG measures the quality of the order within the first three recommendations, rather than repeating the recall curve.

BibTeX

@article{zhou2026mTSBench,
  title={mTSBench: Benchmarking Multivariate Time Series Anomaly Detection and Model Selection at Scale},
  author={Zhou, Xiaona and Brif, Constantin and Lourentzou, Ismini},
  journal={Transactions on Machine Learning Research (TMLR)},
  year={2026}
}
Template acknowledgements

This site is built upon the work of Nerfies, made available under the Creative Commons Attribution-ShareAlike 4.0 International License. We gratefully acknowledge LLaVA, MiniGPT-4, LLaMa, and Stable Diffusion 2 for open-sourcing their models and code.