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_q12514.01205yes73.3statsmodels , timemachines
tsa_balanced_d0_ensemble2278.026yes184.8statsmodels , timemachines
elo_fastest_residual_balanced_ensemble2243.01464yes0.9timemachines
tsa_p1_d0_q02190.0790yes27.7statsmodels , timemachines
tsa_p1_d0_q12185.0406yes44.6statsmodels , timemachines
sk_ae2183.01415yes16.7sktime , timemachines
tsa_precision_d0_ensemble2153.062yes727.2statsmodels , timemachines
tsa_aggressive_d0_ensemble2123.034yes383.5statsmodels , timemachines
quick_aggressive_ema_ensemble2116.03349yes0.1timemachines
precision_ema_ensemble2077.01902yes0.1timemachines
sk_autoarima2069.0134yes94.0sktime , timemachines
balanced_ema_ensemble2068.01708yes0.1timemachines
bats_damped2062.023yes1147.2tbats , timemachines
tsa_p3_d0_q12062.0164yes110.0statsmodels , timemachines
tsa_p2_d0_q02046.0549yes45.4statsmodels , timemachines
slow_precision_ema_ensemble2037.01259yes0.1timemachines
tsa_aggressive_combined_ensemble2034.023yes5620.4statsmodels , timemachines
bats_trendy_bc2021.031yes1301.7tbats , timemachines
merlion_arima1996.057yes38.6timemachines
aggressive_ema_ensemble1970.01564yes0.1timemachines
elo_fastest_residual_precision_ensemble1955.01479yes0.9timemachines
elo_fastest_residual_aggressive_ensemble1952.01152yes2.0timemachines
bats_damped_bc1940.042yes824.5tbats , timemachines
nprophet_p81930.0500yes36.5neuralprophet , timemachines
elo_fastest_univariate_precision_ensemble1909.01885yes4220.0timemachines
elo_faster_univariate_balanced_ensemble1908.0844yes1500.2timemachines
bats_arma1895.025yes1955.7tbats , timemachines
slow_aggressive_ema_ensemble1885.01202yes0.2timemachines
thinking_fast_and_slow1873.01183yes0.0timemachines
elo_faster_univariate_precision_ensemble1856.01154yes2576.4timemachines
elo_faster_residual_balanced_ensemble1850.01130yes30.8timemachines
fbprophet_univariate_hypocratic1837.071yes170.5prophet , timemachines
quick_balanced_ema_ensemble1831.01273yes0.1timemachines
tsa_aggressive_theta_ensemble1827.01759yes2.5statsmodels , timemachines
tsa_p3_d0_q01802.0426yes77.2statsmodels , timemachines
elo_faster_univariate_aggressive_ensemble1800.01068yes2507.5timemachines
bats_damped_arma1797.018yes2678.5tbats , timemachines
bats_arma_bc1793.021yes1883.5tbats , timemachines
elo_fastest_univariate_balanced_ensemble1791.01026yes1214.1timemachines
bats_trendy_arma_bc1785.021yes877.7tbats , timemachines
thinking_precision_ensemble1782.059yes0.5timemachines
slow_balanced_ema_ensemble1776.01805yes0.1timemachines
fbprophet_cautious1759.071yes120.8prophet , timemachines
tsa_precision_theta_ensemble1755.01105yes5.6statsmodels , timemachines
elo_faster_residual_precision_ensemble1742.01081yes24.3timemachines
bats_trendy1732.037yes951.9tbats , timemachines
darts_autoarima1732.024no41.6darts , timemachines
tsa_precision_combined_ensemble1727.054yes1083.7statsmodels , timemachines
elo_fastest_univariate_aggressive_ensemble1709.01075yes1136.6timemachines
bats_fast1702.047yes726.3tbats , timemachines
sluggish_moving_average1691.01475yes0.0timemachines
thinking_slow_and_fast1685.02002yes0.0timemachines
pycrt_median_3_full1661.02yes5828.6pycaret , timemachines
bats_bc1659.044yes763.3tbats , timemachines
tsa_balanced_combined_ensemble1658.054yes557.3statsmodels , timemachines
darts_theta1657.091no1.2darts , timemachines
quick_precision_ema_ensemble1652.01343yes0.1timemachines
bats_damped_arma_bc1650.013yes1396.8tbats , timemachines
bats_trendy_arma1643.026yes1310.1tbats , timemachines
merlion_prophet1631.048yes46.5timemachines
divine_univariate1629.0101yes-0.1divinity , timemachines
darts_exp_smoothing1627.0292no10.3darts , timemachines
elo_faster_residual_aggressive_ensemble1621.0709yes20.5timemachines
divine_univariate_hypocratic_slow1615.0161yes81.3divinity , timemachines
sk_ae_add1611.02101yes16.2sktime , 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
dlm_univariate_a16000no-1.0pydlm , timemachines
dlm_univariate_b16000no-1.0pydlm , timemachines
darts_nbeats16000no-1.0darts , timemachines
darts_prophet1599.026no78.1darts , timemachines
pycrt_median_81599.02yes5004.0pycaret , timemachines
darts_fft1598.0101no-1.1darts , timemachines
smdk_p5_d0_q3_n5001589.0976yes14.4simdkalman , timemachines
smdk_p5_d0_q3_n1000_aggressive1565.0669yes39.1simdkalman , timemachines
slowly_moving_average1562.01668yes0.0timemachines
pycrt_mean_81562.02no2918.5pycaret , timemachines
pycrt_mean_31562.02no2590.9pycaret , timemachines
darts_four_theta1543.0182no1.4darts , timemachines
pmd_univariate1515.0892yes4.6pmdarima , timemachines
suc_tsa_p2_d0_q11492.0110no1.8successor , timemachines
fbprophet_recursive1488.072yes175.8prophet , timemachines
tsa_balanced_theta_ensemble1486.01374yes6.0statsmodels , timemachines
fbprophet_exogenous_exogenous1478.051yes376.8prophet , timemachines
nprophet_p5_hypocratic1467.0616yes53.6neuralprophet , timemachines
orbit_lgt_241461.09yes-0.4orbit-ml , timemachines
sk_ae_add_damped1454.01519yes11.5sktime , timemachines
pycrt_median_31454.01no1416.4pycaret , timemachines
suc_quick_aggressive_ema_ensemble1446.099no3.1successor , timemachines
darts_arima1442.0112no8.6darts , timemachines
divine_univariate_hypocratic_fast1434.0105yes-0.1divinity , timemachines
nprophet_p1_hypocratic1428.0505yes36.4neuralprophet , timemachines
thinking_slow_and_slow1422.01205yes0.1timemachines
nprophet_p21408.0691yes46.6neuralprophet , timemachines
nprophet_p11402.01281yes36.3neuralprophet , timemachines
nprophet_p2_hypocratic1400.0527yes35.6neuralprophet , timemachines
rapidly_moving_average1388.01520yes0.0timemachines
fbprophet_known1383.068yes199.2prophet , timemachines
sk_theta1372.01261yes1.4sktime , timemachines
pmd_exogenous_hypocratic1357.01046yes2.9pmdarima , timemachines
nprophet_p3_hypocratic1356.0539yes40.2neuralprophet , timemachines
nprophet_p51351.0609yes67.4neuralprophet , timemachines
gk_basic_skater1338.08yes4515.1greykite , timemachines
fbprophet_cautious_hypocratic1329.067yes232.0prophet , timemachines
tsa_slowly_hypocratic_d0_ensemble1319.093yes1506.2statsmodels , timemachines
nprophet_p31315.0416yes48.7neuralprophet , timemachines
rvr_balanced_ensemble1283.0763yes0.4river , timemachines
thinking_fast_and_fast1271.01317yes0.0timemachines
fbprophet_exogenous_hypocratic1249.082yes179.1prophet , timemachines
fbprophet_univariate1214.0173yes165.3prophet , timemachines
nprophet_p8_hypocratic1209.0464yes51.2neuralprophet , timemachines
quickly_moving_average1207.01261yes0.0timemachines
orbit_lgt_121206.019yes0.0orbit-ml , timemachines
smdk_p5_d0_q3_n500_aggressive1192.0833yes18.1simdkalman , timemachines
fbprophet_univariate_univariate_hypocratic1172.054yes359.6prophet , timemachines
fbprophet_exogenous1148.0108yes163.2prophet , timemachines
empirical_last_value1137.0946yes0.0timemachines
smdk_p5_d0_q3_n10001053.0660yes28.7simdkalman , timemachines
rvr_p1_d0_q0934.0974yes0.1river , timemachines
tsa_quickly_hypocratic_d0_ensemble850.078yes583.7statsmodels , timemachines
rvr_p8_d0_q0812.0670yes0.1river , timemachines
rvr_slowly_hypocratic800.0647yes0.6river , timemachines
rvr_quickly_hypocratic759.0940yes0.4river , timemachines
rvr_p2_d0_q0700.0840yes0.0river , timemachines
suc_tsa_aggressive_d0_ensemble687.052yes1.7successor , timemachines
merlion_mses637.026yes103.3timemachines
rvr_p5_d0_q0564.0715yes0.1river , timemachines