Francisco Bischoff

16 Oct 2026

Time Series with Matrix Profile

What’s New β€” v0.5.1 (October 2026)

tsmp is now a pure-R analytical layer (NeedsCompilation: no), delegating all high-performance computation to the matrixprofiler C++ engine. This brings orders-of-magnitude speed gains and trivial cross-platform installation.

Key highlights:

  • πŸš€ Native multithreading via n_workers β€” no more doSNOW/foreach clusters.
  • 🧹 Removed dependencies: doSNOW, foreach, audio.
  • πŸ”’ Standardized invalid indices β€” all profile index vectors now use NA_integer_ (previously -1L).
  • ⚑ MPX is now a first-class algorithm: tsmp(..., mode = "mpx").
  • πŸ”§ find_snippet() gained n_workers and a long-standing edge-case fix.

πŸ“„ Full API changes, breaking changes, and migration guide: MIGRATION.md

A broader introduction to the matrixprofiler backend is available here.

Overview

R Functions implementing UCR Matrix Profile Algorithm (http://www.cs.ucr.edu/~eamonn/MatrixProfile.html).

This package allows you to use the Matrix Profile concept as a toolkit.

This package provides:

  • Algorithms to build a Matrix Profile: STAMP, STOMP, SCRIMP++, SIMPLE, MSTOMP and VALMOD.
  • Algorithms for MOTIF search for Unidimensional and Multidimensional Matrix Profiles.
  • Algorithm for Chains search for Unidimensional Matrix Profile.
  • Algorithms for Semantic Segmentation (FLUSS) and Weakly Labeled data (SDTS).
  • Algorithm for Salient Subsections detection allowing MDS plotting.
  • Basic plotting for all outputs generated here.
  • Sequencial workflow, see below.
# Basic workflow:
matrix <- tsmp(data, window_size = 30) %>%
  find_motif(n_motifs = 3) %T>%
  plot()

# SDTS still have a unique way to work:
model <- sdts_train(data, labels, windows)
result <- sdts_predict(model, data, round(mean(windows)))

Please refer to the User Manual for more details.

Please be welcome to suggest improvements.

Installation

# Install the released version from CRAN
install.packages("tsmp")

# Or the development version from GitHub:
# install.packages("devtools")
devtools::install_github("matrix-profile-foundation/tsmp")

Currently available Features

  • STAMP (single and multi-thread versions)
  • STOMP (single and multi-thread versions)
  • STOMPi (On-line version)
  • SCRIMP (single-thread, not for AB-joins yet)
  • MPX (single and multi-thread β€” native C++ via matrixprofiler)
  • Time Series Chains
  • Multivariate STOMP (mSTOMP) β€” native multithreading via n_workers
  • Multivariate MOTIF Search (from mSTOMP)
  • Salient Subsequences search for Multidimensional Space
  • Scalable Dictionary learning for Time Series (SDTS) prediction
  • FLUSS (Fast Low-cost Unipotent Semantic Segmentation)
  • FLOSS (Fast Low-cost On-line Unipotent Semantic Segmentation)
  • SiMPle-Fast (Fast Similarity Matrix Profile for Music Analysis and Exploration)
  • Annotation vectors (e.g., Stop-word MOTIF bias, Actionability bias)
  • FLUSS Arc Plot and SiMPle Arc Plot
  • Exact Detection of Variable Length Motifs (VALMOD)
  • MPdist: Matrix Profile Distance β€” native C++ and multi-core
  • Time Series Snippets β€” parallel n_workers support and edge-case fix
  • Subsetting Matrix Profiles (head(), tail(), [, etc.)
  • Misc:
    • MASS v2.0 / v3.0 (multi-variant, multi-thread)
    • MASS extensions: ADP (Approximate Distance Profile, with PAA)
    • MASS extensions: WQ (Weighted Query)
    • MASS extensions: QwG (Query with Gap)
    • Fast moving statistics (mov_mean, mov_std, etc.) with na_strategy control

Roadmap

Matrix Profile Foundation

Our next step unifying the Matrix Profile implementation in several programming languages.

Visit: Matrix Profile Foundation

Benchmarks

New benchmarks for the new package matrixprofiler is available at RPubs.

Package dependencies

Code of Conduct

Please note that the tsmp project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.