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_p2_d0_q12294.0501yes83.7statsmodels , timemachines
elo_faster_univariate_precision_ensemble2256.0496yes4.9timemachines
bats_trendy2225.024yes1205.7tbats , timemachines
tsa_p1_d0_q12219.0304yes51.7statsmodels , timemachines
tsa_p3_d0_q12182.0131yes250.2statsmodels , timemachines
suc_tsa_aggressive_d0_ensemble2168.026yes2.2successor , timemachines
tsa_aggressive_d0_ensemble2100.031yes174.5statsmodels , timemachines
bats_damped_bc2078.017yes1544.7tbats , timemachines
sk_autoarima2060.037yes151.3sktime , timemachines
pmd_exogenous_hypocratic2042.0615yes4.3pmdarima , timemachines
tsa_p1_d0_q02030.0439yes16.8statsmodels , timemachines
tsa_p3_d0_q02003.0223yes45.8statsmodels , timemachines
elo_faster_univariate_balanced_ensemble1975.0469yes13.8timemachines
tsa_p2_d0_q01937.0356yes25.7statsmodels , timemachines
quick_balanced_ema_ensemble1931.0605yes0.2timemachines
bats_trendy_arma1931.014yes561.5tbats , timemachines
darts_autoarima1914.09no132.9darts , timemachines
elo_faster_residual_aggressive_ensemble1904.0647yes3.8timemachines
thinking_precision_ensemble1887.032yes0.3timemachines
tsa_balanced_d0_ensemble1871.013yes4780.3statsmodels , timemachines
quickly_moving_average1867.01038yes0.0timemachines
elo_fastest_residual_balanced_ensemble1867.0584yes1.4timemachines
pmd_univariate1857.0592yes3.8pmdarima , timemachines
thinking_slow_and_slow1842.0771yes0.1timemachines
bats_arma1827.011yes974.0tbats , timemachines
elo_fastest_univariate_balanced_ensemble1826.0716yes1.2timemachines
precision_ema_ensemble1826.0707yes0.1timemachines
fbprophet_known1818.0159yes165.0prophet , timemachines
darts_fft1815.047no0.7darts , timemachines
bats_trendy_arma_bc1815.012yes2417.4tbats , timemachines
aggressive_ema_ensemble1810.0791yes0.1timemachines
bats_damped1810.013yes1087.6tbats , timemachines
bats_bc1802.020yes799.3tbats , timemachines
slow_precision_ema_ensemble1800.0618yes0.2timemachines
tsa_precision_d0_ensemble1793.037yes334.5statsmodels , timemachines
thinking_fast_and_slow1792.0713yes0.1timemachines
tsa_balanced_combined_ensemble1785.027yes671.3statsmodels , timemachines
elo_faster_univariate_aggressive_ensemble1782.0575yes-9.2timemachines
merlion_prophet1779.014yes55.7timemachines
thinking_slow_and_fast1776.01003yes0.1timemachines
bats_damped_arma1775.09yes1177.3tbats , timemachines
elo_fastest_univariate_precision_ensemble1763.0569yes1.2timemachines
elo_faster_residual_precision_ensemble1759.0550yes4.1timemachines
elo_fastest_univariate_aggressive_ensemble1756.0651yes1.1timemachines
bats_damped_arma_bc1753.012yes1118.0tbats , timemachines
tsa_aggressive_combined_ensemble1741.011yes232.7statsmodels , timemachines
divine_univariate_hypocratic_fast1738.0128yes-0.1divinity , timemachines
sk_ae1734.0538yes9.2sktime , timemachines
rvr_slowly_hypocratic1722.0312yes0.4river , timemachines
slowly_moving_average1709.01010yes0.0timemachines
dlm_univariate_a1704.064no-1.0pydlm , timemachines
bats_trendy_bc1698.020yes898.6tbats , timemachines
slow_aggressive_ema_ensemble1696.0786yes0.2timemachines
sk_ae_add_damped1692.0663yes11.0sktime , timemachines
bats_arma_bc1675.08yes2200.8tbats , timemachines
merlion_arima1671.05yes15.0timemachines
divine_univariate_hypocratic_slow1663.0182yes-0.1divinity , timemachines
orbit_lgt_241659.08yes0.0orbit-ml , timemachines
slow_balanced_ema_ensemble1650.0768yes-0.2timemachines
fbprophet_cautious1647.0155yes83.3prophet , timemachines
elo_faster_residual_balanced_ensemble1645.01185yes4.0timemachines
nprophet_p21634.0252yes37.9neuralprophet , timemachines
smdk_p5_d0_q3_n500_aggressive1614.0343yes26.8simdkalman , timemachines
elo_fastest_residual_precision_ensemble1608.0905yes2.1timemachines
pycrt_mean_31606.02yes2616.1pycaret , 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_mul16000no0.0sktime , 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_816000no-2745.0pycaret , timemachines
fbprophet_chaser16000no-1.0prophet , timemachines
darts_nbeats16000no-1.0darts , timemachines
fbprophet_exogenous_hypocratic1595.0113yes253.4prophet , timemachines
smdk_p5_d0_q3_n10001589.0231yes69.0simdkalman , timemachines
tsa_balanced_theta_ensemble1588.0756yes2.8statsmodels , timemachines
fbprophet_univariate1571.0183yes209.5prophet , timemachines
elo_fastest_residual_aggressive_ensemble1569.0929yes2.2timemachines
fbprophet_cautious_hypocratic1563.094yes75.1prophet , timemachines
tsa_quickly_hypocratic_d0_ensemble1554.043yes220.8statsmodels , timemachines
fbprophet_univariate_hypocratic1552.0118yes162.9prophet , timemachines
divine_univariate1548.0196yes118.8divinity , timemachines
sk_ae_add1533.0734yes15.7sktime , timemachines
darts_theta1529.033no1.2darts , timemachines
sluggish_moving_average1521.01180yes0.0timemachines
pycrt_median_31512.01no980.4pycaret , timemachines
quick_precision_ema_ensemble1504.0626yes0.2timemachines
tsa_precision_theta_ensemble1504.0646yes4.2statsmodels , timemachines
smdk_p5_d0_q3_n1000_aggressive1498.0353yes69.5simdkalman , timemachines
darts_four_theta1494.074no1.3darts , timemachines
darts_arima1491.064no10.6darts , timemachines
balanced_ema_ensemble1482.0730yes0.1timemachines
fbprophet_exogenous1462.0165yes201.6prophet , timemachines
bats_fast1458.018yes684.1tbats , timemachines
orbit_lgt_121443.05yes-0.1orbit-ml , timemachines
tsa_precision_combined_ensemble1439.016yes473.9statsmodels , timemachines
fbprophet_recursive1416.0158yes140.6prophet , timemachines
suc_quick_aggressive_ema_ensemble1408.035no4.5successor , timemachines
fbprophet_exogenous_exogenous1398.096yes255.5prophet , timemachines
darts_exp_smoothing1395.084no8.5darts , timemachines
darts_prophet1386.028no71.4darts , timemachines
nprophet_p31376.0213yes38.4neuralprophet , timemachines
sk_theta1368.0633yes0.8sktime , timemachines
tsa_slowly_hypocratic_d0_ensemble1366.052yes262.4statsmodels , timemachines
suc_tsa_p2_d0_q11344.039no4.2successor , timemachines
gk_basic_skater1333.05yes3948.1greykite , timemachines
nprophet_p11317.0648yes76.0neuralprophet , timemachines
tsa_aggressive_theta_ensemble1310.0576yes2.7statsmodels , timemachines
dlm_univariate_b1298.063no-1.0pydlm , timemachines
nprophet_p1_hypocratic1270.0250yes37.6neuralprophet , timemachines
nprophet_p51244.0204yes75.9neuralprophet , timemachines
smdk_p5_d0_q3_n5001224.0681yes22.7simdkalman , timemachines
nprophet_p8_hypocratic1200.0269yes50.2neuralprophet , timemachines
rvr_p5_d0_q01163.0561yes0.1river , timemachines
nprophet_p3_hypocratic1162.0250yes64.1neuralprophet , timemachines
nprophet_p5_hypocratic1155.0243yes57.3neuralprophet , timemachines
rvr_balanced_ensemble1149.0446yes0.3river , timemachines
nprophet_p2_hypocratic1144.0243yes65.9neuralprophet , timemachines
thinking_fast_and_fast1130.0636yes0.1timemachines
rvr_quickly_hypocratic1107.0508yes0.3river , timemachines
fbprophet_univariate_univariate_hypocratic1098.095yes365.9prophet , timemachines
quick_aggressive_ema_ensemble1098.01249yes0.3timemachines
nprophet_p81044.0265yes47.8neuralprophet , timemachines
rapidly_moving_average982.0788yes0.0timemachines
rvr_p1_d0_q0877.0385yes0.0river , timemachines
rvr_p2_d0_q0816.0895yes0.0river , timemachines
rvr_p8_d0_q0802.0327yes0.1river , timemachines
empirical_last_value743.0626yes0.0timemachines
merlion_mses686.026yes98.3timemachines