Track your progress. Sign in, or start with What makes time series different
Forecaster
Build and evaluate forecasts in R with ETS, ARIMA, regression and machine learning models. Finish it and you can produce and validate forecasts for temporal data.
Curriculum structure
01Time series foundations8 lessons02Decomposition and features6 lessons03The forecasting toolbox6 lessons04Time series regression6 lessons05Exponential smoothing (ETS)6 lessons06ARIMA and seasonal ARIMA7 lessons07Dynamic regression and complex seasonality6 lessons08State space models and the Kalman filter7 lessons09Spectral and frequency-domain analysis5 lessons10Volatility modeling: ARCH and GARCH6 lessons11Multivariate time series6 lessons12Hierarchical and grouped forecasting5 lessons13Machine learning and deep forecasting7 lessons14Intervention, causal impact and anomaly detection5 lessons15The expert edge: forecasting like a pro7 lessons16Production forecasting6 lessons
Full curriculum
01Time series foundationsRead a series and produce honest baseline forecasts.8 lessons, 1 free
01.01What makes time series differentSee why treating time series data like a random sample breaks your assumptions.Free01.02Tidy temporal data with tsibbleTurn a plain data frame into a tsibble and fix its missing dates.Pro01.03What a time series says before you model itRead a series's level, trend, season, cycle and noise before you model it.Pro01.04EDA for time seriesThe plots-first checklist for spotting outliers, breaks and gaps before you model.Pro01.05Seasonal, subseries and lag plotsSee whether your season is stable, drifting, or hiding real dependence.Pro01.06Autocorrelation and the ACFTell trend, season, and pure noise apart by reading one ACF plot.Pro01.07Train and test splits for temporal dataSee why a random split leaks the future, and how to fix it.Pro01.08The benchmark forecasts every model must beatSee why every fancier forecast has to beat a plain benchmark first.Pro
02Decomposition and featuresSeparate a series into parts and quantify its behavior.6 lessons, 1 free
02.01Moving averages and classical decompositionLearn how a moving average becomes the trend line inside every seasonal decomposition.Free02.02STL decomposition in practiceHow to choose STL's windows and settings so a real decomposition holds up.Pro02.03Seasonal adjustment with X-13 and STLTurn a raw monthly jump into the seasonally adjusted number that actually matters.Pro02.04Box-Cox and variance-stabilizing transformsPick a transform so a seasonal swing that keeps growing stops breaking the model.Pro02.05Calendar and population adjustmentsHow much of a rising trend is genuine once calendar effects are removed?Pro02.06Feature extraction with feastsTurn twenty time series into numbers you can compare and act on.Pro
03The forecasting toolboxEvaluate forecasts the way professionals do.6 lessons, 1 free
03.01Fitted values, residuals and innovationsSee why a model's fitted line is not proof it can forecast.Free03.02Residual diagnostics and the Ljung-Box testTest whether a fitted model's residuals are really white noise.Pro03.03Forecast distributions and prediction intervalsSee what an 80 percent forecast interval means, and why it widens over time.Pro03.04Point forecasts versus the whole distributionLearn which single number your stock decision actually needs from a forecast.Pro03.05Time-series cross-validation with rolling originsSee why scoring a forecasting method on many rolling origins beats trusting one split.Pro03.06Accuracy metrics: MASE, RMSSE and pinball lossSee why MASE, RMSSE and pinball loss score a forecast more fairly than RMSE.Pro
04Time series regressionForecast with trend, season and external drivers.6 lessons, 1 free
04.01Fitting a trend line with TSLMFit a straight trend line through your data and read what the slope means.Free04.02Trend and seasonal dummy variablesRead seasonal coefficients correctly, avoid the dummy trap, and fit trends that bend.Pro04.03Fourier terms for seasonalityModel a full year's seasonal swing with two numbers, not eleven dummy columns.Pro04.04Lagged predictors, calendar effects and holiday dummiesAdd lagged spend and calendar effects, then forecast ex-ante, ex-post and by scenario.Pro04.05Selecting predictors with cross-validationCompare adjusted R-squared, AICc, BIC and cross-validated error to actually pick a model.Pro04.06Spurious regression and how to avoid itHow two completely unrelated trending series can look strongly related, and the fix.Pro
05Exponential smoothing (ETS)Pick and fit the right smoothing model.6 lessons, 1 free
05.01Simple exponential smoothingForecast a series with no trend by weighting recent years more than old ones.Free05.02Holt's linear trend and the damped trendAdd a trend to your forecast, then stop it from climbing forever.Pro05.03Holt-Winters seasonal smoothing, additive and multiplicativeTell whether your seasonal swings should add or multiply, then forecast them.Pro05.04The ETS taxonomy: what the three letters meanSee how the three ETS letters set both the model and its forecast uncertainty.Pro05.05How to let ETS() choose a model, and when to override itSee what an automatic model search actually compares, and when to override its pick.Pro05.06How to forecast from a fitted ETS model, and check whether it beats the baselinesTurn a fitted ETS model into a forecast, then check it beats simple baselines.Pro
06ARIMA and seasonal ARIMAIdentify, fit and diagnose (S)ARIMA models.7 lessons, 1 free
06.01Testing whether a series is stationary with KPSSTest whether a series is stationary before you fit an ARIMA model on it.Free06.02Removing trend and season with differencingRemove a trend and a season from a real series with two differences.Pro06.03Reading the ACF and PACF to tell AR from MATell an AR process from an MA process by reading two simple plots.Pro06.04Fitting a non-seasonal ARIMA model and reading its coefficientsFit an ARIMA model to real data and understand every coefficient it reports.Pro06.05Fitting and forecasting a seasonal ARIMA modelModel the yearly pattern an ordinary ARIMA cannot reach, and forecast it.Pro06.06Choosing between ARIMA and ETSWhy AICc can't compare ARIMA and ETS, and what to check instead.Pro06.07Automatic and manual ARIMA selectionWhen to trust an automatic model search, and when a manual order beats it.Pro
07Dynamic regression and complex seasonalityForecast with drivers and multiple seasonal cycles.6 lessons, 1 free
07.01Fitting a regression with ARIMA errorsFit a regression whose errors follow ARIMA, then forecast with real prediction intervals.Free07.02Fitting a dynamic harmonic regressionModel a season too long for seasonal ARIMA, then forecast it with Fourier terms.Pro07.03Fitting Fourier terms for two seasonal periodsSee a series with two seasonal cycles, then fit both with Fourier terms.Pro07.04Fitting a TBATS model for complex seasonalityFit one model that handles two seasonal cycles without hand-built Fourier terms.Pro07.05How Prophet fits trend, seasonality and holidaysHow Prophet splits demand into trend, season and holiday effects, and where it loses.Pro07.06Lagged predictors, transfer functions, and forecasting the predictor firstChoose how many lags an effect needs, then forecast the predictor before the outcome.Pro
08State space models and the Kalman filterModel series as evolving hidden states.7 lessons, 1 free
08.01An observed series as a noisy view of a hidden stateWhy ETS and ARIMA agree, and why missing years don't break the fit.Free08.02The predict-then-update loop inside the Kalman filterWork the Kalman filter's predict and update steps by hand on real data.Pro08.03Local level and local linear trend modelsHow a signal-to-noise ratio decides whether a fitted level tracks or copies your data.Pro08.04Level, slope, seasonal and irregular in one fitted modelSplit a series into level, slope, season and noise, then forecast ahead.Pro08.05A posterior forecast band instead of one fitted lineSee how putting priors on a forecast model turns one guess into a range.Pro08.06Dynamic linear models: a coefficient that drifts over timeSee a regression coefficient recovered as it drifts instead of staying fixed.Pro08.07Choosing between a rolling window and a state space filterSee a coefficient that changed mid-series recovered by a rolling window and a filter.Pro
09Spectral and frequency-domain analysisSee a series through its frequencies.5 lessons, 1 free
09.01The frequency domain and the periodogramSee a series as a sum of waves, then find its real cycles.Free09.02Estimating the spectral densitySmooth a jagged periodogram into a reliable spectral density estimate, and know its limits.Pro09.03Low-pass, high-pass and band-pass filteringSee which frequencies a filter keeps, and the delay a real-time one costs.Pro09.04Detecting hidden periodicitiesTest whether a periodogram peak is real, and avoid the aliasing trap.Pro09.05Wavelets for non-stationary signalsSee how a wavelet tracks a cycle length that keeps changing over time.Pro
10Volatility modeling: ARCH and GARCHModel changing variance in financial and risk series.6 lessons, 1 free
10.01Conditional heteroskedasticity and volatility clusteringWhy return volatility comes in runs, and what that does to forecast intervals.Free10.02ARCH ModelsHow to model a return series whose variance depends on recent shocks.Pro10.03The GARCH family of volatility modelsHow GARCH models let volatility change over time, and how to read the fit.Pro10.04Fitting GARCH in RHow to fit GARCH in R and test whether the model describes your data.Pro10.05Forecasting volatility and Value at RiskHow to forecast volatility, turn it into Value at Risk and test the result.Pro10.06Multivariate volatility and DCC-GARCHHow correlations between assets change over time, and what that does to portfolio risk.Pro
11Multivariate time seriesModel several interacting series together.6 lessons, 1 free
11.01Fitting a vector autoregression (VAR) to two related seriesForecast two related series together, and check whether each one helps predict the other.Free11.02Choosing the Lag OrderHow far back a VAR should look, and how to check the choice.Pro11.03Testing Granger causality between two seriesTest whether one series helps forecast another, and what the result does not prove.Pro11.04Tracing a shock through a VAR with impulse responsesTrace one shock through a VAR, and see why variable ordering changes the answer.Pro11.05Cointegration and the VECMTell a genuine long-run link between two prices from a spurious one.Pro11.06Forecasting multiple related seriesFind out when forecasting related series together beats forecasting each one alone.Pro
12Hierarchical and grouped forecastingMake forecasts that add up across a hierarchy.5 lessons, 1 free
12.01Hierarchical and grouped time seriesHow the structure of your series decides which forecasts can add up.Free12.02Bottom-up, top-down and middle-outThree ways to make forecasts add up, and what each one costs in accuracy.Pro12.03Optimal reconciliation with MinTMake forecasts add up across a hierarchy while keeping the total error variance low.Pro12.04Reconciliation with fabletoolsHow to make forecasts at every level of a hierarchy add up.Pro12.05Coherent forecasts finance can plan againstHow to make regional and national forecasts add up in one plan.Pro
13Machine learning and deep forecastingReach for ML and neural models when the data demands it.7 lessons, 1 free
13.01One global model across many seriesWhen one model for many series forecasts better than a model for each.Free13.02Machine Learning Forecasting with modeltimeHow to check whether a machine learning forecast beats ARIMA and a naive baseline.Pro13.03Boosted Trees for ForecastingWhy boosted trees flatten a trend, and how to forecast around it.Pro13.04Forecasting with a neural network using NNETARHow a small neural network forecasts a series, and when it beats ETS.Pro13.05How DeepAR, N-BEATS and N-HiTS forecastHow three deep forecasters differ, and how to check them against a naive benchmark.Pro13.06How a Temporal Fusion Transformer forecastsWhat a Temporal Fusion Transformer actually attends to, and whether it's worth the cost.Pro13.07Bagging and combining forecastsWhy averaging several forecasts usually beats picking the single best model.Pro
14Intervention, causal impact and anomaly detectionMeasure the effect of an event and catch the unexpected.5 lessons, 1 free
14.01Intervention analysis for a known eventCode a known-date event as a regressor, then test if its effect is real.Free14.02Estimating an event's effect with a counterfactual forecastBuild the counterfactual that tells you what would have happened without the event.Pro14.03Finding changepoints when the date is unknownFind exactly when a series changed, even without a known date.Pro14.04Detecting anomalies and outliers in a seriesTell a single bad day from a bad stretch, and flag both correctly.Pro14.05Handling outliers in a time seriesFound an outlier with a known cause? Here's what to do about it next.Pro
15The expert edge: forecasting like a proTechniques behind forecasts that survive contact with reality.7 lessons, 1 free
15.01Rolling-origin backtests without leakageFind the four ways a backtest can overstate your forecasting skill.Free15.02Conformal prediction intervals for time seriesBuild a prediction interval that actually hits its target coverage, not an assumed spread.Pro15.03Forecasting intermittent demand with Croston, ADIDA and TSBForecast demand that's mostly zero, judged with a metric MAE gets wrong.Pro15.04Forecast value added against a naive baselineScore a forecasting model against the trivial benchmark it has to beat.Pro15.05Scaled errors and what the M competitions foundWhy MASE and RMSSE compare forecasts fairly, and what the M competitions proved.Pro15.06Judgmental adjustments and forecast governanceWhen to trust a human override on a forecast, and when not to.Pro15.07Checking prediction interval coverageMeasure whether your prediction interval covers what it claims, and fix it.Pro
16Production forecastingForecasts that refresh and hold up in production.6 lessons, 1 free
16.01Choosing how often to refit a forecast modelHow to set a refit cadence from measured drift, not habit.Free16.02Monitoring forecast accuracy over timeTrack forecast error by horizon and tell a bad week from a bad model.Pro16.03Diagnosing a drop in forecast accuracyTell a pipeline bug, a shifted input, a structural break, and decay apart.Pro16.04Calendar and event features for production forecastsWhy holiday features break between training and serving, and the fix.Pro16.05Forecasting thousands of series with fableHow one line of code fits a model to thousands of series at once.Pro16.06Deploying a forecasting serviceWhat it takes to let another system safely request a forecast.Pro