Inspired by Learnings from Kaggle’s Forecasting Competitions by Casper Solheim Bojer & Jens Peder Meldgaard in 2020, I surveyed the top 3 solutions in the past kaggle time series competitions since 2014 to 2024.
If you find new time series competitions, please tell me by issues.
If you find this project helpful, please consider supporting it with a small donation!
Table of Contents
- List of competitions
- Top 3 most voted EDAs
- 1. Walmart Recruiting - Store Sales Forecasting
- 2. Walmart Recruiting II: Sales in Stormy Weather
- 3. Rossmann Store Sales
- 4. Predicting Red Hat Business Value
- 5. Web Traffic Time Series Forecasting
- 6. TalkingData AdTracking Fraud Detection Challenge
- 7. Corporación Favorita Grocery Sales Forecasting
- 8. Recruit Restaurant Visitor Forecasting
- 9. Google Analytics Customer Revenue Prediction
- 10. LANL Earthquake Prediction
- 11. Two Sigma: Using News to Predict Stock Movements
- 12. ASHRAE - Great Energy Predictor III
- 13. University of Liverpool - Ion Switching
- 14. M5 Forecasting - Accuracy
- 15. Jane Street Market Prediction
- 16. Acea Smart Water Analytics
- 17. Google Brain - Ventilator Pressure Prediction
- 18. Optiver Realized Volatility Prediction
- 19. G-Research Crypto Forecasting
- 20. Ubiquant Market Prediction
- 21. American Express - Default Prediction
- 22. GoDaddy - Microbusiness Density Forecasting
- Top 3 solutions
- 1. Walmart Recruiting - Store Sales Forecasting
- 2. Walmart Recruiting II: Sales in Stormy Weather
- 3. Rossmann Store Sales
- 4. Predicting Red Hat Business Value
- 5. Web Traffic Time Series Forecasting
- 6. TalkingData AdTracking Fraud Detection Challenge
- 7. Corporación Favorita Grocery Sales Forecasting
- 8. Recruit Restaurant Visitor Forecasting
- 9. Google Analytics Customer Revenue Prediction
- 10. LANL Earthquake Prediction
- 11. Two Sigma: Using News to Predict Stock Movements
- 12. ASHRAE - Great Energy Predictor III
- 13. University of Liverpool - Ion Switching
- 14. M5 Forecasting - Accuracy
- 15. Jane Street Market Prediction
- 16. Acea Smart Water Analytics
- 17. Google Brain - Ventilator Pressure Prediction
- 18. Optiver Realized Volatility Prediction
- 19. G-Research Crypto Forecasting
- 20. Ubiquant Market Prediction
- 21. American Express - Default Prediction
- 22. GoDaddy - Microbusiness Density Forecasting
To learn the characteristic of data given in each competition, EDA is one of the best way.
So top 3 most voted EDAs are listed.
- EDA and Store Sales Predictions using XGB
- Walmart prediction - (1) EDA with time and space
- Wallmart Sales - EDA - feat eng [Future Update]
NA
- Time Series Analysis and Forecasts with Prophet
- EDA and forecasting with RFRegressor_FINAL_UPDATED
- How Does New Competition Affect Sales?
- Wiki Traffic Forecast Exploration - WTF EDA
- Web Traffic Time Series Forecasting (EDA)
- Wikipedia Web traffic EDA
- TalkingData EDA plus time patterns
- TalkingData EDA and Class Imbalance
- TalkingData: EDA to Model Evaluation | LB: 0.9683
- Shopping for Insights - Favorita EDA
- Memory optimization and EDA on entire dataset
- Grocery EDA Dirty XGBoost, Arima,ETS,Prophet
- R EDA for GStore + GLM + KERAS + XGB
- Google Analytics EDA + LightGBM + Screenshots
- A Very Extensive GStore Exploratory Analysis
- Earthquakes FE. More features and samples
- LANL Earthquake EDA and Prediction
- Masters Final Project: EDA
- EDA, feature engineering and everything
- 👨🔬 Bird Eye 👀 view of Two Sigma + NN Approach
- Simple EDA - Two Sigma
- Back to (predict) the future - Interactive M5 EDA
- M5 Competition : EDA + Models 📈
- Time Series Forecasting-EDA, FE & Modelling📈
- Jane Street: EDA of day 0 and feature importance
- Jane_street_Extensive_EDA & PCA starter 📊⚡
- EDA / A Quant's Prespective
- Acea Smart Water: Full EDA & Prediction
- EDA: Quenching the Thirst for Insights
- Quick EDA | Reporting & Data Understanding
- Ventilator Pressure Prediction: EDA, FE and models
- 🔥EDA +FE+TabNet 🧠🧠[Weights and Biases]
- Ventilator Pressure: EDA and simple submission
- Optiver Realized: EDA for starter(English version)
- Optiver Realized Volatility Prediction - EDA
- Optiver; EDA XGBoost starter(日本語,Japanese)
- 📊 G-Research Plots + EDA 📊
- To The Moon 🚀 [G-Research Crypto Forecasting EDA]
- 📈📊[G-crypto] Interactive Dashboard + Indicators
- AMEX EDA which makes sense ⭐️⭐️⭐️⭐️⭐️
- AMEX Default Prediction EDA & LGBM Baseline
- American Express EDA
Pos | Methods | FE | Ensemble | Split | Code | Discussion |
---|---|---|---|---|---|---|
1 | Time Series Models: • STLF/ETS • STLF/ARIMA • Seasonal ARIMA • Fourier ARIMA |
• SVD preprocessing • Time series decomposition • Correlation-based NN pooling • Holiday period adjustment |
Average of 6 time series models: • 3 simple models • 3 advanced models |
Department-wise pooling across stores | 💻 | 🔊 |
2 | Statistical Methods: • ARIMA with STL decomposition • ETS with STL decomposition • Naive method with STL decomposition • UCM Machine Learning Methods: • Random Forest • Linear Regression • K Nearest Regression • Principal Component Regression |
• Used week of the year (1-52) • Filled missing values with 0 • Different holiday weighting for stores with high growth rate vs. stores without high growth |
Weighted average and trimmed mean of 6 methods* |
Individual models for each store- department combination (~3600 total) |
💻 | 🔊 |
3 | Simple year-over-year approach (no statistical or ML models): • Prior year sales as base predictor • Holiday week alignment • Weighted average of prior weeks • Store & department trend factors • Manual trend coefficients |
• Calendar date matching between years • Special handling for moving holidays • Store-specific trend factors • Department-specific trend factors • Minimal "warm day" adjustment |
None - single model with minor adjustments |
Individual predictions for each store- department combination |
💻 | 🔊 |
Pos | Methods | FE | Ensemble | Split | Code | Discussion |
---|---|---|---|---|---|---|
1 | PPR (Projection Pursuit Regression) for curve fitting + Lasso regression with vowpal wabbit | • Weekday, weekend flags, holiday flags • Item/store numbers • Date features (year, month, day) • Black Friday period flags • Weather features (precipitation>0.2, temperature departure>8 or <-8) • Moving average • Handling of consecutive zeros • Feature interactions (AB, AC, BM, CM, BK, CK) |
Single model | • Excluded item/stores with all zeros • Excluded data from 2013-12-25 • Excluded data where moving average was zero • Excluded dates with too many consecutive zeros on both sides |
💻 | 🔊 |
2 | - | - | - | - | NA | NA |
3 | - | - | - | - | NA | NA |
Pos | Methods | FE | Ensemble | Split | Code | Discussion |
---|---|---|---|---|---|---|
1 | NA | 🔊 | ||||
2 | NA | NA | ||||
3 | 💻 | 🔊 |
Pos | Methods | FE | Ensemble | Split | Code | Discussion |
---|---|---|---|---|---|---|
1 | Two-level approach: • 1st level: XGBoost classifier on aggregated data • 2nd level: XGBoost with leakage exploitation |
• TF-IDF features for categorical variables • Group level aggregations • Group_1 ID value • Number of activities/people in group • Min/max dates • First/last activity in timeline |
Average of: • Best LB model • Best CV model |
• Removed group_1=17304 (30% of train data) • Used Distinct operator for group_1's with 3000+ rows • 5-fold unstratified CV based on people file |
NA | 🔊 |
2 | Mixture of three models: • Logistic regression • kNN • XGBoost (based on public scripts) + Probabilistic interpolation model for groups |
• Histogram-based features (fuzzy binary encoding) • Date-based probabilistic interpolation • Leaderboard feedback |
Weighted average: • 0.4 (linear model) • 0.25 (kNN) • 0.25 (public script) • 0.1 (0.5 constant) |
NA | NA | 🔊 |
3 | XGBoost + extensive group_1 and date trick exploitation | • Modified leave-one-out encoding for char_10 • Group_1 as continuous feature • Time-based confidence levels for leak exploitation • Group-person level leak simulation for training data |
Post-processing: • 90% weight to most extreme prediction within a group • 10% weight to raw prediction • Rule-based overrides for ML shortcomings |
NA | NA | 🔊 |
Pos | Methods | FE | Ensemble | Split | Code | Discussion |
---|---|---|---|---|---|---|
1 | 💻 | 🔊 | ||||
2 | 💻 | 🔊 | ||||
3 | 💻 | 🔊 |
Pos | Methods | FE | Ensemble | Split | Code | Discussion |
---|---|---|---|---|---|---|
1 | NA | 🔊 | ||||
2 | NA | 🔊 | ||||
3 | NA | 🔊 |
Pos | Methods | FE | Ensemble | Split | Code | Discussion |
---|---|---|---|---|---|---|
1 | 💻 💻 |
🔊 | ||||
2 | NA | 🔊 | ||||
3 | NA | 🔊 |
Pos | Methods | FE | Ensemble | Split | Code | Discussion |
---|---|---|---|---|---|---|
1 | LightGBM | - | - | 💻 💻 |
NA | |
2 | - | - | - | NA | NA | |
3 | - | - | - | NA | NA |
Pos | Methods | FE | Ensemble | Split | Code | Discussion |
---|---|---|---|---|---|---|
1 | 💻 | 🔊 | ||||
2 | NA | 🔊 | ||||
3 | - | - | - | NA | NA |
Pos | Methods | FE | Ensemble | Split | Code | Discussion |
---|---|---|---|---|---|---|
1 | 💻 💻 |
🔊 | ||||
2 | NA | 🔊 | ||||
3 | NA | 🔊 |
NA
Pos | Methods | FE | Ensemble | Split | Code | Discussion |
---|---|---|---|---|---|---|
1 | CatBoost LightGBM MLP |
NA | 🔊 | |||
2 | XGBoost LightGBM Catboost Feed-forward Neural Network |
NA | 🔊 | |||
3 | CNN LightGBM Catboost |
NA | 🔊 |
Pos | Methods | FE | Ensemble | Split | Code | Discussion |
---|---|---|---|---|---|---|
1 | NA | 🔊 | ||||
2 | 💻 | 🔊 🔊 |
||||
3 | NA | 🔊 🔊 |
Pos | Methods | FE | Ensemble | Split | Code | Discussion |
---|---|---|---|---|---|---|
1 | LightGBM | NA | 💻 | |||
2 | LightGBM | NA | 💻 | |||
3 | DeepAR | NA | 💻 |
Pos | Methods | FE | Ensemble | Split | Code | Discussion |
---|---|---|---|---|---|---|
1 | XGBoost NN |
💻 | NA | |||
3 | 49 layers MLPs | No | 15 ensembles of NN | NA | 🔊 |
NA for Pos #2
NA
Pos | Methods | FE | Ensemble | Split | Code | Discussion |
---|---|---|---|---|---|---|
1 | LSTM Transformer |
single architecture | KFold | 💻 | 🔊 | |
2 | Stacked LSTM | ensembled by 7 models | KFold | NA | 🔊 | |
3 | Conv1d Stacked LSTM |
random seed average | Stratified K-Folds | NA | 🔊 |
Pos | Methods | FE | Ensemble | Split | Code | Discussion |
---|---|---|---|---|---|---|
1 | LightGBM MLP CNN |
equally weighd average | GroupKFold | 💻 | 🔊 | |
3 | LightGBM MLP TabNet |
equally weighd average | KFold | 💻 | 🔊 |
NA for Pos #2
Pos | Methods | FE | Ensemble | Split | Code | Discussion |
---|---|---|---|---|---|---|
1 | - | - | - | - | NA | NA |
2 | LightGBM | Single model | NA | 🔊 | ||
3 | LightGBM | Single model | 💻 💻 | 🔊 |
Pos | Methods | FE | Ensemble | Split | Code | Discussion |
---|---|---|---|---|---|---|
1 | LightGBM TABNET |
Average of (LGBM x 5 Folds) + (TABNET x 5 Folds) | PurgedGroupTimeSeries TimeSerieseSplit KFold |
NA | 🔊 | |
2 | LightGBM | - | Purged K-FOLD cross validation with embargo | NA | 🔊 | |
3 | 6 layers transformer | 5 seeds ensemble | - | NA | 🔊 |
Pos | Methods | FE | Ensemble | Split | Code | Discussion |
---|---|---|---|---|---|---|
1 | LightGBM GRU |
Ensembled by 4 models | 💻 | 🔊 | ||
2 | LGB/XGB/CTB NN |
NA | 🔊 | |||
3 | LGB/CTB | Ensembled by 3 models | NA | 🔊 |
Ongoing
Pos | Methods | FE | Ensemble | Split | Code | Discussion |
---|---|---|---|---|---|---|
1 | Linear regression | 💻 | 🔊 | |||
2 | ||||||
3 |