README
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
Other projects with Matrix
Profile
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.