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_univariate_balanced_ensemble2425.0492yes12.6timemachines
tsa_p3_d0_q02365.0187yes29.2statsmodels , timemachines
tsa_aggressive_d0_ensemble2363.031yes232.8statsmodels , timemachines
orbit_lgt_122263.09yes49.8orbit-ml , timemachines
tsa_p2_d0_q12212.0467yes131.1statsmodels , timemachines
pmd_exogenous_hypocratic2137.0618yes3.4pmdarima , timemachines
sluggish_moving_average2133.0665yes0.0timemachines
elo_fastest_residual_balanced_ensemble2120.0649yes1.8timemachines
tsa_p1_d0_q12117.0207yes26.8statsmodels , timemachines
sk_autoarima2114.035yes138.0sktime , timemachines
tsa_p2_d0_q02113.0381yes19.2statsmodels , timemachines
elo_fastest_univariate_balanced_ensemble2107.0686yes1.9timemachines
tsa_aggressive_combined_ensemble2046.024yes150.0statsmodels , timemachines
darts_autoarima2042.016no247.0darts , timemachines
tsa_p3_d0_q12039.0129yes185.2statsmodels , timemachines
bats_trendy_arma_bc2025.012yes3875.6tbats , timemachines
tsa_precision_d0_ensemble2017.053yes336.0statsmodels , timemachines
bats_damped_arma2014.017yes955.7tbats , timemachines
tsa_balanced_d0_ensemble2002.023yes138.3statsmodels , timemachines
fbprophet_univariate_hypocratic1995.0139yes181.4prophet , timemachines
bats_damped_bc1994.016yes1251.5tbats , timemachines
suc_tsa_aggressive_d0_ensemble1988.016yes5.4successor , timemachines
thinking_slow_and_slow1982.0791yes0.1timemachines
elo_faster_residual_aggressive_ensemble1973.0382yes20.9timemachines
divine_univariate1966.0166yes-0.1divinity , timemachines
tsa_balanced_combined_ensemble1960.030yes500.7statsmodels , timemachines
tsa_precision_combined_ensemble1955.036yes615.3statsmodels , timemachines
precision_ema_ensemble1946.0708yes0.6timemachines
tsa_slowly_hypocratic_d0_ensemble1939.052yes196.9statsmodels , timemachines
bats_damped1936.012yes1401.2tbats , timemachines
elo_faster_univariate_aggressive_ensemble1921.0414yes2.6timemachines
slowly_moving_average1909.0916yes0.0timemachines
tsa_p1_d0_q01909.0413yes26.7statsmodels , timemachines
bats_arma_bc1906.015yes786.4tbats , timemachines
quick_balanced_ema_ensemble1905.0677yes0.4timemachines
elo_fastest_univariate_precision_ensemble1898.0880yes2.6timemachines
bats_trendy_bc1890.021yes308.8tbats , timemachines
elo_faster_residual_precision_ensemble1880.0510yes36.4timemachines
divine_univariate_hypocratic_fast1869.0122yes0.0divinity , timemachines
elo_fastest_residual_aggressive_ensemble1868.0515yes-3.1timemachines
bats_fast1855.025yes810.6tbats , timemachines
bats_bc1854.017yes918.1tbats , timemachines
slow_aggressive_ema_ensemble1842.0952yes1.0timemachines
sk_ae1835.0672yes14.6sktime , timemachines
elo_faster_residual_balanced_ensemble1810.0562yes54.5timemachines
tsa_precision_theta_ensemble1807.0584yes-2.9statsmodels , timemachines
balanced_ema_ensemble1795.0668yes0.5timemachines
thinking_precision_ensemble1789.024yes1.2timemachines
thinking_slow_and_fast1764.01158yes0.1timemachines
darts_prophet1754.025no94.7darts , timemachines
sk_ae_add_damped1748.0817yes15.8sktime , timemachines
thinking_fast_and_slow1746.0730yes0.1timemachines
divine_univariate_hypocratic_slow1744.084yes-0.1divinity , timemachines
rvr_slowly_hypocratic1743.0347yes0.6river , timemachines
bats_trendy_arma1727.012yes1309.7tbats , timemachines
slow_balanced_ema_ensemble1726.0701yes0.4timemachines
bats_damped_arma_bc1722.09yes653.9tbats , timemachines
dlm_univariate_a1720.020no-1.0pydlm , timemachines
elo_fastest_univariate_aggressive_ensemble1714.0636yes-1.8timemachines
darts_arima1688.048no12.7darts , timemachines
elo_faster_univariate_precision_ensemble1672.0423yes-0.4timemachines
fbprophet_univariate1642.0148yes76.4prophet , timemachines
fbprophet_exogenous_hypocratic1642.0130yes76.6prophet , timemachines
quick_precision_ema_ensemble1638.0930yes0.7timemachines
slow_precision_ema_ensemble1624.0651yes0.4timemachines
tsa_quickly_hypocratic_d0_ensemble1623.042yes325.1statsmodels , timemachines
darts_fft1622.045no0.7darts , timemachines
aggressive_ema_ensemble1605.0638yes0.3timemachines
sk_ae_add1605.01029yes12.8sktime , timemachines
darts_four_theta1602.039no1.2darts , timemachines
suc_quick_aggressive_ema_ensemble1602.041no8.6successor , timemachines
orbit_lgt_2416000yes-42.0orbit-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_mul16000no-0.1sktime , timemachines
sk_ae_mul_damped16000no-0.1sktime , timemachines
rvr_p3_d0_q016000no-1.0river , timemachines
rvr_aggressive_ensemble16000no-1.0river , timemachines
pycrt_mean_316000no-0.6pycaret , timemachines
pycrt_mean_816000no-0.7pycaret , timemachines
pycrt_median_3_full16000no-1.0pycaret , timemachines
pycrt_median_316000no-1.7pycaret , timemachines
darts_nbeats16000no-1.0darts , timemachines
fbprophet_cautious_hypocratic1597.088yes76.4prophet , timemachines
quickly_moving_average1597.01051yes0.0timemachines
pmd_univariate1577.0541yes3.4pmdarima , timemachines
fbprophet_known1575.0116yes174.7prophet , timemachines
bats_arma1551.011yes1459.5tbats , timemachines
elo_fastest_residual_precision_ensemble1544.0739yes1.7timemachines
merlion_arima1539.016yes36.4timemachines
suc_tsa_p2_d0_q11539.041no8.7successor , timemachines
fbprophet_recursive1538.0101yes81.1prophet , timemachines
sk_theta1533.0691yes0.8sktime , timemachines
dlm_univariate_b1530.015no-1.0pydlm , timemachines
darts_theta1528.036no1.2darts , timemachines
pycrt_median_81524.02no-1.6pycaret , timemachines
fbprophet_cautious1519.0115yes164.0prophet , timemachines
merlion_prophet1496.024yes35.1timemachines
tsa_balanced_theta_ensemble1432.0648yes2.8statsmodels , timemachines
bats_trendy1403.014yes1065.8tbats , timemachines
rapidly_moving_average1396.0777yes0.1timemachines
tsa_aggressive_theta_ensemble1308.0889yes2.9statsmodels , timemachines
quick_aggressive_ema_ensemble1305.01170yes0.4timemachines
rvr_quickly_hypocratic1284.0442yes0.4river , timemachines
gk_basic_skater1256.010yes4080.3greykite , timemachines
rvr_p2_d0_q01250.0459yes0.0river , timemachines
darts_exp_smoothing1232.078no10.4darts , timemachines
fbprophet_exogenous1229.0122yes123.6prophet , timemachines
fbprophet_exogenous_exogenous1164.099yes247.8prophet , timemachines
nprophet_p21158.0184yes48.0neuralprophet , timemachines
thinking_fast_and_fast1058.0723yes0.1timemachines
fbprophet_univariate_univariate_hypocratic1055.0106yes260.3prophet , timemachines
nprophet_p31027.0258yes59.1neuralprophet , timemachines
rvr_balanced_ensemble965.0470yes0.5river , timemachines
nprophet_p8954.0206yes76.3neuralprophet , timemachines
nprophet_p3_hypocratic945.0203yes48.1neuralprophet , timemachines
rvr_p1_d0_q0936.0550yes0.0river , timemachines
rvr_p8_d0_q0927.0377yes0.0river , timemachines
rvr_p5_d0_q0917.0340yes0.0river , timemachines
empirical_last_value903.0652yes0.0timemachines
merlion_mses879.015yes111.7timemachines
nprophet_p5_hypocratic848.0224yes70.9neuralprophet , timemachines
nprophet_p8_hypocratic795.0214yes68.7neuralprophet , timemachines
nprophet_p5790.0206yes64.5neuralprophet , timemachines
nprophet_p2_hypocratic757.0177yes63.4neuralprophet , timemachines
nprophet_p1732.0165yes71.2neuralprophet , timemachines
nprophet_p1_hypocratic708.0208yes72.5neuralprophet , timemachines
smdk_p5_d0_q3_n1000_aggressive686.024yes126.3simdkalman , timemachines
smdk_p5_d0_q3_n500_aggressive620.0153yes76.2simdkalman , timemachines
smdk_p5_d0_q3_n1000372.029yes127.2simdkalman , timemachines
smdk_p5_d0_q3_n500130.0204yes83.0simdkalman , timemachines