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
sk_autoarima2190.059yes117.2sktime , timemachines
tsa_p2_d0_q12112.0588yes91.8statsmodels , timemachines
bats_trendy2107.026yes417.8tbats , timemachines
tsa_p3_d0_q02101.0343yes42.5statsmodels , timemachines
sk_ae_add_damped2067.01142yes10.4sktime , timemachines
elo_faster_residual_aggressive_ensemble2060.0885yes19.8timemachines
quick_precision_ema_ensemble2046.01223yes0.1timemachines
tsa_precision_d0_ensemble2037.046yes691.1statsmodels , timemachines
bats_damped_arma1995.018yes2210.4tbats , timemachines
orbit_lgt_121989.018yes40.3orbit-ml , timemachines
bats_trendy_bc1957.031yes827.0tbats , timemachines
quick_balanced_ema_ensemble1956.01232yes0.1timemachines
tsa_balanced_combined_ensemble1926.036yes620.6statsmodels , timemachines
tsa_balanced_d0_ensemble1910.023yes194.3statsmodels , timemachines
tsa_aggressive_combined_ensemble1896.012yes3501.2statsmodels , timemachines
bats_trendy_arma_bc1894.011yes1292.2tbats , timemachines
tsa_p2_d0_q01885.0751yes27.7statsmodels , timemachines
bats_bc1884.024yes832.9tbats , timemachines
quick_aggressive_ema_ensemble1883.02071yes0.1timemachines
thinking_slow_and_fast1876.01499yes0.0timemachines
thinking_precision_ensemble1871.093yes0.2timemachines
elo_faster_univariate_balanced_ensemble1868.0813yes1614.2timemachines
bats_arma_bc1859.07no4617.3tbats , timemachines
tsa_p3_d0_q11855.0238yes83.7statsmodels , timemachines
precision_ema_ensemble1849.01342yes0.1timemachines
tsa_p1_d0_q11843.0398yes70.2statsmodels , timemachines
elo_faster_residual_precision_ensemble1841.0708yes22.1timemachines
tsa_precision_theta_ensemble1834.01222yes9.7statsmodels , timemachines
elo_fastest_univariate_balanced_ensemble1816.01299yes2190.5timemachines
nprophet_p51815.0567yes47.5neuralprophet , timemachines
darts_autoarima1796.026no130.9darts , timemachines
tsa_balanced_theta_ensemble1792.01462yes3.6statsmodels , timemachines
bats_damped_bc1780.028yes547.5tbats , timemachines
slow_balanced_ema_ensemble1778.01492yes0.1timemachines
elo_faster_univariate_precision_ensemble1777.0863yes1590.9timemachines
bats_arma1761.013yes435.8tbats , timemachines
tsa_aggressive_theta_ensemble1758.01233yes4.8statsmodels , timemachines
elo_fastest_univariate_precision_ensemble1757.01070yes852.7timemachines
elo_fastest_residual_aggressive_ensemble1748.01826yes1.1timemachines
tsa_precision_combined_ensemble1741.029yes2240.6statsmodels , timemachines
darts_arima1735.0109no14.1darts , timemachines
aggressive_ema_ensemble1733.01372yes0.1timemachines
bats_trendy_arma1731.024yes766.1tbats , timemachines
dlm_univariate_a1719.061no-1.0pydlm , timemachines
elo_fastest_residual_precision_ensemble1712.01777yes1.7timemachines
thinking_slow_and_slow1708.01229yes0.1timemachines
fbprophet_univariate_hypocratic1704.0120yes144.3prophet , timemachines
rapidly_moving_average1697.01470yes0.0timemachines
darts_fft1687.0140no0.7darts , timemachines
elo_fastest_residual_balanced_ensemble1666.01382yes0.9timemachines
elo_faster_univariate_aggressive_ensemble1662.01072yes1369.5timemachines
slow_precision_ema_ensemble1662.01265yes0.1timemachines
slow_aggressive_ema_ensemble1659.01630yes0.1timemachines
bats_damped1659.025yes377.8tbats , timemachines
bats_fast1646.046yes1091.4tbats , timemachines
sk_theta1646.01317yes0.8sktime , timemachines
bats_damped_arma_bc1644.024yes1337.4tbats , timemachines
divine_univariate_hypocratic_slow1640.0149yes-0.1divinity , timemachines
merlion_prophet1639.018yes34.4timemachines
nprophet_p3_hypocratic1638.0478yes47.9neuralprophet , timemachines
elo_fastest_univariate_aggressive_ensemble1623.0890yes1586.7timemachines
sk_ae_add1619.01314yes13.6sktime , timemachines
thinking_fast_and_slow1618.01309yes0.1timemachines
pycrt_median_31617.02no1620.9pycaret , timemachines
merlion_mses1608.026yes103.1timemachines
nprophet_p31605.0415yes55.1neuralprophet , timemachines
nprophet_p1_hypocratic1602.0389yes36.0neuralprophet , timemachines
orbit_lgt_2416000yes-0.3orbit-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_damped16000no-0.1sktime , timemachines
sk_ae_mul16000no-0.1sktime , timemachines
rvr_p3_d0_q016000no-1.0river , timemachines
rvr_aggressive_ensemble16000no-1.0river , timemachines
pycrt_median_3_full16000no-6944.4pycaret , timemachines
fbprophet_chaser16000no-1.0prophet , timemachines
darts_nbeats16000no-1.0darts , timemachines
pycrt_median_81590.02yes4420.3pycaret , timemachines
elo_faster_residual_balanced_ensemble1582.01646yes23.1timemachines
tsa_aggressive_d0_ensemble1567.056yes663.2statsmodels , timemachines
balanced_ema_ensemble1565.01194yes0.1timemachines
darts_four_theta1555.0146no0.9darts , timemachines
merlion_arima1549.032yes19.8timemachines
divine_univariate1549.0230yes-0.1divinity , timemachines
darts_theta1533.0109no1.3darts , timemachines
pycrt_mean_81518.02yes4133.0pycaret , timemachines
sk_ae1518.01016yes12.6sktime , timemachines
nprophet_p21517.0501yes29.2neuralprophet , timemachines
smdk_p5_d0_q3_n1000_aggressive1512.0618yes58.4simdkalman , timemachines
darts_exp_smoothing1511.0162no10.3darts , timemachines
smdk_p5_d0_q3_n500_aggressive1490.0785yes13.8simdkalman , timemachines
empirical_last_value1486.01034yes0.0timemachines
fbprophet_cautious_hypocratic1479.0114yes160.5prophet , timemachines
divine_univariate_hypocratic_fast1478.0144yes-0.1divinity , timemachines
pmd_exogenous_hypocratic1472.0956yes22.9pmdarima , timemachines
pycrt_mean_31471.03no2470.0pycaret , timemachines
darts_prophet1459.046yes80.2darts , timemachines
fbprophet_cautious1453.0166yes207.6prophet , timemachines
nprophet_p8_hypocratic1444.0575yes47.7neuralprophet , timemachines
tsa_quickly_hypocratic_d0_ensemble1443.074yes501.5statsmodels , timemachines
thinking_fast_and_fast1400.01162yes0.0timemachines
dlm_univariate_b1399.045no-1.0pydlm , timemachines
quickly_moving_average1392.01815yes0.0timemachines
slowly_moving_average1384.01594yes0.0timemachines
rvr_p5_d0_q01382.01002yes0.1river , timemachines
nprophet_p2_hypocratic1381.0491yes35.9neuralprophet , timemachines
tsa_p1_d0_q01379.0791yes27.7statsmodels , timemachines
fbprophet_exogenous_hypocratic1379.0122yes160.2prophet , timemachines
fbprophet_recursive1376.0166yes177.9prophet , timemachines
fbprophet_exogenous1375.0174yes83.4prophet , timemachines
fbprophet_univariate_univariate_hypocratic1338.093yes530.5prophet , timemachines
nprophet_p81319.0448yes35.8neuralprophet , timemachines
nprophet_p11311.01065yes36.2neuralprophet , timemachines
fbprophet_exogenous_exogenous1287.093yes254.0prophet , timemachines
gk_basic_skater1281.012yes3557.3greykite , timemachines
fbprophet_known1273.0176yes251.3prophet , timemachines
rvr_quickly_hypocratic1270.01023yes0.4river , timemachines
nprophet_p5_hypocratic1267.0390yes47.2neuralprophet , timemachines
fbprophet_univariate1265.0222yes85.2prophet , timemachines
tsa_slowly_hypocratic_d0_ensemble1232.075yes245.6statsmodels , timemachines
sluggish_moving_average1206.01980yes0.0timemachines
rvr_p1_d0_q01175.0725yes0.0river , timemachines
suc_tsa_aggressive_d0_ensemble1136.07yes1.6successor , timemachines
rvr_balanced_ensemble1120.0848yes0.8river , timemachines
smdk_p5_d0_q3_n10001114.0547yes36.9simdkalman , timemachines
smdk_p5_d0_q3_n5001104.01209yes14.1simdkalman , timemachines
rvr_slowly_hypocratic1083.0636yes0.4river , timemachines
pmd_univariate1067.01039yes12.3pmdarima , timemachines
rvr_p2_d0_q01024.01580yes0.1river , timemachines
suc_quick_aggressive_ema_ensemble1003.0129no3.0successor , timemachines
suc_tsa_p2_d0_q1967.0135no1.8successor , timemachines
rvr_p8_d0_q0934.0661yes0.1river , timemachines