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_aggressive_combined_ensemble2288.020yes566.2statsmodels , timemachines
tsa_p2_d0_q02232.0409yes35.6statsmodels , timemachines
thinking_fast_and_slow2205.0813yes0.1timemachines
thinking_slow_and_fast2177.0985yes0.1timemachines
elo_faster_univariate_balanced_ensemble2163.0544yes-6.0timemachines
bats_trendy_bc2119.026yes1120.7tbats , timemachines
bats_damped_bc2077.017yes830.0tbats , timemachines
gk_basic_skater2072.09yes3620.3greykite , timemachines
tsa_p1_d0_q12070.0341yes29.0statsmodels , timemachines
sk_ae_add_damped2064.0568yes19.4sktime , timemachines
elo_faster_residual_balanced_ensemble2052.0908yes11.8timemachines
tsa_p3_d0_q02011.0221yes89.8statsmodels , timemachines
elo_fastest_univariate_balanced_ensemble1996.0755yes2.6timemachines
sk_ae_add1988.0705yes24.2sktime , timemachines
tsa_precision_d0_ensemble1968.028yes365.2statsmodels , timemachines
elo_fastest_residual_balanced_ensemble1947.0781yes1.3timemachines
fbprophet_cautious1946.0151yes122.3prophet , timemachines
thinking_slow_and_slow1939.0802yes0.1timemachines
elo_faster_univariate_aggressive_ensemble1931.0648yes16.4timemachines
divine_univariate_hypocratic_fast1925.0143yes-0.1divinity , timemachines
bats_damped_arma1921.017yes2463.6tbats , timemachines
elo_faster_univariate_precision_ensemble1911.0483yes25.0timemachines
elo_fastest_univariate_precision_ensemble1896.0582yes1.5timemachines
slow_balanced_ema_ensemble1890.0794yes0.2timemachines
pmd_univariate1890.0542yes6.1pmdarima , timemachines
elo_fastest_residual_aggressive_ensemble1866.0853yes0.9timemachines
sk_autoarima1864.049yes118.4sktime , timemachines
tsa_quickly_hypocratic_d0_ensemble1857.031yes2888.1statsmodels , timemachines
divine_univariate1856.0201yes-0.1divinity , timemachines
smdk_p5_d0_q3_n5001851.0436yes60.1simdkalman , timemachines
tsa_p1_d0_q01851.0481yes22.7statsmodels , timemachines
tsa_p3_d0_q11840.0140yes257.7statsmodels , timemachines
slow_precision_ema_ensemble1834.0657yes0.2timemachines
tsa_balanced_d0_ensemble1815.011yes2851.5statsmodels , timemachines
elo_fastest_univariate_aggressive_ensemble1811.0559yes3.0timemachines
bats_damped1810.019yes334.2tbats , timemachines
tsa_slowly_hypocratic_d0_ensemble1808.051yes551.6statsmodels , timemachines
dlm_univariate_a1801.069no-1.0pydlm , timemachines
bats_damped_arma_bc1800.012yes1658.3tbats , timemachines
bats_trendy_arma1794.012yes1710.0tbats , timemachines
sluggish_moving_average1790.01077yes0.0timemachines
elo_faster_residual_precision_ensemble1789.0377yes3.1timemachines
smdk_p5_d0_q3_n10001786.0181yes-61.8simdkalman , timemachines
elo_faster_residual_aggressive_ensemble1779.0467yes3.7timemachines
darts_autoarima1779.013yes120.4darts , timemachines
elo_fastest_residual_precision_ensemble1773.0923yes-1.3timemachines
divine_univariate_hypocratic_slow1751.0119yes-0.1divinity , timemachines
tsa_balanced_theta_ensemble1749.0761yes4.4statsmodels , timemachines
rvr_quickly_hypocratic1726.0507no0.3river , timemachines
slow_aggressive_ema_ensemble1714.0916yes0.4timemachines
darts_prophet1712.015no78.3darts , timemachines
quick_precision_ema_ensemble1707.0636yes0.2timemachines
precision_ema_ensemble1706.0773yes0.2timemachines
merlion_arima1704.017yes26.3timemachines
bats_arma_bc1701.09yes1003.8tbats , timemachines
bats_trendy1691.032yes1108.3tbats , timemachines
bats_fast1690.043yes746.4tbats , timemachines
slowly_moving_average1668.0930yes0.0timemachines
smdk_p5_d0_q3_n1000_aggressive1664.0134yes62.4simdkalman , timemachines
bats_trendy_arma_bc1659.016yes1549.5tbats , timemachines
quick_balanced_ema_ensemble1649.0694yes0.3timemachines
fbprophet_cautious_hypocratic1634.085yes124.8prophet , timemachines
tsa_aggressive_d0_ensemble1626.025yes538.3statsmodels , timemachines
sk_ae1608.0535yes12.1sktime , timemachines
fbprophet_exogenous_hypocratic1607.095yes119.3prophet , timemachines
pycrt_mean_816000yes-1.0pycaret , timemachines
orbit_lgt_2416000yes0.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_mul_damped16000no-0.1sktime , timemachines
sk_ae_mul16000no-0.2sktime , timemachines
rvr_p3_d0_q016000no-1.0river , timemachines
rvr_aggressive_ensemble16000no-1.0river , timemachines
pycrt_median_3_full16000no-1.0pycaret , timemachines
fbprophet_chaser16000no-1.0prophet , timemachines
darts_nbeats16000no-1.0darts , timemachines
tsa_precision_combined_ensemble1585.09yes3194.7statsmodels , timemachines
orbit_lgt_121585.02yes0.0orbit-ml , timemachines
tsa_balanced_combined_ensemble1582.032yes391.7statsmodels , timemachines
thinking_precision_ensemble1577.058yes0.4timemachines
tsa_p2_d0_q11567.0479yes46.3statsmodels , timemachines
balanced_ema_ensemble1559.0699yes0.3timemachines
fbprophet_univariate_hypocratic1552.0101yes76.9prophet , timemachines
darts_four_theta1551.063no1.2darts , timemachines
sk_theta1519.0660yes1.0sktime , timemachines
quick_aggressive_ema_ensemble1518.01262yes0.2timemachines
pycrt_mean_31510.01no3202.9pycaret , timemachines
darts_theta1508.040no1.2darts , timemachines
darts_arima1506.040no8.5darts , timemachines
pycrt_median_81497.01yes3340.9pycaret , timemachines
bats_arma1490.015yes917.9tbats , timemachines
fbprophet_univariate1484.0183yes122.1prophet , timemachines
tsa_aggressive_theta_ensemble1481.0643yes4.8statsmodels , timemachines
bats_bc1476.031yes811.9tbats , timemachines
nprophet_p11475.0444yes38.9neuralprophet , timemachines
fbprophet_recursive1474.0162yes75.1prophet , timemachines
pycrt_median_31447.01no1409.8pycaret , timemachines
aggressive_ema_ensemble1447.0773yes0.2timemachines
pmd_exogenous_hypocratic1444.0615yes5.5pmdarima , timemachines
thinking_fast_and_fast1425.0656yes0.1timemachines
suc_quick_aggressive_ema_ensemble1350.031no5.4successor , timemachines
quickly_moving_average1349.01150yes0.0timemachines
tsa_precision_theta_ensemble1335.0653yes6.1statsmodels , timemachines
fbprophet_exogenous1329.0167yes124.7prophet , timemachines
rvr_slowly_hypocratic1325.0368yes0.6river , timemachines
nprophet_p2_hypocratic1325.0212yes83.8neuralprophet , timemachines
fbprophet_known1321.0163yes85.7prophet , timemachines
dlm_univariate_b1319.049no-1.0pydlm , timemachines
darts_fft1295.045no1.2darts , timemachines
rvr_balanced_ensemble1237.0444yes0.4river , timemachines
rvr_p5_d0_q01221.0533yes0.1river , timemachines
smdk_p5_d0_q3_n500_aggressive1215.0254yes29.8simdkalman , timemachines
fbprophet_exogenous_exogenous1204.088yes451.8prophet , timemachines
nprophet_p81202.0233yes55.5neuralprophet , timemachines
merlion_mses1200.06yes-88.4timemachines
darts_exp_smoothing1118.064no13.2darts , timemachines
nprophet_p3_hypocratic1104.0276yes50.6neuralprophet , timemachines
nprophet_p31103.0204yes38.7neuralprophet , timemachines
fbprophet_univariate_univariate_hypocratic1097.089yes785.6prophet , timemachines
nprophet_p1_hypocratic1078.0245yes-51.7neuralprophet , timemachines
rvr_p1_d0_q01054.0401yes0.0river , timemachines
merlion_prophet1025.013yes47.6timemachines
empirical_last_value1015.0648yes0.0timemachines
rvr_p2_d0_q01012.0834yes0.0river , timemachines
nprophet_p2994.0259yes52.4neuralprophet , timemachines
suc_tsa_aggressive_d0_ensemble989.025yes3.2successor , timemachines
rapidly_moving_average985.0810yes0.0timemachines
suc_tsa_p2_d0_q1961.022no6.0successor , timemachines
nprophet_p5927.0266yes38.0neuralprophet , timemachines
nprophet_p5_hypocratic899.0213yes64.0neuralprophet , timemachines
nprophet_p8_hypocratic888.0246yes44.1neuralprophet , timemachines
rvr_p8_d0_q0847.0362yes0.1river , timemachines