Leaderboards

fasterfastestoverallresidual-k_001residual-k_002residual-k_003residual-k_005residual-k_008residual-k_013residual-k_021residual-k_034special-k_001special-k_002special-k_003special-k_005special-k_008special-k_013special-k_021special-k_034univariate-k_001univariate-k_002univariate-k_003univariate-k_005univariate-k_008univariate-k_013univariate-k_021univariate-k_034

Accuracy and Speed of Some Short Term Automated Time-Series Forecasting Approaches (Python Packages only)

The Elo Ratings in this table are produced transparently in the repo timeseries-elo-ratings and based on k-step ahead prediction duels using live time series data. See METHODOLOGY.md for interpretation of Elo ratings. The table named univariate-k_002 refers to 2-step ahead prediction, and so forth. Residual leaderboards use so-called z-streams (as explained in An Introduction to Z-Streams).

There is some motivation in the blog post Fast Python Time-Series Forecasting. All algorithms utilized here can be called the same way using the TimeMachines Python package. However, as indicated in the table, some of these draw an important part of their functionality (if not all) from other packages such as Facebook Prophet, Statsmodels TSA, Flux, PmdArima, Uber Orbit and more. Take relative performance with with a grain of salt, since many packages don't intend completely autonomous use and some are aimed at longer term seasonal forecasts. If you have a suggestion for a package or technique that should be included, please file an issue or, even better, add a skater and make a pull request. There is a guide for contributors and a long list of popular time-series packages.

Some of these methods are used in real-time to provide free prediction to anyone who publishes public data using a community API explained at microprediction.com. See the example crawlers folder for examples of algorithms calling the timemachines package. See the knowledge center or contributor guide for instructions on publishing live data that can influence these ratings.

NameRatingGamesActiveSecondsDependencies
tsa_p2_d0_q12279.0211yes62.7statsmodels , timemachines
bats_trendy_bc2087.010yes1367.2tbats , timemachines
tsa_aggressive_d0_ensemble2028.030yes295.4statsmodels , timemachines
bats_damped_arma_bc2007.021yes1207.7tbats , timemachines
elo_faster_univariate_aggressive_ensemble1991.0576yes9.1timemachines
elo_faster_univariate_balanced_ensemble1968.0432yes3.1timemachines
tsa_p1_d0_q11929.0168yes62.2statsmodels , timemachines
bats_arma1922.09yes420.0tbats , timemachines
tsa_balanced_combined_ensemble1906.023yes159.5statsmodels , timemachines
tsa_precision_d0_ensemble1892.036yes152.3statsmodels , timemachines
tsa_aggressive_combined_ensemble1886.022yes230.0statsmodels , timemachines
tsa_p3_d0_q11878.0119yes93.7statsmodels , timemachines
elo_faster_residual_precision_ensemble1867.0605yes3.4timemachines
pmd_exogenous_hypocratic1861.0492yes3.3pmdarima , timemachines
bats_damped_arma1847.015yes436.8tbats , timemachines
elo_faster_residual_aggressive_ensemble1843.0549yes4.3timemachines
tsa_balanced_d0_ensemble1834.017yes2724.3statsmodels , timemachines
bats_damped_bc1810.014yes1587.8tbats , timemachines
tsa_p3_d0_q01803.0381yes58.6statsmodels , timemachines
tsa_slowly_hypocratic_d0_ensemble1802.035yes2198.0statsmodels , timemachines
thinking_precision_ensemble1802.020yes0.6timemachines
tsa_aggressive_theta_ensemble1791.0953yes1.8statsmodels , timemachines
sk_ae1785.0682yes6.6sktime , timemachines
merlion_arima1782.010yes19.5timemachines
tsa_quickly_hypocratic_d0_ensemble1781.051yes144.0statsmodels , timemachines
balanced_ema_ensemble1778.0889yes0.0timemachines
fbprophet_cautious1778.041yes94.8prophet , timemachines
thinking_fast_and_slow1773.0661yes0.0timemachines
bats_trendy_arma_bc1757.011yes469.7tbats , timemachines
sk_ae_add_damped1748.0755yes6.3sktime , timemachines
slowly_moving_average1738.0896yes0.0timemachines
rvr_quickly_hypocratic1738.0433yes0.4river , timemachines
bats_trendy1738.033yes316.1tbats , timemachines
tsa_p2_d0_q01738.0359yes44.0statsmodels , timemachines
precision_ema_ensemble1735.01043yes0.1timemachines
sk_autoarima1735.047yes153.1sktime , timemachines
divine_univariate_hypocratic_fast1731.061yes91.4divinity , timemachines
tsa_p1_d0_q01730.0423yes13.7statsmodels , timemachines
elo_faster_univariate_precision_ensemble1726.0585yes19.2timemachines
divine_univariate1723.095yes-0.1divinity , timemachines
thinking_slow_and_fast1705.0645yes0.1timemachines
bats_damped1695.016yes803.2tbats , timemachines
bats_trendy_arma1693.09yes695.2tbats , timemachines
darts_autoarima1692.05yes418.9darts , timemachines
pmd_univariate1685.0475yes1.4pmdarima , timemachines
divine_univariate_hypocratic_slow1679.073yes0.0divinity , timemachines
elo_faster_residual_balanced_ensemble1678.0738yes7.0timemachines
sk_ae_add1674.01008yes5.5sktime , timemachines
tsa_precision_combined_ensemble1664.010yes221.6statsmodels , timemachines
darts_theta1659.049yes1.2darts , timemachines
tsa_precision_theta_ensemble1652.0553yes2.7statsmodels , timemachines
thinking_fast_and_fast1646.0666yes0.0timemachines
elo_fastest_residual_aggressive_ensemble1643.0533yes0.7timemachines
slow_precision_ema_ensemble1635.0626yes0.2timemachines
bats_arma_bc1634.010yes323.0tbats , timemachines
elo_fastest_residual_precision_ensemble1631.0738yes0.5timemachines
aggressive_ema_ensemble1631.0769yes0.1timemachines
smdk_p5_d0_q3_n5001622.0335yes40.3simdkalman , timemachines
suc_tsa_p2_d0_q11621.053yes4.5successor , timemachines
fbprophet_known1608.041yes78.4prophet , timemachines
elo_fastest_univariate_balanced_ensemble1606.0757yes1.6timemachines
pycrt_median_81602.02yes4135.5pycaret , timemachines
pycrt_mean_816000yes-1.0pycaret , timemachines
orbit_lgt_2416000yes0.0orbit-ml , timemachines
orbit_lgt_1216000yes-0.2orbit-ml , timemachines
regress_change_on_first_known16000no-1.0timemachines
tsa_p1_d1_q016000no-1.0statsmodels , timemachines
tsa_p2_d1_q016000no-1.0statsmodels , timemachines
tsa_p3_d1_q016000no-1.0statsmodels , timemachines
sk_ae_mul_damped16000no0.0sktime , timemachines
sk_ae_mul16000no-0.1sktime , timemachines
rvr_p3_d0_q016000no-1.0river , timemachines
rvr_aggressive_ensemble16000no-1.0river , timemachines
dlm_univariate_a16000no-1.0pydlm , timemachines
dlm_univariate_b16000no-1.0pydlm , timemachines
pycrt_median_3_full16000no-1.0pycaret , timemachines
darts_nbeats16000no-1.0darts , timemachines
slow_balanced_ema_ensemble1600.0844yes0.2timemachines
sluggish_moving_average1596.0767yes0.0timemachines
darts_arima1595.046no11.2darts , timemachines
elo_fastest_univariate_precision_ensemble1593.0990yes1.1timemachines
fbprophet_cautious_hypocratic1590.037yes77.4prophet , timemachines
fbprophet_exogenous_hypocratic1587.058yes121.2prophet , timemachines
fbprophet_recursive1578.056yes83.1prophet , timemachines
fbprophet_exogenous1574.0104yes83.1prophet , timemachines
suc_tsa_aggressive_d0_ensemble1573.011yes1.9successor , timemachines
elo_fastest_univariate_aggressive_ensemble1562.0681yes1.2timemachines
bats_bc1561.013no949.6tbats , timemachines
elo_fastest_residual_balanced_ensemble1556.0645yes0.6timemachines
quick_precision_ema_ensemble1528.0659yes0.2timemachines
rapidly_moving_average1525.0733yes0.0timemachines
tsa_balanced_theta_ensemble1523.0585yes4.9statsmodels , timemachines
rvr_balanced_ensemble1520.0425yes0.4river , timemachines
pycrt_median_31509.02yes1010.9pycaret , timemachines
gk_basic_skater1509.03yes1526.7greykite , timemachines
quick_balanced_ema_ensemble1500.0731yes0.2timemachines
sk_theta1494.0664yes0.6sktime , timemachines
pycrt_mean_31491.01yes1976.1pycaret , timemachines
fbprophet_univariate1488.092yes83.2prophet , timemachines
fbprophet_univariate_hypocratic1488.043yes80.4prophet , timemachines
darts_prophet1474.014yes75.5darts , timemachines
suc_quick_aggressive_ema_ensemble1464.046no4.5successor , timemachines
nprophet_p2_hypocratic1463.0301yes30.1neuralprophet , timemachines
darts_exp_smoothing1449.0109no9.7darts , timemachines
smdk_p5_d0_q3_n10001442.0228no28.7simdkalman , timemachines
slow_aggressive_ema_ensemble1437.0596yes0.2timemachines
merlion_prophet1433.012yes33.8timemachines
fbprophet_exogenous_exogenous1433.038yes242.7prophet , timemachines
darts_four_theta1428.045no1.5darts , timemachines
rvr_slowly_hypocratic1421.0331yes0.4river , timemachines
smdk_p5_d0_q3_n500_aggressive1416.0348yes32.9simdkalman , timemachines
quickly_moving_average1407.0721yes0.0timemachines
nprophet_p3_hypocratic1394.0175yes38.4neuralprophet , timemachines
thinking_slow_and_slow1365.0659yes0.1timemachines
nprophet_p31342.0268yes40.0neuralprophet , timemachines
nprophet_p51337.0242yes30.4neuralprophet , timemachines
fbprophet_univariate_univariate_hypocratic1315.039yes231.2prophet , timemachines
merlion_mses1307.06yes49.8timemachines
nprophet_p81305.0212yes39.4neuralprophet , timemachines
smdk_p5_d0_q3_n1000_aggressive1303.0186yes46.7simdkalman , timemachines
nprophet_p11296.0507yes30.3neuralprophet , timemachines
quick_aggressive_ema_ensemble1286.01337yes0.2timemachines
nprophet_p21283.0278yes62.8neuralprophet , timemachines
bats_fast1247.014yes199.5tbats , timemachines
rvr_p1_d0_q01235.0512yes0.1river , timemachines
nprophet_p8_hypocratic1224.0242yes31.3neuralprophet , timemachines
darts_fft1196.042yes0.7darts , timemachines
rvr_p5_d0_q01175.0308no0.0river , timemachines
rvr_p8_d0_q01166.0320yes0.1river , timemachines
nprophet_p1_hypocratic1160.0285yes37.9neuralprophet , timemachines
empirical_last_value1123.0474yes0.0timemachines
nprophet_p5_hypocratic1021.0317yes37.4neuralprophet , timemachines
rvr_p2_d0_q0978.0412no0.0river , timemachines