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
bats_damped_bc2306.022yes1048.2tbats , timemachines
thinking_precision_ensemble2300.035yes1.1timemachines
tsa_p1_d0_q12260.0183yes56.2statsmodels , timemachines
tsa_precision_d0_ensemble2249.026yes289.6statsmodels , timemachines
thinking_slow_and_fast2178.0737yes0.1timemachines
elo_fastest_univariate_precision_ensemble2127.0571yes1.9timemachines
slowly_moving_average2084.0901yes0.0timemachines
tsa_balanced_d0_ensemble2080.012yes2594.0statsmodels , timemachines
bats_damped_arma2029.011yes0.3tbats , timemachines
quick_aggressive_ema_ensemble2013.01147yes0.3timemachines
divine_univariate_hypocratic_slow2013.0126yes65.4divinity , timemachines
slow_balanced_ema_ensemble2010.0833yes0.3timemachines
rvr_slowly_hypocratic2000.0319yes0.2river , timemachines
tsa_slowly_hypocratic_d0_ensemble1966.042yes517.6statsmodels , timemachines
elo_faster_univariate_aggressive_ensemble1962.0548yes3.5timemachines
slow_precision_ema_ensemble1957.0618yes0.5timemachines
pmd_univariate1953.0492yes1.8pmdarima , timemachines
elo_fastest_residual_balanced_ensemble1943.0674yes1.2timemachines
thinking_slow_and_slow1927.0752yes0.1timemachines
sluggish_moving_average1916.01070yes0.0timemachines
gk_basic_skater1896.05yes3602.6greykite , timemachines
slow_aggressive_ema_ensemble1892.0932yes0.3timemachines
tsa_quickly_hypocratic_d0_ensemble1892.038yes711.5statsmodels , timemachines
tsa_p2_d0_q11890.0277yes183.6statsmodels , timemachines
bats_trendy_arma_bc1882.012yes1549.1tbats , timemachines
elo_faster_residual_balanced_ensemble1870.0884yes26.1timemachines
bats_damped_arma_bc1862.08yes1257.4tbats , timemachines
sk_autoarima1849.061yes235.0sktime , timemachines
orbit_lgt_121847.08yes33.1orbit-ml , timemachines
tsa_p3_d0_q11843.0123yes54.6statsmodels , timemachines
fbprophet_recursive1841.0157yes159.0prophet , timemachines
tsa_p1_d0_q01840.0413yes53.8statsmodels , timemachines
divine_univariate_hypocratic_fast1834.0115yes-0.1divinity , timemachines
bats_trendy1829.018yes317.8tbats , timemachines
divine_univariate1823.0160yes78.7divinity , timemachines
elo_faster_residual_aggressive_ensemble1804.0480yes22.1timemachines
sk_theta1796.0682yes1.5sktime , timemachines
bats_trendy_bc1795.021yes365.3tbats , timemachines
tsa_p2_d0_q01793.0352yes69.4statsmodels , timemachines
fbprophet_exogenous1792.0142yes186.2prophet , timemachines
bats_damped1784.09yes422.4tbats , timemachines
elo_fastest_residual_aggressive_ensemble1765.0865yes1.0timemachines
fbprophet_cautious1759.0157yes86.8prophet , timemachines
darts_autoarima1759.019yes166.8darts , timemachines
tsa_p3_d0_q01728.0176yes104.0statsmodels , timemachines
elo_fastest_univariate_balanced_ensemble1720.0773yes3.0timemachines
sk_ae1720.0490yes13.0sktime , timemachines
dlm_univariate_a1709.072no-1.0pydlm , timemachines
merlion_prophet1705.09yes61.9timemachines
rvr_quickly_hypocratic1695.0489yes0.4river , timemachines
elo_fastest_residual_precision_ensemble1693.0880yes1.0timemachines
tsa_aggressive_combined_ensemble1691.012yes199.0statsmodels , timemachines
tsa_balanced_combined_ensemble1690.014yes1238.9statsmodels , timemachines
bats_trendy_arma1684.013yes1439.6tbats , timemachines
bats_bc1683.09yes1020.0tbats , timemachines
precision_ema_ensemble1681.0709yes0.1timemachines
quick_precision_ema_ensemble1680.0624yes0.3timemachines
tsa_precision_theta_ensemble1671.0652yes3.8statsmodels , timemachines
merlion_arima1669.03yes18.2timemachines
balanced_ema_ensemble1658.0654yes0.2timemachines
elo_faster_residual_precision_ensemble1650.0425yes104.7timemachines
tsa_precision_combined_ensemble1640.016yes1161.3statsmodels , timemachines
darts_theta1634.031yes1.1darts , timemachines
fbprophet_exogenous_hypocratic1619.0103yes77.5prophet , timemachines
bats_arma1615.010yes475.8tbats , timemachines
thinking_fast_and_slow1608.0750yes0.1timemachines
sk_ae_add1601.0754yes6.3sktime , timemachines
pycrt_mean_816000yes-1.0pycaret , 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
pycrt_median_816000no-1.0pycaret , timemachines
pycrt_median_3_full16000no-5763.9pycaret , timemachines
fbprophet_chaser16000no-1.0prophet , timemachines
darts_nbeats16000no-1.0darts , timemachines
orbit_lgt_241599.02yes-0.1orbit-ml , timemachines
elo_faster_univariate_balanced_ensemble1598.0468yes5.1timemachines
darts_prophet1595.012no94.0darts , timemachines
pycrt_median_31590.02yes1918.1pycaret , timemachines
aggressive_ema_ensemble1588.0689yes0.2timemachines
pmd_exogenous_hypocratic1579.0601yes2.6pmdarima , timemachines
sk_ae_add_damped1567.0631yes10.9sktime , timemachines
quick_balanced_ema_ensemble1548.0686yes0.1timemachines
elo_faster_univariate_precision_ensemble1535.0394yes5.3timemachines
pycrt_mean_31535.01yes3111.9pycaret , timemachines
bats_arma_bc1518.08yes973.2tbats , timemachines
tsa_aggressive_d0_ensemble1517.036yes373.6statsmodels , timemachines
fbprophet_cautious_hypocratic1495.080yes81.3prophet , timemachines
darts_arima1493.052no8.0darts , timemachines
tsa_balanced_theta_ensemble1491.0716yes6.0statsmodels , timemachines
bats_fast1483.016yes1567.9tbats , timemachines
merlion_mses1474.06yes112.8timemachines
suc_quick_aggressive_ema_ensemble1455.026no5.9successor , timemachines
fbprophet_known1453.0146yes122.5prophet , timemachines
suc_tsa_p2_d0_q11450.028no7.2successor , timemachines
elo_fastest_univariate_aggressive_ensemble1445.0558yes1.9timemachines
darts_fft1432.017yes0.7darts , timemachines
thinking_fast_and_fast1428.0693yes0.1timemachines
rapidly_moving_average1422.0723yes0.0timemachines
dlm_univariate_b1422.078no-1.0pydlm , timemachines
fbprophet_univariate1421.0173yes164.8prophet , timemachines
fbprophet_univariate_hypocratic1417.0123yes134.6prophet , timemachines
quickly_moving_average1379.01139yes0.0timemachines
darts_four_theta1363.061no1.6darts , timemachines
rvr_balanced_ensemble1335.0425yes0.3river , timemachines
nprophet_p3_hypocratic1323.0233yes32.2neuralprophet , timemachines
suc_tsa_aggressive_d0_ensemble1317.04yes3.0successor , timemachines
darts_exp_smoothing1301.042no10.6darts , timemachines
tsa_aggressive_theta_ensemble1264.0617yes3.8statsmodels , timemachines
nprophet_p21256.0213yes43.0neuralprophet , timemachines
fbprophet_univariate_univariate_hypocratic1199.087yes248.4prophet , timemachines
nprophet_p2_hypocratic1131.0182yes54.3neuralprophet , timemachines
nprophet_p51111.0253yes40.3neuralprophet , timemachines
nprophet_p1_hypocratic1108.0207yes62.3neuralprophet , timemachines
nprophet_p5_hypocratic1086.0203yes43.0neuralprophet , timemachines
nprophet_p31079.0228yes54.2neuralprophet , timemachines
rvr_p1_d0_q01077.0398yes0.0river , timemachines
rvr_p2_d0_q01035.0878yes0.0river , timemachines
rvr_p8_d0_q01026.0379yes0.1river , timemachines
nprophet_p11012.0565yes55.3neuralprophet , timemachines
rvr_p5_d0_q0948.0544yes0.1river , timemachines
smdk_p5_d0_q3_n500_aggressive945.0150yes71.9simdkalman , timemachines
smdk_p5_d0_q3_n500927.0231yes58.8simdkalman , timemachines
nprophet_p8923.0177yes71.6neuralprophet , timemachines
nprophet_p8_hypocratic903.0188yes40.6neuralprophet , timemachines
fbprophet_exogenous_exogenous831.085yes229.3prophet , timemachines
smdk_p5_d0_q3_n1000_aggressive792.074no51.0simdkalman , timemachines
smdk_p5_d0_q3_n1000758.094no157.6simdkalman , timemachines
empirical_last_value722.0616yes0.0timemachines