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_balanced_d0_ensemble2286.020yes243.1statsmodels , timemachines
tsa_p2_d0_q12170.0595yes79.5statsmodels , timemachines
tsa_precision_d0_ensemble2056.058yes189.0statsmodels , timemachines
tsa_aggressive_combined_ensemble2034.023yes5620.4statsmodels , timemachines
elo_faster_residual_precision_ensemble2026.01070yes22.2timemachines
quick_aggressive_ema_ensemble2005.02747yes0.1timemachines
tsa_p1_d0_q12005.0399yes266.8statsmodels , timemachines
merlion_prophet1996.038yes33.4timemachines
slow_aggressive_ema_ensemble1992.01169yes0.2timemachines
elo_fastest_residual_precision_ensemble1987.01435yes1.1timemachines
elo_fastest_univariate_balanced_ensemble1973.01034yes2634.1timemachines
bats_damped_bc1970.041yes1493.3tbats , timemachines
tsa_balanced_combined_ensemble1963.044yes305.5statsmodels , timemachines
tsa_p2_d0_q01948.0533yes32.3statsmodels , timemachines
sk_ae_add1936.02060yes9.4sktime , timemachines
tsa_balanced_theta_ensemble1910.01346yes2.8statsmodels , timemachines
elo_fastest_univariate_precision_ensemble1910.01886yes2016.6timemachines
tsa_p3_d0_q11908.0149yes70.7statsmodels , timemachines
slow_balanced_ema_ensemble1904.01771yes0.1timemachines
elo_faster_univariate_balanced_ensemble1899.0841yes1219.8timemachines
thinking_precision_ensemble1896.069yes0.3timemachines
smdk_p5_d0_q3_n5001895.0955yes23.9simdkalman , timemachines
sk_ae1883.01380yes9.3sktime , timemachines
balanced_ema_ensemble1882.01665yes0.1timemachines
sk_autoarima1873.0125yes645.4sktime , timemachines
bats_trendy_bc1873.027yes1162.5tbats , timemachines
tsa_aggressive_d0_ensemble1860.023yes156.8statsmodels , timemachines
elo_faster_univariate_aggressive_ensemble1854.01066yes931.3timemachines
elo_faster_univariate_precision_ensemble1848.01152yes956.2timemachines
tsa_p3_d0_q01844.0421yes39.0statsmodels , timemachines
quick_balanced_ema_ensemble1790.01226yes0.1timemachines
slow_precision_ema_ensemble1788.01209yes0.1timemachines
bats_trendy_arma_bc1785.021yes877.7tbats , timemachines
nprophet_p1_hypocratic1783.0483yes47.0neuralprophet , timemachines
aggressive_ema_ensemble1779.01491yes0.1timemachines
quickly_moving_average1765.01236yes0.0timemachines
bats_damped_arma1752.013yes788.8tbats , timemachines
elo_faster_residual_aggressive_ensemble1737.0658yes30.0timemachines
quick_precision_ema_ensemble1731.01301yes0.1timemachines
darts_autoarima1725.023no33.9darts , timemachines
gk_basic_skater1709.09yes4460.2greykite , timemachines
elo_fastest_univariate_aggressive_ensemble1701.01075yes3717.2timemachines
thinking_slow_and_fast1694.01400yes0.0timemachines
bats_arma_bc1692.018yes2121.0tbats , timemachines
elo_fastest_residual_aggressive_ensemble1686.01135yes1.7timemachines
smdk_p5_d0_q3_n10001678.0612yes49.9simdkalman , timemachines
elo_faster_residual_balanced_ensemble1675.01114yes18.8timemachines
tsa_precision_theta_ensemble1667.01059yes2.7statsmodels , timemachines
tsa_precision_combined_ensemble1662.051yes876.1statsmodels , timemachines
pycrt_median_3_full1661.02yes5828.6pycaret , timemachines
darts_theta1657.091no1.2darts , timemachines
bats_trendy1656.038yes970.9tbats , timemachines
bats_damped_arma_bc1650.013yes1396.8tbats , timemachines
bats_damped1648.022yes939.5tbats , timemachines
thinking_fast_and_slow1638.01135yes0.0timemachines
divine_univariate1629.0101yes-0.1divinity , timemachines
divine_univariate_hypocratic_slow1615.0161yes81.3divinity , timemachines
merlion_arima1607.041yes30.3timemachines
bats_trendy_arma1601.028yes1904.6tbats , timemachines
tsa_p1_d0_q01600.0760yes31.6statsmodels , timemachines
orbit_lgt_2416000yes0.0orbit-ml , timemachines
orbit_lgt_1216000yes-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_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.02no5004.0pycaret , timemachines
darts_fft1598.0101no0.7darts , timemachines
darts_four_theta1579.0181no1.3darts , timemachines
fbprophet_univariate1578.0169yes121.5prophet , timemachines
slowly_moving_average1572.01626yes0.0timemachines
bats_fast1569.042yes662.7tbats , timemachines
sk_ae_add_damped1564.01489yes9.0sktime , timemachines
pycrt_mean_81562.02no2918.5pycaret , timemachines
pycrt_mean_31562.02yes2590.9pycaret , timemachines
fbprophet_cautious_hypocratic1559.058yes81.4prophet , timemachines
fbprophet_known1557.059yes80.7prophet , timemachines
fbprophet_univariate_hypocratic1547.064yes82.8prophet , timemachines
darts_exp_smoothing1545.0290no10.1darts , timemachines
smdk_p5_d0_q3_n1000_aggressive1540.0660yes59.0simdkalman , timemachines
bats_arma1529.021yes1690.5tbats , timemachines
divine_univariate_hypocratic_fast1498.0104yes67.0divinity , timemachines
elo_fastest_residual_balanced_ensemble1498.01421yes0.9timemachines
suc_tsa_p2_d0_q11492.0110no1.8successor , timemachines
nprophet_p21490.0661yes46.4neuralprophet , timemachines
fbprophet_exogenous_exogenous1490.048yes243.1prophet , timemachines
fbprophet_cautious1485.045yes80.3prophet , timemachines
suc_tsa_aggressive_d0_ensemble1485.011yes1.5successor , timemachines
darts_arima1484.0114no16.2darts , timemachines
bats_bc1483.044yes759.8tbats , timemachines
fbprophet_exogenous1480.0102yes177.3prophet , timemachines
thinking_fast_and_fast1479.01282yes0.0timemachines
tsa_aggressive_theta_ensemble1473.01721yes2.6statsmodels , timemachines
fbprophet_exogenous_hypocratic1470.072yes80.2prophet , timemachines
sluggish_moving_average1468.01431yes0.0timemachines
pycrt_median_31454.01yes1416.4pycaret , timemachines
sk_theta1448.01228yes0.8sktime , timemachines
suc_quick_aggressive_ema_ensemble1446.099no3.1successor , timemachines
precision_ema_ensemble1435.01863yes0.2timemachines
pmd_exogenous_hypocratic1432.01013yes4.1pmdarima , timemachines
nprophet_p3_hypocratic1421.0511yes68.6neuralprophet , timemachines
fbprophet_recursive1359.071yes123.9prophet , timemachines
nprophet_p2_hypocratic1349.0524yes61.1neuralprophet , timemachines
nprophet_p5_hypocratic1335.0604yes65.3neuralprophet , timemachines
smdk_p5_d0_q3_n500_aggressive1325.0814yes27.0simdkalman , timemachines
nprophet_p31318.0399yes36.0neuralprophet , timemachines
fbprophet_univariate_univariate_hypocratic1306.049yes583.5prophet , timemachines
tsa_slowly_hypocratic_d0_ensemble1298.074yes172.5statsmodels , timemachines
rvr_balanced_ensemble1282.0741yes0.3river , timemachines
thinking_slow_and_slow1275.01184yes0.1timemachines
nprophet_p8_hypocratic1266.0432yes49.9neuralprophet , timemachines
nprophet_p81252.0481yes60.6neuralprophet , timemachines
rapidly_moving_average1214.01479yes0.0timemachines
rvr_slowly_hypocratic1211.0638yes0.7river , timemachines
nprophet_p11196.01281yes66.9neuralprophet , timemachines
rvr_p5_d0_q01138.0618yes0.1river , timemachines
pmd_univariate1095.0809yes21.2pmdarima , timemachines
nprophet_p51088.0613yes57.4neuralprophet , timemachines
empirical_last_value1069.0901yes0.0timemachines
rvr_p1_d0_q01058.0917yes0.0river , timemachines
rvr_quickly_hypocratic1057.0899yes0.8river , timemachines
tsa_quickly_hypocratic_d0_ensemble1049.067yes326.0statsmodels , timemachines
rvr_p8_d0_q01031.0627yes0.1river , timemachines
rvr_p2_d0_q0896.0809yes0.1river , timemachines
merlion_mses717.022yes140.5timemachines