Time Series Forecasting — Modern Patterns & Production Best Practices
Modern Best Practices (December 2025):
- Treat time as a first-class axis: temporal splits, rolling backtests, and point-in-time correctness.
- Default to strong baselines (naive/seasonal naive) before complex models.
- Prevent leakage: feature windows and aggregations must use only information available at prediction time.
- Evaluate by horizon and segment; a single aggregate metric hides failures.
- Define retraining cadence and degraded modes (fallback model, last-known-good forecast).
This skill provides operational, copy-paste-ready workflows for forecasting with recent advances: TS-specific EDA, temporal validation, lag/rolling features, model selection, multi-step forecasting, backtesting, generative AI (Chronos, TimesFM), and production deployment with drift monitoring.
It focuses on hands-on forecasting execution, not theory.
When to Use This Skill
Claude should invoke this skill when the user asks for hands-on time series forecasting, e.g.:
- "Build a time series model for X."
- "Create lag features / rolling windows."
- "Help design a forecasting backtest."
- "Pick the right forecasting model for my data."
- "Fix leakage in forecasting."
- "Evaluate multi-horizon forecasts."
- "Use LLMs or generative models for TS."
- "Set up monitoring for a forecast system."
- "Implement LightGBM for time series."
- "Use transformer models (TimesFM, Chronos) for forecasting."
- "Apply temporal classification/survival modelling for event prediction."
If the user is asking about general ML modelling, deployment, or infrastructure, prefer:
- ai-ml-data-science - General data science workflows, EDA, feature engineering, evaluation
- ai-mlops - Model deployment, monitoring, drift detection, retraining automation
- ai-mlops - Security, privacy, governance for ML systems
If the user is asking about LLM/RAG/search, prefer:
- ai-llm - LLM fine-tuning, prompting, evaluation
- ai-rag - RAG pipeline design and optimization
- ai-rag - Search and retrieval systems
Quick Reference
| Task |
Tool/Framework |
Command |
When to Use |
| TS EDA & Decomposition |
Pandas, statsmodels |
seasonal_decompose(), df.plot() |
Identifying trend, seasonality, outliers |
| Lag/Rolling Features |
Pandas, NumPy |
df.shift(), df.rolling() |
Creating temporal features for ML models |
| Model Training (Tree-based) |
LightGBM, XGBoost |
lgb.train(), xgb.train() |
Tabular TS with seasonality, covariates |
| Deep Learning (Sequence models) |
Transformers, RNNs |
model.forecast() |
Long-term dependencies, complex patterns |
| Event forecasting |
Binary/time-to-event models |
Temporal labeling + rolling validation |
Sparse events and alerts |
| Backtesting |
Custom rolling windows |
for window in windows: train(), test() |
Temporal validation without leakage |
| Metrics Evaluation |
scikit-learn, custom |
mean_absolute_error(), MAPE, MASE |
Multi-horizon forecast accuracy |
| Production Deployment |
MLflow, Airflow |
Scheduled pipelines |
Automated retraining, drift monitoring |
Decision Tree: Choosing Time Series Approach
User needs time series forecasting for: [Data Type]
├─ Strong Seasonality?
│ ├─ Simple patterns? → LightGBM with seasonal features
│ ├─ Complex patterns? → LightGBM + Prophet comparison
│ └─ Multiple seasonalities? → Prophet or TBATS
│
├─ Long-term Dependencies (>50 steps)?
│ ├─ Transformers (TimesFM, Chronos) → Best for complex patterns
│ └─ RNNs/LSTMs → Good for sequential dependencies
│
├─ Event Forecasting (binary outcomes)?
│ └─ Temporal classification / survival modelling → validate with time-based splits
│
├─ Intermittent/Sparse Data (many zeros)?
│ ├─ Croston/SBA → Classical intermittent methods
│ └─ LightGBM with zero-inflation features → Modern approach
│
├─ Multiple Covariates?
│ ├─ LightGBM → Best with many features
│ └─ TFT/DeepAR → If deep learning needed
│
└─ Explainability Required (healthcare, finance)?
├─ LightGBM → SHAP values, feature importance
└─ Linear models → Most interpretable
Core Concepts (Vendor-Agnostic)
- Time axis: splits, features, and labels must respect time ordering and availability.
- Non-stationarity: seasonality, trend, and regime shifts are normal; monitor and retrain intentionally.
- Evaluation: rolling/expanding backtests; report horizon-wise and segment-wise performance.
- Operationalization: define retraining cadence, fallback models, and data freshness contracts.
- Data governance: treat time series as potentially sensitive; enforce access control, retention, and PII scrubbing in logs.
Implementation Practices (Tooling Examples)
- Build features with explicit time windows; store cutoff timestamps with each training run.
- Backtest with a standardized harness (rolling/expanding windows, horizon-wise metrics).
- Log production forecasts with metadata (model version, horizon, data cut) to enable debugging.
- Implement fallbacks (baseline model, last-known-good, “insufficient data” handling) for outages and anomalies.
Do / Avoid
Do
- Do start with naive/seasonal naive baselines and compare against learned models (Forecasting: Principles and Practice: https://otexts.com/fpp3/).
- Do backtest with rolling windows and preserve point-in-time correctness.
- Do monitor for data pipeline changes (missing timestamps, level shifts, calendar changes).
Avoid
- Avoid random splits for forecasting problems.
- Avoid features that use future information (future aggregates, leakage via target encoding).
- Avoid optimizing only aggregate metrics; always inspect horizon-wise errors and worst segments.
Navigation: Core Patterns
Time Series EDA & Data Preparation
- TS EDA Best Practices
- Frequency detection, missing timestamps, decomposition
- Outlier detection, level shifts, seasonality analysis
- Granularity selection and stability checks
Feature Engineering
- Lag & Rolling Patterns
- Lag features (lag_1, lag_7, lag_28 for daily data)
- Rolling windows (mean, std, min, max, EWM)
- Avoiding leakage, seasonal lags, datetime features
Model Selection
Forecasting Strategies
Validation & Evaluation
- Backtesting Patterns
- Rolling window backtest, expanding window
- Temporal train/validation split (no IID splits!)
- Horizon-wise metrics, segment-level evaluation
Generative & Advanced Models
- TS-LLM Patterns
- Chronos, TimesFM, Lag-Llama (Transformer models)
- Event forecasting patterns (temporal classification, survival modelling)
- Tokenization, discretization, trajectory sampling
Production Deployment
- Production Deployment Patterns
- Feature pipelines (same code for train/serve)
- Retraining strategies (time-based, drift-triggered)
- Monitoring (error drift, feature drift, volume drift)
- Fallback strategies, streaming ingestion, data governance
Navigation: Templates (Copy-Paste Ready)
Data Preparation
- TS EDA Template - Reproducible structure for time series analysis
- Resample & Fill Template - Handle missing timestamps and resampling
Feature Templates
- Lag & Rolling Features - Create temporal features for ML models
- Calendar Features - Business calendars, holidays, events
Model Templates
- Forecast Model Template - End-to-end forecasting pipeline (LightGBM, transformers, RNNs)
- Multi-Step Strategy - Direct, recursive, and seq2seq approaches
Evaluation Templates
- Backtest Template - Rolling window validation setup
- TS Metrics Template - MAPE, MAE, RMSE, MASE, pinball loss
Advanced Templates
- TS-LLM Template - Time series foundation model patterns and experimental approaches
Related Skills
For adjacent topics, reference these skills:
- ai-ml-data-science - EDA workflows, feature engineering patterns, model evaluation, SQLMesh transformations
- ai-mlops - Production deployment, monitoring, retraining pipelines
- ai-llm - Fine-tuning approaches applicable to time series LLMs (Chronos, TimesFM)
- ai-prompt-engineering - Prompt design patterns for time series LLMs
- data-sql-optimization - SQL optimization for time series data storage and retrieval
External Resources
See data/sources.json for curated web resources including:
- Classical methods (statsmodels, Prophet, ARIMA)
- Deep learning frameworks (PyTorch Forecasting, GluonTS, Darts, NeuralProphet)
- Transformer models (TimesFM, Chronos, Lag-Llama, Informer, Autoformer)
- Anomaly detection tools (PyOD, STUMPY, Isolation Forest)
- Feature engineering libraries (tsfresh, TSFuse, Featuretools)
- Production deployment (Kats, MLflow, sktime)
- Benchmarks and datasets (M5 Competition, Monash Time Series, UCI)
Usage Notes
For Claude:
- Activate this skill for hands-on forecasting tasks, feature engineering, backtesting, or production setup
- Start with Quick Reference and Decision Tree for fast guidance
- Drill into resources/ for detailed implementation patterns
- Use templates/ for copy-paste ready code
- Always check for temporal leakage (future data in training)
- Start with strong baselines; choose model family based on horizon, covariates, and latency/cost constraints
- Emphasize explainability for healthcare/finance domains
- Monitor for data distribution shifts in production
Key Principle: Time series forecasting is about temporal structure, not IID assumptions. Use temporal validation, avoid future leakage, and choose models based on horizon length and data characteristics.
1---2name: ai-ml-timeseries3description: Operational patterns, templates, and decision rules for time series forecasting (modern best practices): tree-based methods (LightGBM), deep learning (Transformers, RNNs), future-guided learning, temporal validation, feature engineering, generative TS (Chronos), and production deployment. Emphasizes explainability, long-term dependency handling, and adaptive forecasting.4---5
6# Time Series Forecasting — Modern Patterns & Production Best Practices
7
8**Modern Best Practices (December 2025)**:
9
10- Treat **time** as a first-class axis: temporal splits, rolling backtests, and point-in-time correctness.
11- Default to **strong baselines** (naive/seasonal naive) before complex models.
12- Prevent leakage: feature windows and aggregations must use only information available at prediction time.
13- Evaluate by **horizon** and **segment**; a single aggregate metric hides failures.
14- Define retraining cadence and degraded modes (fallback model, last-known-good forecast).
15
16This skill provides **operational, copy-paste-ready workflows** for forecasting with recent advances: TS-specific EDA, temporal validation, lag/rolling features, model selection, multi-step forecasting, backtesting, generative AI (Chronos, TimesFM), and production deployment with drift monitoring.
17
18It focuses on **hands-on forecasting execution**, not theory.
19
20---
21
22## When to Use This Skill
23
24Claude should invoke this skill when the user asks for **hands-on time series forecasting**, e.g.:
25
26- "Build a time series model for X."
27- "Create lag features / rolling windows."
28- "Help design a forecasting backtest."
29- "Pick the right forecasting model for my data."
30- "Fix leakage in forecasting."
31- "Evaluate multi-horizon forecasts."
32- "Use LLMs or generative models for TS."
33- "Set up monitoring for a forecast system."
34- "Implement LightGBM for time series."
35- "Use transformer models (TimesFM, Chronos) for forecasting."
36- "Apply temporal classification/survival modelling for event prediction."
37
38If the user is asking about **general ML modelling, deployment, or infrastructure**, prefer:
39
40- [ai-ml-data-science](../ai-ml-data-science/SKILL.md) - General data science workflows, EDA, feature engineering, evaluation
41- [ai-mlops](../ai-mlops/SKILL.md) - Model deployment, monitoring, drift detection, retraining automation
42- [ai-mlops](../ai-mlops/SKILL.md) - Security, privacy, governance for ML systems
43
44If the user is asking about **LLM/RAG/search**, prefer:
45
46- [ai-llm](../ai-llm/SKILL.md) - LLM fine-tuning, prompting, evaluation
47- [ai-rag](../ai-rag/SKILL.md) - RAG pipeline design and optimization
48- [ai-rag](../ai-rag/SKILL.md) - Search and retrieval systems
49
50---
51
52## Quick Reference
53
54| Task | Tool/Framework | Command | When to Use |
55|------|----------------|---------|-------------|
56| TS EDA & Decomposition | Pandas, statsmodels | `seasonal_decompose()`, `df.plot()` | Identifying trend, seasonality, outliers |
57| Lag/Rolling Features | Pandas, NumPy | `df.shift()`, `df.rolling()` | Creating temporal features for ML models |
58| Model Training (Tree-based) | LightGBM, XGBoost | `lgb.train()`, `xgb.train()` | Tabular TS with seasonality, covariates |
59| Deep Learning (Sequence models) | Transformers, RNNs | `model.forecast()` | Long-term dependencies, complex patterns |
60| Event forecasting | Binary/time-to-event models | Temporal labeling + rolling validation | Sparse events and alerts |
61| Backtesting | Custom rolling windows | `for window in windows: train(), test()` | Temporal validation without leakage |
62| Metrics Evaluation | scikit-learn, custom | `mean_absolute_error()`, MAPE, MASE | Multi-horizon forecast accuracy |
63| Production Deployment | MLflow, Airflow | Scheduled pipelines | Automated retraining, drift monitoring |
64
65---
66
67## Decision Tree: Choosing Time Series Approach
68
69```text
70User needs time series forecasting for: [Data Type]
71 ├─ Strong Seasonality?
72 │ ├─ Simple patterns? → LightGBM with seasonal features
73 │ ├─ Complex patterns? → LightGBM + Prophet comparison
74 │ └─ Multiple seasonalities? → Prophet or TBATS
75 │
76 ├─ Long-term Dependencies (>50 steps)?
77 │ ├─ Transformers (TimesFM, Chronos) → Best for complex patterns
78 │ └─ RNNs/LSTMs → Good for sequential dependencies
79 │
80 ├─ Event Forecasting (binary outcomes)?
81 │ └─ Temporal classification / survival modelling → validate with time-based splits
82 │
83 ├─ Intermittent/Sparse Data (many zeros)?
84 │ ├─ Croston/SBA → Classical intermittent methods
85 │ └─ LightGBM with zero-inflation features → Modern approach
86 │
87 ├─ Multiple Covariates?
88 │ ├─ LightGBM → Best with many features
89 │ └─ TFT/DeepAR → If deep learning needed
90 │
91 └─ Explainability Required (healthcare, finance)?
92 ├─ LightGBM → SHAP values, feature importance
93 └─ Linear models → Most interpretable
94```
95
96---
97
98## Core Concepts (Vendor-Agnostic)
99
100- **Time axis**: splits, features, and labels must respect time ordering and availability.
101- **Non-stationarity**: seasonality, trend, and regime shifts are normal; monitor and retrain intentionally.
102- **Evaluation**: rolling/expanding backtests; report horizon-wise and segment-wise performance.
103- **Operationalization**: define retraining cadence, fallback models, and data freshness contracts.
104- **Data governance**: treat time series as potentially sensitive; enforce access control, retention, and PII scrubbing in logs.
105
106## Implementation Practices (Tooling Examples)
107
108- Build features with explicit time windows; store cutoff timestamps with each training run.
109- Backtest with a standardized harness (rolling/expanding windows, horizon-wise metrics).
110- Log production forecasts with metadata (model version, horizon, data cut) to enable debugging.
111- Implement fallbacks (baseline model, last-known-good, “insufficient data” handling) for outages and anomalies.
112
113## Do / Avoid
114
115**Do**
116- Do start with naive/seasonal naive baselines and compare against learned models (Forecasting: Principles and Practice: https://otexts.com/fpp3/).
117- Do backtest with rolling windows and preserve point-in-time correctness.
118- Do monitor for data pipeline changes (missing timestamps, level shifts, calendar changes).
119
120**Avoid**
121- Avoid random splits for forecasting problems.
122- Avoid features that use future information (future aggregates, leakage via target encoding).
123- Avoid optimizing only aggregate metrics; always inspect horizon-wise errors and worst segments.
124
125## Navigation: Core Patterns
126
127### Time Series EDA & Data Preparation
128
129- **[TS EDA Best Practices](resources/ts-eda-best-practices.md)**
130 - Frequency detection, missing timestamps, decomposition
131 - Outlier detection, level shifts, seasonality analysis
132 - Granularity selection and stability checks
133
134### Feature Engineering
135
136- **[Lag & Rolling Patterns](resources/lag-rolling-patterns.md)**
137 - Lag features (lag_1, lag_7, lag_28 for daily data)
138 - Rolling windows (mean, std, min, max, EWM)
139 - Avoiding leakage, seasonal lags, datetime features
140
141### Model Selection
142
143- **[Model Selection Guide](resources/model-selection-guide.md)**
144 - Decision rules: Strong seasonality → LightGBM, Long-term → Transformers
145 - Benchmark comparison: LightGBM vs Prophet vs Transformers vs RNNs
146 - Explainability considerations for mission-critical domains
147
148- **[LightGBM TS Patterns](resources/lightgbm-ts-patterns.md)** *(2024-2025 best practices)*
149 - Why LightGBM excels: performance + efficiency + explainability
150 - Feature engineering for tree-based models
151 - Hyperparameter tuning for time series
152
153### Forecasting Strategies
154
155- **[Multi-Step Forecasting Patterns](resources/multistep-forecasting-patterns.md)**
156 - Direct strategy (separate models per horizon)
157 - Recursive strategy (feed predictions back)
158 - Seq2Seq strategy (Transformers, RNNs for long horizons)
159
160- **[Intermittent Demand Patterns](resources/intermittent-demand-patterns.md)**
161 - Croston, SBA, ADIDA for sparse data
162 - LightGBM with zero-inflation features (modern approach)
163 - Two-stage hurdle models, hierarchical Bayesian
164
165### Validation & Evaluation
166
167- **[Backtesting Patterns](resources/backtesting-patterns.md)**
168 - Rolling window backtest, expanding window
169 - Temporal train/validation split (no IID splits!)
170 - Horizon-wise metrics, segment-level evaluation
171
172### Generative & Advanced Models
173
174- **[TS-LLM Patterns](resources/ts-llm-patterns.md)**
175 - Chronos, TimesFM, Lag-Llama (Transformer models)
176 - Event forecasting patterns (temporal classification, survival modelling)
177 - Tokenization, discretization, trajectory sampling
178
179### Production Deployment
180
181- **[Production Deployment Patterns](resources/production-deployment-patterns.md)**
182 - Feature pipelines (same code for train/serve)
183 - Retraining strategies (time-based, drift-triggered)
184 - Monitoring (error drift, feature drift, volume drift)
185 - Fallback strategies, streaming ingestion, data governance
186
187---
188
189## Navigation: Templates (Copy-Paste Ready)
190
191### Data Preparation
192
193- **[TS EDA Template](templates/timeseries/template-ts-eda.md)** - Reproducible structure for time series analysis
194- **[Resample & Fill Template](templates/timeseries/template-resample-fill.md)** - Handle missing timestamps and resampling
195
196### Feature Templates
197
198- **[Lag & Rolling Features](templates/timeseries/template-lag-rolling.md)** - Create temporal features for ML models
199- **[Calendar Features](templates/timeseries/template-calendar-features.md)** - Business calendars, holidays, events
200
201### Model Templates
202
203- **[Forecast Model Template](templates/timeseries/template-forecast-model.md)** - End-to-end forecasting pipeline (LightGBM, transformers, RNNs)
204- **[Multi-Step Strategy](templates/timeseries/template-multistep-strategy.md)** - Direct, recursive, and seq2seq approaches
205
206### Evaluation Templates
207
208- **[Backtest Template](templates/timeseries/template-backtest.md)** - Rolling window validation setup
209- **[TS Metrics Template](templates/timeseries/template-ts-metrics.md)** - MAPE, MAE, RMSE, MASE, pinball loss
210
211### Advanced Templates
212
213- **[TS-LLM Template](templates/timeseries/template-ts-llm.md)** - Time series foundation model patterns and experimental approaches
214
215---
216
217## Related Skills
218
219For adjacent topics, reference these skills:
220
221- **[ai-ml-data-science](../ai-ml-data-science/SKILL.md)** - EDA workflows, feature engineering patterns, model evaluation, SQLMesh transformations
222- **[ai-mlops](../ai-mlops/SKILL.md)** - Production deployment, monitoring, retraining pipelines
223- **[ai-llm](../ai-llm/SKILL.md)** - Fine-tuning approaches applicable to time series LLMs (Chronos, TimesFM)
224- **[ai-prompt-engineering](../ai-prompt-engineering/SKILL.md)** - Prompt design patterns for time series LLMs
225- **[data-sql-optimization](../data-sql-optimization/SKILL.md)** - SQL optimization for time series data storage and retrieval
226
227---
228
229## External Resources
230
231See [data/sources.json](data/sources.json) for curated web resources including:
232
233- Classical methods (statsmodels, Prophet, ARIMA)
234- Deep learning frameworks (PyTorch Forecasting, GluonTS, Darts, NeuralProphet)
235- Transformer models (TimesFM, Chronos, Lag-Llama, Informer, Autoformer)
236- Anomaly detection tools (PyOD, STUMPY, Isolation Forest)
237- Feature engineering libraries (tsfresh, TSFuse, Featuretools)
238- Production deployment (Kats, MLflow, sktime)
239- Benchmarks and datasets (M5 Competition, Monash Time Series, UCI)
240
241---
242
243## Usage Notes
244
245**For Claude:**
246
247- Activate this skill for hands-on forecasting tasks, feature engineering, backtesting, or production setup
248- Start with [Quick Reference](#quick-reference) and [Decision Tree](#decision-tree-choosing-time-series-approach) for fast guidance
249- Drill into resources/ for detailed implementation patterns
250- Use templates/ for copy-paste ready code
251- Always check for temporal leakage (future data in training)
252- Start with strong baselines; choose model family based on horizon, covariates, and latency/cost constraints
253- Emphasize explainability for healthcare/finance domains
254- Monitor for data distribution shifts in production
255
256**Key Principle:** Time series forecasting is about temporal structure, not IID assumptions. Use temporal validation, avoid future leakage, and choose models based on horizon length and data characteristics.