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
elo_faster_residual_balanced_ensemble2258.0471yes15.2timemachines
tsa_precision_combined_ensemble2184.012yes2401.5statsmodels , timemachines
bats_damped_bc2120.026yes373.5tbats , timemachines
thinking_slow_and_fast2088.0686yes0.2timemachines
tsa_aggressive_combined_ensemble2086.044yes312.4statsmodels , timemachines
tsa_slowly_hypocratic_d0_ensemble2084.045yes160.1statsmodels , timemachines
merlion_arima2061.017yes33.8timemachines
tsa_precision_d0_ensemble2050.036yes171.6statsmodels , timemachines
tsa_balanced_d0_ensemble2036.019yes175.8statsmodels , timemachines
elo_faster_residual_precision_ensemble2029.0579yes10.1timemachines
elo_fastest_univariate_aggressive_ensemble1982.0624yes1.9timemachines
tsa_p3_d0_q11962.0112yes53.6statsmodels , timemachines
elo_fastest_univariate_balanced_ensemble1957.0675yes4.3timemachines
elo_fastest_univariate_precision_ensemble1952.0988yes1.8timemachines
elo_faster_univariate_aggressive_ensemble1952.0539yes6.0timemachines
tsa_p2_d0_q11952.0189yes134.1statsmodels , timemachines
sluggish_moving_average1945.0731yes0.0timemachines
elo_fastest_residual_balanced_ensemble1939.0597yes1.5timemachines
tsa_p2_d0_q01938.0400yes29.0statsmodels , timemachines
bats_trendy_arma_bc1938.012yes698.7tbats , timemachines
slow_precision_ema_ensemble1932.0708yes0.3timemachines
tsa_quickly_hypocratic_d0_ensemble1931.045yes134.1statsmodels , timemachines
pmd_univariate1887.0468yes4.8pmdarima , timemachines
divine_univariate_hypocratic_fast1879.048yes99.0divinity , timemachines
tsa_p1_d0_q11878.0221yes195.3statsmodels , timemachines
sk_autoarima1870.059yes141.6sktime , timemachines
fbprophet_cautious1865.034yes82.9prophet , timemachines
bats_trendy1863.015yes1914.5tbats , timemachines
elo_faster_univariate_balanced_ensemble1860.0425yes3.4timemachines
tsa_balanced_combined_ensemble1859.021yes403.4statsmodels , timemachines
gk_basic_skater1858.04no2144.6greykite , timemachines
bats_damped_arma1857.07yes891.7tbats , timemachines
bats_trendy_bc1830.015yes316.2tbats , timemachines
suc_tsa_aggressive_d0_ensemble1828.06yes7.0successor , timemachines
precision_ema_ensemble1822.0995yes0.2timemachines
tsa_p3_d0_q01818.0225yes23.3statsmodels , timemachines
elo_faster_residual_aggressive_ensemble1809.0441yes8.8timemachines
pmd_exogenous_hypocratic1800.0497yes4.3pmdarima , timemachines
elo_faster_univariate_precision_ensemble1800.0489yes2.6timemachines
bats_damped1786.017yes1060.7tbats , timemachines
slow_aggressive_ema_ensemble1779.0579yes0.3timemachines
fbprophet_exogenous_hypocratic1765.046yes81.1prophet , timemachines
bats_bc1760.032yes354.8tbats , timemachines
thinking_slow_and_slow1757.0663yes0.1timemachines
elo_fastest_residual_precision_ensemble1726.0710yes1.3timemachines
tsa_aggressive_d0_ensemble1719.011yes4426.6statsmodels , timemachines
elo_fastest_residual_aggressive_ensemble1711.0552yes0.7timemachines
darts_autoarima1708.017yes149.9darts , timemachines
smdk_p5_d0_q3_n5001695.0172yes44.6simdkalman , timemachines
bats_arma_bc1693.05yes4404.6tbats , timemachines
fbprophet_cautious_hypocratic1684.054yes140.9prophet , timemachines
divine_univariate1680.058yes71.1divinity , timemachines
quick_precision_ema_ensemble1667.0702yes0.1timemachines
slowly_moving_average1664.0916yes0.0timemachines
fbprophet_univariate1663.067yes166.4prophet , timemachines
slow_balanced_ema_ensemble1660.0966yes0.1timemachines
bats_arma1660.012yes452.1tbats , timemachines
fbprophet_univariate_hypocratic1656.044yes110.9prophet , timemachines
bats_trendy_arma1640.09yes348.6tbats , timemachines
fbprophet_exogenous1636.083yes99.1prophet , timemachines
divine_univariate_hypocratic_slow1633.086yes-0.1divinity , timemachines
thinking_fast_and_slow1621.0661yes0.1timemachines
aggressive_ema_ensemble1612.0872yes0.2timemachines
rvr_quickly_hypocratic1608.0384no0.4river , timemachines
pycrt_median_3_full16000yes-1.0pycaret , timemachines
pycrt_median_316000yes-19.8pycaret , timemachines
pycrt_mean_816000yes-22.9pycaret , timemachines
orbit_lgt_1216000yes0.0orbit-ml , timemachines
orbit_lgt_2416000yes-0.8orbit-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_mul16000no0.0sktime , timemachines
sk_ae_mul_damped16000no-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
darts_nbeats16000no-1.0darts , timemachines
bats_damped_arma_bc1594.06yes732.6tbats , timemachines
quick_balanced_ema_ensemble1575.0643yes0.1timemachines
sk_ae1569.0715yes5.0sktime , timemachines
quick_aggressive_ema_ensemble1568.01483yes0.6timemachines
fbprophet_univariate_univariate_hypocratic1561.048yes415.3prophet , timemachines
suc_quick_aggressive_ema_ensemble1553.029yes5.7successor , timemachines
tsa_aggressive_theta_ensemble1553.0964yes4.6statsmodels , timemachines
pycrt_mean_31552.02yes4836.3pycaret , timemachines
sk_ae_add1547.01238yes20.1sktime , timemachines
darts_four_theta1541.046yes1.7darts , timemachines
tsa_precision_theta_ensemble1537.0598yes2.3statsmodels , timemachines
quickly_moving_average1530.0732yes0.0timemachines
fbprophet_known1527.040yes76.2prophet , timemachines
darts_theta1523.040no2.7darts , timemachines
merlion_mses1500.03yes62.9timemachines
suc_tsa_p2_d0_q11494.030no6.9successor , timemachines
thinking_fast_and_fast1483.0657yes0.1timemachines
pycrt_median_81482.01no-20.1pycaret , timemachines
sk_theta1480.0645yes0.8sktime , timemachines
rvr_slowly_hypocratic1448.0337yes0.4river , timemachines
tsa_p1_d0_q01447.0420yes28.9statsmodels , timemachines
darts_fft1440.045yes0.7darts , timemachines
merlion_prophet1428.020yes43.8timemachines
darts_prophet1423.014no77.5darts , timemachines
sk_ae_add_damped1411.0825yes9.0sktime , timemachines
thinking_precision_ensemble1402.022yes0.6timemachines
tsa_balanced_theta_ensemble1389.0618yes2.9statsmodels , timemachines
darts_arima1388.042yes9.8darts , timemachines
darts_exp_smoothing1383.076yes23.4darts , timemachines
fbprophet_recursive1359.039yes81.8prophet , timemachines
bats_fast1339.024yes327.8tbats , timemachines
balanced_ema_ensemble1329.0873yes0.4timemachines
rvr_balanced_ensemble1312.0431yes0.3river , timemachines
rvr_p2_d0_q01256.0425no0.0river , timemachines
rvr_p1_d0_q01239.0555yes0.0river , timemachines
nprophet_p51220.0207yes31.5neuralprophet , timemachines
nprophet_p31140.0180yes54.0neuralprophet , timemachines
rapidly_moving_average1120.0818yes0.0timemachines
nprophet_p1_hypocratic1110.0223yes34.0neuralprophet , timemachines
nprophet_p81101.0223yes31.8neuralprophet , timemachines
smdk_p5_d0_q3_n10001059.086no52.6simdkalman , timemachines
fbprophet_exogenous_exogenous1049.030yes224.2prophet , timemachines
rvr_p5_d0_q01047.0361no0.0river , timemachines
nprophet_p8_hypocratic1044.0186yes73.6neuralprophet , timemachines
nprophet_p2_hypocratic1002.0223yes66.0neuralprophet , timemachines
nprophet_p3_hypocratic987.0190yes40.8neuralprophet , timemachines
empirical_last_value969.0483yes0.0timemachines
rvr_p8_d0_q0968.0363yes0.1river , timemachines
nprophet_p5_hypocratic964.0328yes35.9neuralprophet , timemachines
nprophet_p1955.0342yes31.8neuralprophet , timemachines
nprophet_p2799.0283yes32.4neuralprophet , timemachines
smdk_p5_d0_q3_n500_aggressive798.0183no26.5simdkalman , timemachines
smdk_p5_d0_q3_n1000_aggressive764.078no68.1simdkalman , timemachines