Function Finder & Quick Reference
Find the right function for your task. All 60+ AnoFox Forecast functions organized by category.
Quick Function Finder
| What I Need | Function | Category |
|---|---|---|
| Generate a forecast | TS_FORECAST | Forecasting |
| Forecast multiple series | TS_FORECAST_BY | Forecasting |
| Detect seasonality | TS_DETECT_SEASONALITY | Diagnostics |
| Find seasonal periods | TS_DETECT_SEASONALITY_ALL | Diagnostics |
| Detect structural breaks | TS_DETECT_CHANGEPOINTS | Diagnostics |
| Decompose series | TS_STL_DECOMPOSITION | Diagnostics |
| Multiple seasonality | TS_MSTL_DECOMPOSITION | Diagnostics |
| Fill time gaps | TS_FILL_GAPS | Data Preparation |
| Remove outliers | TS_REMOVE_OUTLIERS | Data Preparation |
| Extract features | TS_TSFRESH_FEATURES | Feature Engineering |
| Create lag features | TS_LAG | Feature Engineering |
| Rolling statistics | TS_ROLLING_MEAN | Feature Engineering |
| Fourier terms | TS_FOURIER | Feature Engineering |
| Measure accuracy | TS_MAE, TS_RMSE, TS_MAPE | Metrics |
| Check coverage | TS_COVERAGE | Metrics |
| Data quality report | TS_QUALITY_REPORT | Utilities |
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 SmoothingTS_FORECAST(..., 'ARIMA', ...)- ARIMATS_FORECAST(..., 'Theta', ...)- Theta modelTS_FORECAST(..., 'Holt', ...)- Holt linear trendTS_FORECAST(..., 'HoltWinters', ...)- Holt-WintersTS_FORECAST(..., 'SES', ...)- Simple Exponential Smoothing
Advanced Models
TS_FORECAST(..., 'TBATS', ...)- Multiple seasonalityTS_FORECAST(..., 'MSTL', ...)- Multiple Seasonal & TrendTS_FORECAST(..., 'MFLES', ...)- Robust to outliersTS_FORECAST(..., 'GARCH', ...)- Volatility modeling
Baseline Models
TS_FORECAST(..., 'Naive', ...)- Last valueTS_FORECAST(..., 'SeasonalNaive', ...)- Last yearTS_FORECAST(..., 'RandomWalkDrift', ...)- TrendTS_FORECAST(..., 'SeasonalWindowAverage', ...)- Average seasonalTS_FORECAST(..., 'SMA', ...)- Simple Moving Average
Intermittent Demand
TS_FORECAST(..., 'Croston', ...)- Sparse demandTS_FORECAST(..., 'CrostonOptimized', ...)- Optimized CrostonTS_FORECAST(..., 'CrostonSBA', ...)- Syntetos-BoylanTS_FORECAST(..., 'ADIDA', ...)- Complex intermittencyTS_FORECAST(..., 'IMAPA', ...)- Multiple aggregationTS_FORECAST(..., 'TSB', ...)- Trend + intermittent
Specialized
TS_FORECAST(..., 'DTW', ...)- Dynamic Time WarpingTS_FORECAST(..., 'AdIDA', ...)- Aggregate-DisaggregateTS_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
| Model | Speed | Memory | Best For |
|---|---|---|---|
| Naive | ⚡⚡⚡ | Minimal | Baseline |
| SeasonalNaive | ⚡⚡⚡ | Minimal | Simple seasonal |
| ETS | ⚡⚡ | Low | Trending + seasonal |
| Theta | ⚡⚡ | Low | Short-term |
| Holt-Winters | ⚡⚡ | Low | Clear patterns |
| AutoETS | ⚡⚡ | Low | Automatic tuning |
| ARIMA | 🟢 | Medium | Complex patterns |
| AutoARIMA | 🟡 | Medium | Auto parameter selection |
| TBATS | 🟡 | Medium | Multiple seasonality |
| MSTL | 🟡 | Medium | Very complex seasonality |
| MFLES | 🟢 | Medium | Noisy data, outliers |
| Croston | ⚡⚡ | Low | Sparse demand |
| DTW | 🟡 | High | Similarity-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:
- Forecasting Models — All 31 models detailed
- Feature Engineering — Lag, rolling, Fourier features
- Diagnostics — Seasonality, changepoints, outliers
- Metrics — 12 evaluation metrics explained
- Utilities — Data prep and helper functions
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
| Problem | Solution |
|---|---|
| "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