Skip to main content

Function Finder & Quick Reference

Find the right function for your task. All 60+ AnoFox Forecast functions organized by category.


Quick Function Finder

What I NeedFunctionCategory
Generate a forecastTS_FORECASTForecasting
Forecast multiple seriesTS_FORECAST_BYForecasting
Detect seasonalityTS_DETECT_SEASONALITYDiagnostics
Find seasonal periodsTS_DETECT_SEASONALITY_ALLDiagnostics
Detect structural breaksTS_DETECT_CHANGEPOINTSDiagnostics
Decompose seriesTS_STL_DECOMPOSITIONDiagnostics
Multiple seasonalityTS_MSTL_DECOMPOSITIONDiagnostics
Fill time gapsTS_FILL_GAPSData Preparation
Remove outliersTS_REMOVE_OUTLIERSData Preparation
Extract featuresTS_TSFRESH_FEATURESFeature Engineering
Create lag featuresTS_LAGFeature Engineering
Rolling statisticsTS_ROLLING_MEANFeature Engineering
Fourier termsTS_FOURIERFeature Engineering
Measure accuracyTS_MAE, TS_RMSE, TS_MAPEMetrics
Check coverageTS_COVERAGEMetrics
Data quality reportTS_QUALITY_REPORTUtilities

All Functions by Category

Forecasting Models (31)

AutoML Models

  • TS_FORECAST(..., 'AutoETS', ...)
  • TS_FORECAST(..., 'AutoARIMA', ...)
  • TS_FORECAST(..., 'AutoMFLES', ...)
  • TS_FORECAST(..., 'AutoMSTL', ...)
  • TS_FORECAST(..., 'AutoTBATS', ...)
  • TS_FORECAST(..., 'AutoTheta', ...)

Statistical Models

  • TS_FORECAST(..., 'ETS', ...) - Exponential Smoothing
  • TS_FORECAST(..., 'ARIMA', ...) - ARIMA
  • TS_FORECAST(..., 'Theta', ...) - Theta model
  • TS_FORECAST(..., 'Holt', ...) - Holt linear trend
  • TS_FORECAST(..., 'HoltWinters', ...) - Holt-Winters
  • TS_FORECAST(..., 'SES', ...) - Simple Exponential Smoothing

Advanced Models

  • TS_FORECAST(..., 'TBATS', ...) - Multiple seasonality
  • TS_FORECAST(..., 'MSTL', ...) - Multiple Seasonal & Trend
  • TS_FORECAST(..., 'MFLES', ...) - Robust to outliers
  • TS_FORECAST(..., 'GARCH', ...) - Volatility modeling

Baseline Models

  • TS_FORECAST(..., 'Naive', ...) - Last value
  • TS_FORECAST(..., 'SeasonalNaive', ...) - Last year
  • TS_FORECAST(..., 'RandomWalkDrift', ...) - Trend
  • TS_FORECAST(..., 'SeasonalWindowAverage', ...) - Average seasonal
  • TS_FORECAST(..., 'SMA', ...) - Simple Moving Average

Intermittent Demand

  • TS_FORECAST(..., 'Croston', ...) - Sparse demand
  • TS_FORECAST(..., 'CrostonOptimized', ...) - Optimized Croston
  • TS_FORECAST(..., 'CrostonSBA', ...) - Syntetos-Boylan
  • TS_FORECAST(..., 'ADIDA', ...) - Complex intermittency
  • TS_FORECAST(..., 'IMAPA', ...) - Multiple aggregation
  • TS_FORECAST(..., 'TSB', ...) - Trend + intermittent

Specialized

  • TS_FORECAST(..., 'DTW', ...) - Dynamic Time Warping
  • TS_FORECAST(..., 'AdIDA', ...) - Aggregate-Disaggregate
  • TS_FORECAST(..., 'Ensemble', ...) - Combine models

Diagnostics (8)

-- Seasonality Detection
TS_DETECT_SEASONALITY(table, date_col, value_col, params)
TS_DETECT_SEASONALITY_ALL(table, date_col, value_col, params)

-- Pattern Detection
TS_DETECT_CHANGEPOINTS(table, date_col, value_col, params)

-- Decomposition
TS_STL_DECOMPOSITION(table, date_col, value_col, params)
TS_MSTL_DECOMPOSITION(table, date_col, value_col, params)

-- Outlier Detection
TS_DETECT_OUTLIERS(table, value_col, params)
TS_DETECT_ANOMALIES(table, date_col, value_col, params)

Feature Engineering (15+)

-- Lag Features
TS_LAG(column, n_lags)

-- Rolling Statistics
TS_ROLLING_MEAN(column, window)
TS_ROLLING_STD(column, window)
TS_ROLLING_MIN(column, window)
TS_ROLLING_MAX(column, window)

-- Seasonal Features
TS_FOURIER(date, period, K)
TS_SEASONAL_DUMMY(date, period)

-- Trend Features
TS_TREND(column)
TS_DETREND(column)

-- Statistical Features
TS_TSFRESH_FEATURES(table, date_col, value_col, params)
TS_AUTOCORR(column, lag)

-- Advanced
TS_DIFFERENCE(column)
TS_LOG_TRANSFORM(column)

Evaluation Metrics (12)

-- Error Metrics
TS_MAE(actual_list, predicted_list)
TS_RMSE(actual_list, predicted_list)
TS_MAPE(actual_list, predicted_list)
TS_SMAPE(actual_list, predicted_list)
TS_MASE(actual_list, predicted_list, seasonal_period)

-- Bias Metrics
TS_ME(actual_list, predicted_list)
TS_BIAS(actual_list, predicted_list)

-- Goodness of Fit
TS_R_SQUARED(actual_list, predicted_list)

-- Interval Validation
TS_COVERAGE(actual_list, lower_list, upper_list)

-- Directional Accuracy
TS_DIRECTIONAL_ACCURACY(actual_list, predicted_list)

Data Preparation (12)

-- Cleaning
TS_FILL_GAPS(table, date_col, value_col, params)
TS_REMOVE_OUTLIERS(table, value_col, params)
TS_HANDLE_MISSING(table, date_col, value_col, params)

-- Quality Checks
TS_QUALITY_REPORT(table, date_col, value_col)
TS_VALIDATE_DATA(table, date_col, value_col, params)
TS_DETECT_DUPLICATES(table, date_col)

-- Transformation
TS_DESEASONALIZE(table, date_col, value_col, params)
TS_NORMALIZE(table, value_col, params)
TS_SCALE(table, value_col, params)

-- Aggregation
TS_AGGREGATE(table, date_col, value_col, frequency)
TS_RESAMPLE(table, date_col, value_col, new_frequency)

Multi-Series (GROUP BY)

All functions support GROUP BY for parallel processing:

-- Single series
SELECT * FROM TS_FORECAST('sales', 'date', 'amount', 'AutoETS', 30, {});

-- Multiple series (parallel)
SELECT * FROM TS_FORECAST_BY(
'sales',
'product_id', -- GROUP BY column
'date',
'amount',
'AutoETS',
30,
{}
);

Function Signatures

Core Forecasting

-- Single series forecast
TS_FORECAST(
table_name: VARCHAR,
date_col: VARCHAR,
value_col: VARCHAR,
model: VARCHAR,
horizon: INT,
params: MAP
)TABLE(
forecast_step INT,
date_col DATE/TIMESTAMP,
point_forecast DOUBLE,
lower_X DOUBLE,
upper_X DOUBLE,
model_name VARCHAR
)

-- Multiple series (with GROUP BY)
TS_FORECAST_BY(
table_name: VARCHAR,
group_col: VARCHAR,
date_col: VARCHAR,
value_col: VARCHAR,
model: VARCHAR,
horizon: INT,
params: MAP
)TABLE(
group_col_name VARCHAR,
forecast_step INT,
date_col DATE/TIMESTAMP,
point_forecast DOUBLE,
model_name VARCHAR
)

Common Parameters

Most functions accept a params MAP with optional settings:

-- Forecasting parameters
{
'seasonal_period': 7, -- For seasonal models
'confidence_level': 0.95, -- Prediction interval width
'return_insample': false, -- Include fitted values
'trend': 'linear', -- Trend type
'method': 'auto' -- Auto or manual selection
}

-- Detection parameters
{
'method': 'auto', -- Detection method
'max_periods': 5, -- Maximum seasonal periods to detect
'hazard_lambda': 250 -- Changepoint sensitivity
}

-- Data parameters
{
'max_gap': 7, -- Maximum gap to fill (days)
'multiplier': 3.0, -- Outlier threshold (std devs)
'method': 'linear' -- Imputation: linear, forward_fill, mean
}

Model Selection Guide

By Data Characteristics

Clean, trending data

  • ✅ AutoETS
  • ✅ Theta

Seasonal data (single period)

  • ✅ AutoETS
  • ✅ Holt-Winters

Multiple seasonality (hourly + daily + yearly)

  • ✅ TBATS
  • ✅ MSTL

Noisy, real-world data

  • ✅ MFLES

Sparse, intermittent demand

  • ✅ Croston
  • ✅ ADIDA

Short-term forecasting

  • ✅ Theta
  • ✅ SeasonalNaive

Long-term forecasting

  • ✅ AutoARIMA
  • ✅ TBATS

Limited data (< 60 observations)

  • ✅ SeasonalNaive
  • ✅ Theta

Typical Workflow

1. Data Exploration

TS_DETECT_SEASONALITY() - Find patterns
TS_DETECT_CHANGEPOINTS() - Find breaks
TS_STL_DECOMPOSITION() - Understand components

2. Data Preparation

TS_FILL_GAPS() - Handle missing dates
TS_REMOVE_OUTLIERS() - Clean anomalies
TS_QUALITY_REPORT() - Validate data

3. Feature Engineering

TS_LAG() - Create lag features
TS_ROLLING_MEAN() - Rolling statistics
TS_TSFRESH_FEATURES() - Auto feature extraction

4. Forecasting

TS_FORECAST() - Generate predictions
TS_FORECAST_BY() - Multiple series in parallel

5. Evaluation

TS_MAE() - Measure accuracy
TS_COVERAGE() - Check intervals
TS_MAPE() - Percentage error

6. Monitoring

Weekly: TS_QUALITY_REPORT()
Monthly: Retrain with TS_FORECAST()

Performance Characteristics

ModelSpeedMemoryBest For
Naive⚡⚡⚡MinimalBaseline
SeasonalNaive⚡⚡⚡MinimalSimple seasonal
ETS⚡⚡LowTrending + seasonal
Theta⚡⚡LowShort-term
Holt-Winters⚡⚡LowClear patterns
AutoETS⚡⚡LowAutomatic tuning
ARIMA🟢MediumComplex patterns
AutoARIMA🟡MediumAuto parameter selection
TBATS🟡MediumMultiple seasonality
MSTL🟡MediumVery complex seasonality
MFLES🟢MediumNoisy data, outliers
Croston⚡⚡LowSparse demand
DTW🟡HighSimilarity-based

Legend: ⚡⚡⚡ Instant | ⚡⚡ Fast | 🟢 Medium | 🟡 Slow


Example: Complete Query

-- Comprehensive forecast with all features
WITH prepared AS (
SELECT * FROM TS_FILL_GAPS('raw_sales', 'date', 'sales', {'method': 'linear'})
),
patterns AS (
SELECT 'Seasonality' as metric, is_seasonal::VARCHAR as value FROM TS_DETECT_SEASONALITY('prepared', 'date', 'sales', {})
),
forecast AS (
SELECT * FROM TS_FORECAST(
'prepared',
'date',
'sales',
'AutoETS',
30,
{'seasonal_period': 7, 'confidence_level': 0.95}
)
)
SELECT
forecast_step,
date_col as forecast_date,
ROUND(point_forecast, 2) as forecast,
ROUND(lower_95, 2) as lower,
ROUND(upper_95, 2) as upper
FROM forecast
WHERE forecast_step <= 7
ORDER BY forecast_step;

Next Steps

Choose a category to dive deeper:


API Cheat Sheet

-- Quick copy-paste templates

-- 1. Simple forecast
SELECT * FROM TS_FORECAST('table', 'date', 'value', 'AutoETS', 30, {});

-- 2. With seasonality
SELECT * FROM TS_FORECAST('table', 'date', 'value', 'AutoETS', 30, {'seasonal_period': 7});

-- 3. Multiple series
SELECT * FROM TS_FORECAST_BY('table', 'group_id', 'date', 'value', 'AutoETS', 30, {});

-- 4. With metrics
SELECT
TS_MAE(LIST(actual), LIST(forecast)) as MAE,
TS_RMSE(LIST(actual), LIST(forecast)) as RMSE,
TS_MAPE(LIST(actual), LIST(forecast)) as MAPE
FROM comparison;

-- 5. Pattern detection
SELECT * FROM TS_DETECT_SEASONALITY('table', 'date', 'value', {});

-- 6. Data quality
SELECT * FROM TS_QUALITY_REPORT('table', 'date', 'value');

Troubleshooting Quick Ref

ProblemSolution
"Not enough data"Need ≥60 observations, prefer ≥2 seasonal cycles
"Unknown model"Check spelling: 'AutoETS' not 'autoets'
"Null parameter"All params required: provide empty {} if unused
"Wrong output columns"Different models return different columns
"Slow forecasting"Use faster model (Naive, Theta) or TS_FORECAST_BY for parallelization
"Forecast all zeros"Data too sparse → use Croston or ADIDA
"No seasonality detected"May not exist, or need more data

Key Takeaways

  • ✅ 31 forecasting models for different situations
  • ✅ 8+ diagnostic functions for pattern detection
  • ✅ 12+ feature engineering functions
  • ✅ 12 evaluation metrics
  • ✅ Support for millions of series with GROUP BY
  • ✅ All functions documented with examples
  • ✅ Use Function Finder table above to start
🍪 Cookie Settings