Awesome Ts Anomaly Detection

List of tools & datasets for anomaly detection on time-series data.
Alternatives To Awesome Ts Anomaly Detection
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Scikit Learn55,91018,9449,75521 hours ago71June 30, 20232,259bsd-3-clausePython
scikit-learn: machine learning in Python
Streamlit27,2541789817 hours ago204July 20, 2023648apache-2.0Python
Streamlit — A faster way to build and share data apps.
Ai Expert Roadmap24,033
7 months ago13mitJavaScript
Roadmap to becoming an Artificial Intelligence Expert in 2022
Gradio22,0961124a day ago479July 26, 2023432apache-2.0Python
Build and share delightful machine learning apps, all in Python. 🌟 Star to support our work!
Best Of Ml Python14,459
2 days ago18cc-by-sa-4.0
🏆 A ranked list of awesome machine learning Python libraries. Updated weekly.
Ydata Profiling11,156801062 days ago40February 03, 2023202mitPython
1 Line of code data quality profiling & exploratory data analysis for Pandas and Spark DataFrames.
4 months ago4otherPython
Open Machine Learning Course
Pyod7,39734819 days ago88June 25, 2023189bsd-2-clausePython
A Comprehensive and Scalable Python Library for Outlier Detection (Anomaly Detection)
Ai Learn6,991
a year ago19
人工智能学习路线图,整理近200个实战案例与项目,免费提供配套教材,零基础入门,就业实战!包括:Python,数学,机器学习,数据分析,深度学习,计算机视觉,自然语言处理,PyTorch tensorflow machine-learning,deep-learning data-analysis data-mining mathematics data-science artificial-intelligence python tensorflow tensorflow2 caffe keras pytorch algorithm numpy pandas matplotlib seaborn nlp cv等热门领域
Imbalanced Learn6,48114018017 days ago32July 08, 202339mitPython
A Python Package to Tackle the Curse of Imbalanced Datasets in Machine Learning
Alternatives To Awesome Ts Anomaly Detection
Select To Compare

Alternative Project Comparisons


List of tools & datasets for anomaly detection on time-series data.

All lists are in alphabetical order. In the lists, maintaned projects are prioritized vs not mantained. A repository is considered "not maintained" if the latest commit is > 1 year old, or explicitly mentioned by the authors.

🎓 If you found this collection useful and want to cite it, please follow the citation policy.

Anomaly Detection Software

Name Language Pitch License Maintained
Chaos Genius Python ML powered analytics engine for outlier/anomaly detection and root cause analysis. MIT ✔️
Cuebook's CueObserve Python3 Anomaly detection on SQL data warehouses and databases. Apache-2.0 ✔️
Yahoo's EGADS Java GADS is a library that contains a number of anomaly detection techniques applicable to many use-cases in a single package with the only dependency being Java. GPL ✔️
AIStream's flow-forecast Python Deep learning PyTorch library for time series forecasting, classification, and anomaly detection (originally for flood forecasting). GPL-3 ✔️
Hastic Python + node.js Anomaly detection tool for time series data with Grafana-based UI. GPL ✔️
Zillow's Luminaire Python Luminaire is a python package that provides ML driven anomaly detection and forecasting solutions for time series data. Apache-2.0 ✔️
MIDAS C++ MIDAS, short for Microcluster-Based Detector of Anomalies in Edge Streams, detects microcluster anomalies from an edge stream in constant time and memory. Apache-2.0 ✔️
Orion Python Orion is a machine learning library built for unsupervised time series anomaly detection, providing a number of “verified” ML pipelines (a.k.a Orion pipelines) that identify rare patterns and flag them for expert review. MIT ✔️
OutlierDetection.jl Julia Fast, scalable and flexible Outlier Detection with Julia. MIT ✔️
PyOD Python PyOD is a comprehensive and scalable Python toolkit for detecting outlying objects in multivariate data. BSD 2-Clause ✔️
ruptures Python Ruptures is a Python library for off-line change point detection. This package provides methods for the analysis and segmentation of non-stationary signals. BSD 2-Clause ✔️
EarthGecko Skyline Python3 Skyline is a real-time anomaly detection system, built to enable passive monitoring of hundreds of thousands of metrics. MIT ✔️'s Adaptive Alerting Java Streaming anomaly detection with automated model selection and fitting. Apache-2.0
Arundo's ADTK Python Anomaly Detection Toolkit (ADTK) is a Python package for unsupervised / rule-based time series anomaly detection. MPL 2.0
Twitter's AnomalyDetection R AnomalyDetection is an open-source R package to detect anomalies which is robust, from a statistical standpoint, in the presence of seasonality and an underlying trend. GPL
Lytics' Anomalyzer Go Anomalyzer implements a suite of statistical tests that yield the probability that a given set of numeric input, typically a time series, contains anomalous behavior. Apache-2.0
banpei Python Outlier detection (Hotelling's theory) and Change point detection (Singular spectrum transformation) for time-series. MIT's banshee Go Anomalies detection system for periodic metrics. MIT
CAD Python Contextual Anomaly Detection for real-time AD on streagming data (winner algorithm of the 2016 NAB competition). AGPL
Mentat's Python An open-source framework for real-time anomaly detection using Python, Elasticsearch and Kibana. Apache-2.0
DeepADoTS Python Implementation and evaluation of 7 deep learning-based techniques for Anomaly Detection on Time-Series data. MIT
Donut Python Donut is an unsupervised anomaly detection algorithm for seasonal KPIs, based on Variational Autoencoders. -
LoudML Python Loud ML is an open source time series inference engine built on top of TensorFlow. It's useful to forecast data, detect outliers, and automate your process using future knowledge. MIT
Linkedin's luminol Python Luminol is a light weight python library for time series data analysis. The two major functionalities it supports are anomaly detection and correlation. It can be used to investigate possible causes of anomaly. Apache-2.0
Numenta's Nupic C++ Numenta Platform for Intelligent Computing is an implementation of Hierarchical Temporal Memory (HTM). AGPL
oddstream R oddstream (Outlier Detection in Data Streams) provides real time support for early detection of anomalous series within a large collection of streaming time series data. GPL-3
PyOdds Python PyODDS is an end-to end Python system for outlier detection with database support. PyODDS provides outlier detection algorithms, which support both static and time-series data. MIT
PySAD Python PySAD is a streaming anomaly detection framework with various online models and complete set of tools for experimentation. BSD 3-Clause
rrcf Python Implementation of the Robust Random Cut Forest algorithm for anomaly detection on streams. MIT
Netflix's Surus Java Robust Anomaly Detection (RAD) - An implementation of the Robust PCA. Apache-2.0
NASA's Telemanom Python A framework for using LSTMs to detect anomalies in multivariate time series data. Includes spacecraft anomaly data and experiments from the Mars Science Laboratory and SMAP missions. custom

Related Software

This section includes some time-series software for anomaly detection-related tasks, such as forecasting, generic TS analysis and labeling.


Name Language Pitch License Maintained
darts Python darts is a python library for easy manipulation and forecasting of time series. It contains a variety of models, from classics such as ARIMA to neural networks. Apache-2.0 ✔️
ETNA Python etna is a python library for time series forecasting and analysis with temporal data structure always in mind. Includes a variety of predictive models with unified interface along with EDA and validation methods. Apache-2.0 ✔️
Amazon's GluonTS Python GluonTS is a Python toolkit for probabilistic time series modeling, built around MXNet. GluonTS provides utilities for loading and iterating over time series datasets, state of the art models ready to be trained, and building blocks to define your own models. Apache-2.0 ✔️
pmdarima Python Porting of R's auto.arima with a scikit-learn-friendly interface. MIT ✔️
Facebook's Prophet Python/R Prophet is a procedure for forecasting time series data. It is based on an additive model where non-linear trends are fit with yearly and weekly seasonality, plus holidays. BSD ✔️
PyFlux Python The library has a good array of modern time series models, as well as a flexible array of inference options (frequentist and Bayesian) that can be applied to these models. BSD 3-Clause

Time-Series Analysis

Name Language Pitch License Maintained
Facebook's Kats Python Kats aims to provide the one-stop shop for time series analysis, including detection, forecasting, feature extraction/embedding, multivariate analysis, etc. MIT ✔️
MatrixProfile Python A Python 3 library making time series data mining tasks, utilizing matrix profile algorithms, accessible to everyone. Apache-2.0 ✔️
Salesforce's Merlion Python Merlion: A Machine Learning Framework for Time Series Intelligence, support multiple models including ARIMA BSD 3-Clause ✔️
SaxPy Python General implementation of SAX, as well as HOTSAX for anomaly detection. GPLv2.0 ✔️
sktime Python A unified framework for machine learning with time series. It provides specialized time series algorithms and scikit-learn compatible tools to build, tune and validate time series models for multiple learning problems. BSD 3-Clause ✔️
sktime-dl Python An extension package for deep learning with Tensorflow/Keras for sktime. BSD 3-Clause ✔️
Tigramite Python Tigramite is a causal time series analysis python package. It allows to efficiently reconstruct causal graphs from high-dimensional time series datasets and model the obtained causal dependencies for causal mediation and prediction analyses. GPLv3.0 ✔️
tsflex Python tsflex is a time series toolkit for feature extraction & processing that is both flexible and efficient. This package supports strided-window feature extraction on multivariate, irregularly-sampled sequence data. MIT ✔️
tslearn Python tslearn is a Python package that provides machine learning tools for the analysis of time series. This package builds on scikit-learn, numpy and scipy libraries. BSD 2-Clause ✔️
seglearn Python Seglearn is a python package for machine learning time series or sequences. It provides an integrated pipeline for segmentation, feature extraction, feature processing, and final estimator. BSD 3-Clause


Name Language Pitch License Maintained
Baidu's Curve Python Curve is an open-source tool to help label anomalies on time-series data. Apache-2.0
Microsoft's Taganomaly R (dockerized web app) Simple tool for tagging time series data. Works for univariate and multivariate data, provides a reference anomaly prediction using Twitter's AnomalyDetection package. MIT

Benchmark Datasets

  • Numenta's NAB

NAB is a novel benchmark for evaluating algorithms for anomaly detection in streaming, real-time applications. It is comprised of over 50 labeled real-world and artificial timeseries data files plus a novel scoring mechanism designed for real-time applications.

The dataset consists of real and synthetic time-series with tagged anomaly points. The dataset tests the detection accuracy of various anomaly-types including outliers and change-points.

  • 2020 Skoltech's SKAB

SKAB (Skoltech Anomaly Benchmark) is designed for evaluating algorithms for anomaly detection. The benchmark currently includes 30+ datasets plus Python modules for algorithms’ evaluation. Each dataset represents a multivariate time series collected from the sensors installed on the testbed. All instances are labeled for evaluating the results of solving outlier detection and changepoint detection problems.

The dataset consists of KPIs (key performace index) time series data from many real scenarios of Internet companies with ground truth label. Click below for a more detailed description.


The dataset consists of KPI (key performace index) time series data from many real scenarios of Internet companies with ground truth label. KPIs fall into two broad categories: service KPIs and machine KPIs. Service KPIs are performance metrics that reflect the size and quality of a Web service, such as page response time, page views, and number of connection errors. Machine KPIs are performance indicators that reflect the health of the machine (server, router, switch), such as CPU utilization, memory utilization, disk IO, network card throughput, etc.

Dataset Descriptions:

In order to train the anomaly detection algorithm, the training KPI data provided by us is shown in table 1, including four columns: KPI ID, timestamp, the value of the KPI at that time, and whether the time is abnormal (label).

Table 1 training KPI data case | KPI ID | Timestamp | Value | Label | | ------ | ---------- | ----- | ----- | | 0 | 1503831000 | 10.8 | 0 | | 0 | 1503831060 | 12.3 | 1 | | ... | ... | ... | ... |

In order to evaluate the anomaly detection algorithm, the test KPI data provided by us is shown in table 2, including two columns: KPI ID, timestamp, and the value corresponding to the KPI at that time.

Table 2 testing KPI data case | KPI ID | Timestamp | Value | | ------ | ---------- | ----- | | 0 | 1503831000 | 10.8 | | 0 | 1503831060 | 12.3 | | ... | ... | ... |

Citation Policy

If you would like to cite this repository, please use the following DOI:


or use this BibTex

          abstractNote={A collection of tools and datasets for anomaly detection on time-series data.}, 
          publisher={Zenodo}, author={Roberto Medico}, year={2020}, month={Aug}}
Popular Data Analysis Projects
Popular Machine Learning Projects
Popular Data Processing Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Machine Learning
Awesome List
Data Analysis
Time Series
Data Mining
Anomaly Detection