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_fastest_univariate_aggressive_ensemble2329.02213yes-0.8timemachines
elo_faster_univariate_balanced_ensemble2288.01582yes0.9timemachines
slow_precision_ema_ensemble2233.02099yes0.2timemachines
slow_aggressive_ema_ensemble2208.01882yes0.2timemachines
balanced_ema_ensemble2207.02740yes0.1timemachines
slow_balanced_ema_ensemble2200.02798yes0.1timemachines
elo_fastest_residual_precision_ensemble2145.02575yes0.7timemachines
aggressive_ema_ensemble2129.02436yes0.1timemachines
gk_basic_skater2118.014yes3332.2greykite , timemachines
bats_trendy_arma_bc2113.034yes1980.8tbats , timemachines
elo_faster_residual_aggressive_ensemble2090.01715yes3.8timemachines
orbit_lgt_242087.018yes37.1orbit-ml , timemachines
tsa_p2_d0_q12085.01518yes141.3statsmodels , timemachines
tsa_precision_combined_ensemble2082.064yes333.6statsmodels , timemachines
elo_faster_residual_balanced_ensemble2063.02054yes7.2timemachines
elo_fastest_univariate_precision_ensemble2049.03514yes1.4timemachines
tsa_precision_theta_ensemble2039.01976yes2.8statsmodels , timemachines
elo_faster_univariate_aggressive_ensemble2033.02098yes0.9timemachines
elo_faster_residual_precision_ensemble2020.02087yes3.9timemachines
quick_precision_ema_ensemble2007.02274yes0.1timemachines
bats_fast1965.065yes1010.0tbats , timemachines
bats_damped_arma1964.022yes2314.6tbats , timemachines
tsa_balanced_d0_ensemble1953.081yes491.3statsmodels , timemachines
tsa_p3_d0_q01931.01195yes45.2statsmodels , timemachines
quick_aggressive_ema_ensemble1913.05393yes0.2timemachines
bats_arma_bc1913.034yes1556.8tbats , timemachines
tsa_aggressive_d0_ensemble1911.088yes261.3statsmodels , timemachines
bats_damped1906.017yes368.8tbats , timemachines
elo_fastest_residual_balanced_ensemble1904.02358yes1.2timemachines
bats_damped_arma_bc1897.026yes634.3tbats , timemachines
sk_theta1882.02102yes-0.1sktime , timemachines
sk_ae1878.02411yes12.1sktime , timemachines
elo_fastest_univariate_balanced_ensemble1855.02362yes0.8timemachines
bats_trendy_bc1844.064yes1133.2tbats , timemachines
tsa_aggressive_theta_ensemble1836.02978yes2.8statsmodels , timemachines
divine_univariate_hypocratic_fast1826.0133yes-0.1divinity , timemachines
thinking_precision_ensemble1821.0148yes0.1timemachines
bats_trendy_arma1807.034yes2126.5tbats , timemachines
tsa_balanced_combined_ensemble1802.090yes-500.7statsmodels , timemachines
quickly_moving_average1798.02035yes0.0timemachines
tsa_p2_d0_q01795.0773yes18.2statsmodels , timemachines
orbit_lgt_121794.026yes30.2orbit-ml , timemachines
bats_bc1789.062yes843.9tbats , timemachines
tsa_p1_d0_q01785.01247yes12.8statsmodels , timemachines
tsa_p3_d0_q11783.0225yes156.3statsmodels , timemachines
thinking_slow_and_fast1778.02866yes0.0timemachines
bats_arma1772.036yes2610.2tbats , timemachines
divine_univariate_hypocratic_slow1751.0154yes-0.1divinity , timemachines
quick_balanced_ema_ensemble1744.02021yes0.2timemachines
precision_ema_ensemble1742.03075yes0.2timemachines
darts_four_theta1738.0255no1.3darts , timemachines
sk_autoarima1734.0180yes194.9sktime , timemachines
bats_trendy1718.063yes903.5tbats , timemachines
thinking_fast_and_fast1715.02282yes0.0timemachines
merlion_arima1709.085yes64.8timemachines
darts_theta1702.0187no1.2darts , timemachines
elo_faster_univariate_precision_ensemble1696.02000yes1.2timemachines
divine_univariate1690.0184yes-0.1divinity , timemachines
nprophet_p3_hypocratic1682.0830yes51.1neuralprophet , timemachines
bats_damped_bc1671.055yes1499.2tbats , timemachines
darts_arima1664.0165no9.0darts , timemachines
tsa_precision_d0_ensemble1658.0128yes845.8statsmodels , timemachines
nprophet_p1_hypocratic1644.0900yes47.5neuralprophet , timemachines
slowly_moving_average1640.02686yes0.0timemachines
sk_ae_add_damped1636.02541yes13.1sktime , timemachines
darts_exp_smoothing1624.0411no9.8darts , timemachines
pmd_univariate1618.01350yes3.6pmdarima , timemachines
sk_ae_add1604.02968yes9.1sktime , 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_damped16000no0.0sktime , timemachines
sk_ae_mul16000no-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
tsa_p1_d0_q11599.0622yes36.0statsmodels , timemachines
fbprophet_cautious1596.082yes125.0prophet , timemachines
smdk_p5_d0_q3_n1000_aggressive1586.01853yes29.9simdkalman , timemachines
darts_autoarima1566.038no59.7darts , timemachines
nprophet_p11552.02159yes72.7neuralprophet , timemachines
pycrt_mean_81534.04no3779.9pycaret , timemachines
pmd_exogenous_hypocratic1533.01589yes4.7pmdarima , timemachines
nprophet_p8_hypocratic1522.0760yes35.2neuralprophet , timemachines
pycrt_median_81513.01no4072.9pycaret , timemachines
thinking_slow_and_slow1511.01925yes0.0timemachines
nprophet_p5_hypocratic1477.01360yes61.0neuralprophet , timemachines
pycrt_median_3_full1476.03yes5176.8pycaret , timemachines
tsa_aggressive_combined_ensemble1467.0119yes517.6statsmodels , timemachines
thinking_fast_and_slow1451.02081yes0.0timemachines
darts_fft1442.0160no0.7darts , timemachines
rapidly_moving_average1440.02579yes0.0timemachines
nprophet_p21439.01016yes-51.7neuralprophet , timemachines
nprophet_p81431.0864yes48.0neuralprophet , timemachines
pycrt_mean_31415.07no4246.7pycaret , timemachines
tsa_slowly_hypocratic_d0_ensemble1404.0150yes960.5statsmodels , timemachines
elo_fastest_residual_aggressive_ensemble1403.01812yes0.9timemachines
nprophet_p31377.0924yes71.4neuralprophet , timemachines
pycrt_median_31369.02no3692.0pycaret , timemachines
fbprophet_exogenous1360.0149yes119.9prophet , timemachines
smdk_p5_d0_q3_n500_aggressive1341.01529yes10.5simdkalman , timemachines
darts_prophet1338.038no76.9darts , timemachines
smdk_p5_d0_q3_n5001333.01888yes23.7simdkalman , timemachines
nprophet_p2_hypocratic1310.0872yes64.9neuralprophet , timemachines
suc_tsa_p2_d0_q11307.0173no1.2successor , timemachines
tsa_balanced_theta_ensemble1290.02166yes-3.2statsmodels , timemachines
rvr_slowly_hypocratic1288.01088yes0.4river , timemachines
fbprophet_exogenous_hypocratic1283.0107yes124.9prophet , timemachines
fbprophet_known1281.071yes166.0prophet , timemachines
fbprophet_univariate_hypocratic1249.073yes234.7prophet , timemachines
rvr_quickly_hypocratic1243.01416yes0.4river , timemachines
fbprophet_cautious_hypocratic1215.085yes123.2prophet , timemachines
nprophet_p51180.0973yes48.6neuralprophet , timemachines
smdk_p5_d0_q3_n10001170.01295yes20.8simdkalman , timemachines
sluggish_moving_average1162.02297yes0.0timemachines
tsa_quickly_hypocratic_d0_ensemble1159.0146yes261.8statsmodels , timemachines
suc_tsa_aggressive_d0_ensemble1148.078yes1.4successor , timemachines
suc_quick_aggressive_ema_ensemble1131.0164no1.3successor , timemachines
fbprophet_univariate1064.0184yes120.8prophet , timemachines
empirical_last_value1025.01558yes0.0timemachines
fbprophet_recursive982.074yes150.4prophet , timemachines
rvr_p1_d0_q0940.01694yes0.0river , timemachines
fbprophet_univariate_univariate_hypocratic865.096yes475.3prophet , timemachines
fbprophet_exogenous_exogenous858.078yes324.5prophet , timemachines
merlion_prophet797.089yes33.6timemachines
rvr_balanced_ensemble714.01383yes0.7river , timemachines
merlion_mses644.035yes159.4timemachines
rvr_p2_d0_q0584.01327yes0.1river , timemachines
rvr_p5_d0_q0505.01049yes-0.1river , timemachines
rvr_p8_d0_q0404.01094yes0.1river , timemachines