# US 12,001,313 B2 · Time series forecasting

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,001,313 B2
- Document ID: US12001313B2
- Status: Granted
- Kind: B2
- Application number: 17/216,614
- Filed: 2021-03-29
- Published: 2021-10-21
- Granted: 2024-06-04
- Earliest claimed: 2020-04-01
- Assignees: Zoho Corporation Private Limited
- Applicants: Zoho Corporation Private Limited
- Inventors: Satya Madhuri Penumarthi; Ramprakash Ramamoorthy; Shailesh Kumar Davey
- Web page: https://patentgrep.com/patent/US12001313B2

## CPC

- G06F 11/3452: {Performance evaluation by statistical analysis}
- G06F 11/3409: {for performance assessment}
- G06F 11/3447: {Performance evaluation by modeling}
- G06F 17/142: {Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm}
- G06F 17/18: for evaluating statistical data {, e.g. average values, frequency distributions, probability functions, regression analysis (forecasting specially adapted for a specific administrative, business or logistic context G06Q10/04)}
- G06N 20/00: Machine learning
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

A method and system for time series forecasting are described. Forecasting a time series, though uncertain, has a potential to improve decision-making. It gives a picture of what can probably be expected. A live time series typically has trend and seasonality as its innate characteristic features, randomness being obvious in real-time. Described embodiments address complexity in configuring zero-configuration workflow forecasting methods at production scale. Described embodiments address complexity in configurating domain independent forecasting methods at production scale.

## Claims

### Claim 1

A system comprising:
a time series refinement engine coupled to a metrics datastore comprising a time series data set, wherein the time series refinement engine detects a discontinuity or anomaly episode within the time series data set and refines the time series data set to account for the detected discontinuity or anomaly episode, resulting in a refined time series;
a behavior diagnostics engine coupled to the time series refinement engine and comprising a trend diagnostic engine and a seasonality diagnostic engine, wherein the refined time series is diagnosed and validated for trends by the trend diagnostic engine and diagnosed and validated for seasonality by the seasonality diagnostic engine;
a time series modeling engine coupled to the behavior diagnostics engine, wherein the time series modeling engine models the refined time series using a set of time series models that have been determined to be applicable to the time series, to obtain a set of applicable time series models;
a model selection engine coupled to the time series modeling engine, wherein a highest performing time series model is selected from the set of applicable time series models;
a forecast reporting engine coupled to the model selection engine, wherein the forecast reporting engine generates a forecast using the highest performing time series model and provides a report that includes the forecast;
wherein the time series modeling engine uses a trend model subset of models for modeling rate of change, a seasonality model subset of models for modeling seasonal patterns, a hybrid model subset of models for modeling rate of change along with seasonal patterns, and a pseudo-random pattern model subset of models for approximating randomness, wherein:
the trend models include a subset of regression models, a subset of Explicit handling of Trend and Seasonality (ETS) models, and a subset of Auto-Regressive Integrated Moving Average (ARIMA) models;
the seasonality models include a subset of Seasonality-Trend Locally weighted scatterplot smoothing (STL) based models, a subset of ETS models, and a subset of ARIMA models;
the hybrid models include a subset of STL models, a subset of ETS models, a subset of regression models, and a subset of ARIMA models;
the pseudo-random models include an ETS model, a subset of regression models, and a subset of ARIMA models;
the trend model subset of models is selected when the refined time series includes detected trends, the seasonality model subset of models is selected when the refined time series includes detected seasonality, the hybrid model subset of models is selected when the time series includes both detected trends and detected seasonality, and the pseudo-random pattern model subset of models is selected when the time series has no identified trends or seasonality.

### Claim 2 (depends on 1)

The system of claim 1 wherein the time series refinement engine detects the anomaly episode by determining the time series data set includes a rise or a fall at an unexpected time or within a time frame beyond that of white noise.

### Claim 3 (depends on 1)

The system of claim 1 wherein the time series refinement engine smooths out the anomaly episode using single point refinement.

### Claim 4 (depends on 1)

The system of claim 1 wherein the time series refinement engine smooths out the anomaly episode using episode refinement.

### Claim 5 (depends on 1)

The system of claim 1 wherein the behavior diagnostics engine detects trend by fitting simple regression on scaled time series and validates trend using slope tolerance thresholding.

### Claim 6 (depends on 1)

The system of claim 1 wherein the behavior diagnostics engine detects seasonality by generating a seasonality profile via spectral analysis of the refined time series and validates seasonality by thresholding on a rank of a trajectory matrix framed using each detected seasonality.

### Claim 7 (depends on 1)

The system of claim 1 wherein the behavior diagnostics engine detects trend in the refined time series with min-max scaling and simple regression to estimate and identify a non-zero slope that indicates presence of trend, and validates trend using slope tolerance thresholding.

### Claim 8 (depends on 1)

The system of claim 1 wherein the behavior diagnostics engine detects seasonality in the refined time series using a Fast Fourier Transform (FFT) to generate a seasonality profile and validates seasonality using thresholding on rank from Singular Value Decomposition (SVD) of a trajectory matrix framed using each detected seasonality.

### Claim 9 (depends on 1)

The system of claim 1 wherein the model selection engine runs within a selected subset of models, wherein each model of the selected subset of models models one and only one of:
trend and seasonality,
trend and lack of seasonality,
seasonality and lack of trend, and
lack of trend and lack of seasonality.

### Claim 10 (depends on 1)

The system of claim 1 wherein the model selection engine evaluates performance after running a selected subset of models to generate a suite of performance indicators selected from a group consisting of Root Mean Square Error (RMSE), Linear Error in Probability Space (LEPS), Mean Absolute Percentage Deviation (MAPD), corrected Akaike Information Criterion (AICc), Bayesian Information Criterion (BIC), and a combination of these.

### Claim 11 (depends on 1)

The system of claim 1 wherein the model selection engine selects a highest performance forecast model for the refined time series after the time series modeling engine evaluates a selected subset of models.

### Claim 12

A method comprising:
detecting a discontinuity or anomaly episode within a time series data set;
refining the time series data set to account for the detected discontinuity or anomaly episode, resulting in a refined time series;
diagnosing the refined time series for trends;
validating the refined time series for trends;
diagnosing the refined time series for seasonality;
validating the refined time series for seasonality;
determining time series models that are applicable to the refined time series;
modeling the refined time series using a set of time series models that have been determined to be applicable to the refined time series, to obtain a set of applicable time series models;
selecting a highest performing time series model from the set of applicable time series models;
generating a forecast using the highest performing time series model;
providing a report that includes the forecast and forecast bands;
wherein a trend model subset of models for modeling rate of change, a seasonality model subset of models for modeling seasonal patterns, a hybrid model subset of models for modeling rate of change along with seasonal patterns, and a pseudo-random pattern model subset of models for approximating randomness are used, wherein:
the trend models include a subset of regression models, a subset of Explicit handling of Trend and Seasonality (ETS) models, and a subset of Auto-Regressive Integrated Moving Average (ARIMA) models;
the seasonality models include a subset of Seasonality-Trend Locally weighted scatterplot smoothing (STL) based models, a subset of ETS models, and a subset of ARIMA models;
the hybrid models include a subset of STL models, a subset of ETS models, a subset of regression models, and a subset of ARIMA models;
the pseudo-random models include an ETS model, a subset of regression models,
and a subset of ARIMA models;
the trend model subset of models is selected when the refined time series includes detected trends, the seasonality model subset of models is selected when the refined time series includes detected seasonality, the hybrid model subset of models is selected when the time series includes both detected trends and detected seasonality, and the pseudo-random pattern model subset of models is selected when the time series has no identified trends or seasonality.

### Claim 13 (depends on 12)

The method of claim 12 comprising running a selected subset of models, wherein each model of the selected subset of models models one and only one of:
trend and seasonality,
trend and lack of seasonality,
seasonality and lack of trend, and
lack of trend and lack of seasonality.

### Claim 14 (depends on 12)

The method of claim 12 comprising running a selected subset of models to generate a suite of performance indicators selected from a group consisting of Root Mean Square Error (RMSE), Linear Error in Probability Space (LEPS), Mean Absolute Percentage Deviation (MAPD), corrected Akaike Information Criterion (AICc), Bayesian Information Criterion (BIC), and a combination of these.

### Claim 15 (depends on 12)

The method of claim 12 comprising selecting a highest performance forecast model for the refined time series after the time series modeling engine evaluates a selected subset of models.

### Claim 16 (depends on 12)

The method of claim 12 comprising determining the time series data set includes a rise or a fall at an unexpected time or within a time frame beyond that of white noise.

### Claim 17 (depends on 12)

The method of claim 12 comprising smoothing out the anomaly episode using single point refinement.

### Claim 18 (depends on 12)

The method of claim 12 comprising smoothing out the anomaly episode using episode refinement.

### Claim 19 (depends on 12)

The method of claim 12 comprising detecting trend by fitting simple regression on scaled time series and validating trend using slope tolerance thresholding.

### Claim 20 (depends on 12)

The method of claim 12 comprising detecting seasonality by generating a seasonality profile via spectral analysis of the refined time series and validating seasonality by thresholding on a rank of a trajectory matrix framed using each detected seasonality.

### Claim 21 (depends on 12)

The method of claim 12 comprising detecting trend in the refined time series with min-max scaling and simple regression to estimate and identify a non-zero slope that indicates presence of trend and validating trend using slope tolerance thresholding.

### Claim 22 (depends on 12)

The method of claim 12 comprising detecting seasonality in the refined time series using a Fast Fourier Transform (FFT) to generate a seasonality profile and validating seasonality using thresholding on rank from Singular Value Decomposition (SVD) of a trajectory matrix framed using each detected seasonality.

### Claim 23

A system comprising:
means for detecting a discontinuity or anomaly episode within a time series data set;
means for refining the time series data set to account for the detected discontinuity or anomaly episode, resulting in a refined time series;
means for diagnosing the refined time series for trends;
means for validating the refined time series for trends;
means for diagnosing the refined time series for seasonality;
means for validating the refined time series for seasonality;
means for determining time series models that are applicable to the refined time series;
means for modeling the refined time series using a set of time series models that have been determined to be applicable to the refined time series, to obtain a set of applicable time series models;
means for selecting a highest performing time series model from the set of applicable time series models;
means for generating a forecast using the highest performing time series model;
means for providing a report that includes the forecast;
wherein the means for modeling the refined time series uses a trend model subset of models for modeling rate of change, a seasonality model subset of models for modeling seasonal patterns, a hybrid model subset of models for modeling rate of change along with seasonal patterns, and a pseudo-random pattern model subset of models for approximating randomness, wherein:
the trend models include a subset of regression models, a subset of Explicit handling of Trend and Seasonality (ETS) models, and a subset of Auto-Regressive Integrated Moving Average (ARIMA) models;
the seasonality models include a subset of Seasonality-Trend Locally weighted scatterplot smoothing (STL) based models, a subset of ETS models, and a subset of ARIMA models;
the hybrid models include a subset of STL models, a subset of ETS models, a subset of regression models, and a subset of ARIMA models;
the pseudo-random models include an ETS model, a subset of regression models, and a subset of ARIMA models;
the trend model subset of models is selected when the refined time series includes detected trends, the seasonality model subset of models is selected when the refined time series includes detected seasonality, the hybrid model subset of models is selected when the time series includes both detected trends and detected seasonality, and the pseudo-random pattern model subset of models is selected when the time series has no identified trends or seasonality.
