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_p1_d0_q12180.0253yes30.7statsmodels , timemachines
tsa_aggressive_d0_ensemble2178.024yes133.0statsmodels , timemachines
elo_faster_residual_precision_ensemble2154.0601yes4.2timemachines
sluggish_moving_average2121.0756yes0.0timemachines
bats_arma2112.015yes799.2tbats , timemachines
tsa_p2_d0_q12110.0225yes111.6statsmodels , timemachines
tsa_precision_d0_ensemble2097.029yes183.7statsmodels , timemachines
fbprophet_known2079.050yes126.3prophet , timemachines
sk_autoarima2053.030yes697.8sktime , timemachines
tsa_p3_d0_q12047.091yes64.6statsmodels , timemachines
pmd_univariate2037.0438yes16.3pmdarima , timemachines
tsa_balanced_d0_ensemble2021.020yes159.6statsmodels , timemachines
tsa_aggressive_combined_ensemble2005.015yes3215.4statsmodels , timemachines
smdk_p5_d0_q3_n1000_aggressive2004.0177yes98.9simdkalman , timemachines
elo_fastest_residual_balanced_ensemble2000.0657yes1.4timemachines
elo_fastest_univariate_balanced_ensemble1988.0725yes1.4timemachines
elo_fastest_univariate_precision_ensemble1982.01020yes1.9timemachines
thinking_slow_and_fast1970.0668yes0.1timemachines
tsa_quickly_hypocratic_d0_ensemble1959.026yes2895.6statsmodels , timemachines
tsa_precision_combined_ensemble1953.033yes224.4statsmodels , timemachines
thinking_slow_and_slow1930.0688yes0.1timemachines
elo_faster_univariate_balanced_ensemble1927.0490yes17.8timemachines
tsa_p3_d0_q01924.0372yes14.6statsmodels , timemachines
bats_trendy_arma1915.09yes668.6tbats , timemachines
slow_aggressive_ema_ensemble1900.0643yes0.4timemachines
slowly_moving_average1875.01030yes0.0timemachines
fbprophet_univariate1854.079yes123.4prophet , timemachines
smdk_p5_d0_q3_n500_aggressive1847.0279yes39.5simdkalman , timemachines
tsa_balanced_combined_ensemble1841.031yes285.1statsmodels , timemachines
elo_fastest_univariate_aggressive_ensemble1827.0667yes1.6timemachines
tsa_slowly_hypocratic_d0_ensemble1825.035yes191.3statsmodels , timemachines
divine_univariate_hypocratic_fast1796.080yes-0.1divinity , timemachines
thinking_fast_and_slow1789.0685yes0.1timemachines
bats_trendy1752.026yes360.3tbats , timemachines
elo_fastest_residual_precision_ensemble1752.0716yes0.8timemachines
divine_univariate_hypocratic_slow1751.070yes-0.1divinity , timemachines
bats_trendy_bc1747.022yes1025.0tbats , timemachines
fbprophet_recursive1732.051yes106.3prophet , timemachines
elo_faster_residual_balanced_ensemble1725.0606yes3.3timemachines
elo_faster_univariate_precision_ensemble1707.0721yes23.3timemachines
bats_damped_arma1695.08yes1874.6tbats , timemachines
bats_fast1694.013yes249.2tbats , timemachines
divine_univariate1693.065yes-0.1divinity , timemachines
rvr_slowly_hypocratic1681.0339no0.2river , timemachines
gk_basic_skater1676.04no1519.0greykite , timemachines
tsa_p1_d0_q01674.0425yes30.3statsmodels , timemachines
fbprophet_exogenous1664.094yes120.3prophet , timemachines
precision_ema_ensemble1653.01049yes0.0timemachines
bats_damped1650.018yes316.4tbats , timemachines
elo_faster_univariate_aggressive_ensemble1650.0629yes14.8timemachines
slow_precision_ema_ensemble1649.0656yes0.2timemachines
slow_balanced_ema_ensemble1642.0947yes0.4timemachines
bats_damped_bc1640.019yes371.4tbats , timemachines
thinking_precision_ensemble1629.030yes0.4timemachines
sk_ae_add1626.01148yes13.8sktime , timemachines
suc_tsa_p2_d0_q11625.031no5.9successor , timemachines
darts_autoarima1606.010yes273.4darts , timemachines
rvr_quickly_hypocratic1601.0413no0.2river , timemachines
pycrt_median_316000yes-1.0pycaret , timemachines
pycrt_median_816000yes-1.0pycaret , timemachines
pycrt_median_3_full16000yes-1.0pycaret , timemachines
orbit_lgt_1216000yes0.0orbit-ml , timemachines
orbit_lgt_2416000yes-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-1.0sktime , 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
bats_damped_arma_bc1600.016yes755.1tbats , timemachines
sk_ae_add_damped1599.0778yes20.2sktime , timemachines
fbprophet_univariate_hypocratic1597.043yes82.6prophet , timemachines
fbprophet_cautious_hypocratic1597.043yes76.1prophet , timemachines
elo_fastest_residual_aggressive_ensemble1595.0551yes1.0timemachines
darts_arima1593.053no8.5darts , timemachines
quick_precision_ema_ensemble1584.0640yes0.4timemachines
elo_faster_residual_aggressive_ensemble1572.0452yes5.7timemachines
pycrt_mean_81568.02no2485.3pycaret , timemachines
smdk_p5_d0_q3_n5001563.0276yes29.8simdkalman , timemachines
pmd_exogenous_hypocratic1561.0561yes2.5pmdarima , timemachines
quick_balanced_ema_ensemble1555.0638yes0.4timemachines
aggressive_ema_ensemble1530.0735yes0.2timemachines
tsa_p2_d0_q01520.0298yes69.5statsmodels , timemachines
fbprophet_cautious1514.051yes121.9prophet , timemachines
bats_bc1511.024yes227.9tbats , timemachines
quickly_moving_average1494.0665yes0.0timemachines
pycrt_mean_31482.01no2065.1pycaret , timemachines
bats_trendy_arma_bc1482.015yes899.2tbats , timemachines
balanced_ema_ensemble1482.0895yes0.2timemachines
fbprophet_exogenous_hypocratic1453.058yes82.6prophet , timemachines
nprophet_p31452.0220yes30.4neuralprophet , timemachines
tsa_balanced_theta_ensemble1441.0617yes3.4statsmodels , timemachines
darts_four_theta1438.054no1.3darts , timemachines
suc_quick_aggressive_ema_ensemble1419.031no5.1successor , timemachines
thinking_fast_and_fast1418.0747yes0.1timemachines
sk_ae1418.0756yes11.5sktime , timemachines
bats_arma_bc1412.010yes325.4tbats , timemachines
merlion_arima1410.022yes12.6timemachines
darts_prophet1400.022no105.5darts , timemachines
darts_theta1394.054no1.2darts , timemachines
tsa_precision_theta_ensemble1389.0568yes2.7statsmodels , timemachines
tsa_aggressive_theta_ensemble1389.0893yes6.6statsmodels , timemachines
merlion_mses1379.02yes44.3timemachines
sk_theta1379.0619yes0.8sktime , timemachines
smdk_p5_d0_q3_n10001350.0201no38.0simdkalman , timemachines
suc_tsa_aggressive_d0_ensemble1319.05no1.9successor , timemachines
nprophet_p21309.0324yes62.6neuralprophet , timemachines
nprophet_p3_hypocratic1296.0267yes76.9neuralprophet , timemachines
rapidly_moving_average1296.0789yes0.0timemachines
fbprophet_exogenous_exogenous1268.047yes244.0prophet , timemachines
fbprophet_univariate_univariate_hypocratic1267.036yes237.1prophet , timemachines
nprophet_p8_hypocratic1263.0217yes59.8neuralprophet , timemachines
darts_exp_smoothing1258.0105no9.3darts , timemachines
nprophet_p11254.0490yes50.7neuralprophet , timemachines
rvr_balanced_ensemble1248.0388yes0.3river , timemachines
quick_aggressive_ema_ensemble1223.01350yes0.2timemachines
nprophet_p2_hypocratic1186.0186yes64.8neuralprophet , timemachines
rvr_p8_d0_q01184.0327yes0.1river , timemachines
merlion_prophet1150.08yes67.7timemachines
nprophet_p51098.0251yes52.0neuralprophet , timemachines
nprophet_p5_hypocratic1067.0306yes64.8neuralprophet , timemachines
nprophet_p81065.0217yes53.8neuralprophet , timemachines
rvr_p5_d0_q01062.0298yes0.1river , timemachines
rvr_p2_d0_q01042.0367yes0.0river , timemachines
darts_fft1041.030no1.0darts , timemachines
rvr_p1_d0_q01007.0528yes0.0river , timemachines
nprophet_p1_hypocratic932.0253yes49.0neuralprophet , timemachines
empirical_last_value675.0448yes0.0timemachines