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
elo_faster_univariate_balanced_ensemble2115.0471yes32.2timemachines
tsa_p3_d0_q02107.0175yes57.1statsmodels , timemachines
tsa_p2_d0_q02103.0350yes15.7statsmodels , timemachines
sluggish_moving_average2066.0639yes0.0timemachines
elo_fastest_univariate_precision_ensemble2061.0864yes2.5timemachines
elo_faster_residual_balanced_ensemble2052.0544yes13.6timemachines
slowly_moving_average2052.0911yes0.0timemachines
bats_trendy_arma2048.011yes861.3tbats , timemachines
tsa_aggressive_combined_ensemble2046.024yes150.0statsmodels , timemachines
darts_autoarima2042.016yes247.0darts , timemachines
thinking_slow_and_fast2021.0905yes0.2timemachines
tsa_balanced_d0_ensemble2002.023yes138.3statsmodels , timemachines
elo_faster_residual_aggressive_ensemble1999.0367yes22.8timemachines
tsa_aggressive_d0_ensemble1976.024yes331.2statsmodels , timemachines
elo_fastest_residual_aggressive_ensemble1970.0511yes0.8timemachines
divine_univariate1966.0166yes137.1divinity , timemachines
elo_fastest_univariate_aggressive_ensemble1965.0616yes0.8timemachines
tsa_p1_d0_q11963.0200yes69.5statsmodels , timemachines
tsa_p3_d0_q11955.0119yes56.5statsmodels , timemachines
bats_trendy_arma_bc1945.011yes733.3tbats , timemachines
thinking_precision_ensemble1944.019yes0.8timemachines
tsa_slowly_hypocratic_d0_ensemble1939.052yes196.9statsmodels , timemachines
tsa_balanced_combined_ensemble1935.027yes229.3statsmodels , timemachines
orbit_lgt_241933.09yes44.6orbit-ml , timemachines
tsa_p2_d0_q11925.0216yes133.9statsmodels , timemachines
bats_bc1894.016yes360.4tbats , timemachines
sk_autoarima1888.025yes748.9sktime , timemachines
thinking_fast_and_slow1887.0726yes0.1timemachines
bats_arma_bc1881.013yes570.5tbats , timemachines
divine_univariate_hypocratic_fast1869.0122yes-0.1divinity , timemachines
tsa_precision_d0_ensemble1867.044yes126.1statsmodels , timemachines
pmd_exogenous_hypocratic1861.0595yes2.4pmdarima , timemachines
elo_fastest_univariate_balanced_ensemble1855.0668yes0.9timemachines
rvr_slowly_hypocratic1854.0336yes0.4river , timemachines
elo_fastest_residual_balanced_ensemble1842.0625yes1.9timemachines
elo_fastest_residual_precision_ensemble1830.0710yes1.8timemachines
slow_balanced_ema_ensemble1827.0678yes1.0timemachines
elo_faster_univariate_precision_ensemble1826.0416yes2.9timemachines
aggressive_ema_ensemble1825.0634yes0.3timemachines
merlion_arima1820.07yes23.6timemachines
thinking_slow_and_slow1819.0787yes0.1timemachines
bats_damped_bc1802.014yes853.6tbats , timemachines
elo_faster_residual_precision_ensemble1799.0488yes14.8timemachines
bats_arma1789.07yes366.6tbats , timemachines
bats_fast1780.016yes198.9tbats , timemachines
bats_damped_arma1776.012yes693.6tbats , timemachines
tsa_quickly_hypocratic_d0_ensemble1773.038yes148.2statsmodels , timemachines
tsa_precision_combined_ensemble1756.031yes416.2statsmodels , timemachines
darts_prophet1754.025yes94.7darts , timemachines
divine_univariate_hypocratic_slow1744.084yes-0.1divinity , timemachines
slow_precision_ema_ensemble1743.0643yes0.2timemachines
gk_basic_skater1735.03no1792.9greykite , timemachines
bats_damped_arma_bc1722.09yes653.9tbats , timemachines
dlm_univariate_a1720.020no-1.0pydlm , timemachines
quick_aggressive_ema_ensemble1716.0915yes0.8timemachines
bats_trendy_bc1714.025yes1241.1tbats , timemachines
quick_balanced_ema_ensemble1713.0662yes0.4timemachines
quick_precision_ema_ensemble1707.0917yes1.0timemachines
bats_damped1702.012yes0.3tbats , timemachines
precision_ema_ensemble1699.0677yes0.6timemachines
merlion_prophet1695.03yes24.0timemachines
fbprophet_univariate_hypocratic1692.0130yes82.5prophet , timemachines
darts_arima1688.048no12.7darts , timemachines
thinking_fast_and_fast1671.0712yes0.1timemachines
tsa_p1_d0_q01670.0402yes18.5statsmodels , timemachines
sk_ae1664.0663yes7.9sktime , timemachines
pmd_univariate1646.0517yes13.7pmdarima , timemachines
balanced_ema_ensemble1644.0653yes0.4timemachines
fbprophet_univariate1642.0148yes76.4prophet , timemachines
fbprophet_exogenous_hypocratic1642.0130yes76.6prophet , timemachines
suc_quick_aggressive_ema_ensemble1630.039yes6.6successor , timemachines
slow_aggressive_ema_ensemble1628.0945yes0.4timemachines
darts_fft1622.045no0.7darts , timemachines
sk_ae_add1614.01026yes8.1sktime , timemachines
elo_faster_univariate_aggressive_ensemble1610.0404yes7.3timemachines
darts_four_theta1602.039no1.2darts , timemachines
pycrt_mean_316000yes-1.0pycaret , timemachines
orbit_lgt_1216000yes-0.2orbit-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
pycrt_mean_816000no-1.0pycaret , timemachines
pycrt_median_3_full16000no-1.0pycaret , timemachines
pycrt_median_316000no-1.7pycaret , timemachines
darts_nbeats16000no-1.0darts , timemachines
fbprophet_cautious_hypocratic1597.088yes76.4prophet , timemachines
fbprophet_cautious1566.0113yes76.0prophet , timemachines
quickly_moving_average1565.01043yes0.1timemachines
fbprophet_recursive1538.0101yes81.1prophet , timemachines
sk_ae_add_damped1537.0809yes15.0sktime , timemachines
dlm_univariate_b1530.015no-1.0pydlm , timemachines
darts_theta1528.036yes1.2darts , timemachines
rvr_p2_d0_q01526.0446no0.0river , timemachines
fbprophet_known1525.0115yes122.2prophet , timemachines
pycrt_median_81524.02no-1.6pycaret , timemachines
rvr_quickly_hypocratic1518.0422yes0.4river , timemachines
tsa_aggressive_theta_ensemble1489.0868yes2.2statsmodels , timemachines
rapidly_moving_average1485.0765yes0.0timemachines
suc_tsa_p2_d0_q11479.040no8.8successor , timemachines
tsa_balanced_theta_ensemble1462.0645yes4.4statsmodels , timemachines
sk_theta1444.0674yes0.5sktime , timemachines
bats_trendy1435.014yes1087.0tbats , timemachines
fbprophet_exogenous1404.0115yes82.5prophet , timemachines
tsa_precision_theta_ensemble1371.0565yes2.2statsmodels , timemachines
merlion_mses1346.03yes44.8timemachines
rvr_p5_d0_q01343.0317yes0.0river , timemachines
rvr_p1_d0_q01263.0528yes0.0river , timemachines
darts_exp_smoothing1232.078no10.4darts , timemachines
rvr_balanced_ensemble1218.0456no0.2river , timemachines
fbprophet_exogenous_exogenous1164.099yes247.8prophet , timemachines
nprophet_p3_hypocratic1113.0188yes35.3neuralprophet , timemachines
suc_tsa_aggressive_d0_ensemble1101.09yes3.8successor , timemachines
rvr_p8_d0_q01075.0357no0.0river , timemachines
nprophet_p21069.0183yes72.2neuralprophet , timemachines
fbprophet_univariate_univariate_hypocratic1055.0106yes260.3prophet , timemachines
nprophet_p3948.0251yes66.5neuralprophet , timemachines
nprophet_p1_hypocratic945.0202yes48.7neuralprophet , timemachines
nprophet_p5932.0193yes47.9neuralprophet , timemachines
nprophet_p8876.0204yes36.1neuralprophet , timemachines
nprophet_p1862.0156yes48.2neuralprophet , timemachines
empirical_last_value859.0635yes0.0timemachines
nprophet_p5_hypocratic838.0224yes86.3neuralprophet , timemachines
nprophet_p2_hypocratic832.0176yes62.1neuralprophet , timemachines
nprophet_p8_hypocratic748.0212yes71.1neuralprophet , timemachines
smdk_p5_d0_q3_n1000_aggressive607.024yes172.0simdkalman , timemachines
smdk_p5_d0_q3_n1000493.019no77.2simdkalman , timemachines
smdk_p5_d0_q3_n500_aggressive265.0141yes84.3simdkalman , timemachines
smdk_p5_d0_q3_n500127.0205yes73.3simdkalman , timemachines