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_ensemble2252.0413yes12.9timemachines
tsa_p3_d0_q12224.0103yes35.5statsmodels , timemachines
elo_fastest_univariate_precision_ensemble2210.0969yes2.0timemachines
tsa_p2_d0_q12192.0204yes44.9statsmodels , timemachines
tsa_p3_d0_q02186.0380yes34.9statsmodels , timemachines
tsa_aggressive_combined_ensemble2181.024yes205.8statsmodels , timemachines
elo_fastest_residual_balanced_ensemble2177.0663yes6.4timemachines
elo_faster_residual_aggressive_ensemble2169.0407yes22.5timemachines
bats_fast2139.020yes580.7tbats , timemachines
sluggish_moving_average2128.0803yes0.1timemachines
elo_fastest_univariate_balanced_ensemble2099.0682yes1.9timemachines
tsa_p1_d0_q02075.0433yes15.1statsmodels , timemachines
tsa_quickly_hypocratic_d0_ensemble2063.052yes144.6statsmodels , timemachines
pmd_exogenous_hypocratic2063.0483yes4.4pmdarima , timemachines
elo_faster_residual_balanced_ensemble2047.0530yes60.4timemachines
elo_faster_residual_precision_ensemble2008.0538yes15.3timemachines
tsa_precision_d0_ensemble1994.013yes43844.2statsmodels , timemachines
rvr_slowly_hypocratic1972.0311no0.2river , timemachines
elo_fastest_univariate_aggressive_ensemble1964.0600yes1.9timemachines
tsa_slowly_hypocratic_d0_ensemble1949.056yes165.9statsmodels , timemachines
thinking_slow_and_fast1899.0716yes0.1timemachines
rvr_quickly_hypocratic1897.0384yes0.4river , timemachines
tsa_balanced_combined_ensemble1891.021yes184.9statsmodels , timemachines
sk_autoarima1889.058yes134.4sktime , timemachines
thinking_slow_and_slow1887.0660yes0.1timemachines
fbprophet_exogenous_hypocratic1882.047yes90.9prophet , timemachines
elo_fastest_residual_precision_ensemble1877.0651yes0.8timemachines
elo_faster_univariate_aggressive_ensemble1875.0523yes2.9timemachines
tsa_balanced_d0_ensemble1871.015yes1191.6statsmodels , timemachines
darts_autoarima1868.019no89.7darts , timemachines
fbprophet_univariate1867.071yes80.9prophet , timemachines
divine_univariate1855.069yes-0.1divinity , timemachines
bats_arma1854.011no2195.7tbats , timemachines
slow_precision_ema_ensemble1853.0697yes0.2timemachines
slow_balanced_ema_ensemble1852.0895yes0.4timemachines
tsa_precision_combined_ensemble1849.033yes199.2statsmodels , timemachines
tsa_p1_d0_q11847.0293yes58.7statsmodels , timemachines
slowly_moving_average1840.0931yes0.0timemachines
bats_damped_bc1839.019yes292.7tbats , timemachines
tsa_p2_d0_q01833.0254yes36.3statsmodels , timemachines
darts_arima1831.027no28.5darts , timemachines
bats_damped_arma_bc1830.020yes1460.6tbats , timemachines
divine_univariate_hypocratic_fast1825.068yes-0.1divinity , timemachines
divine_univariate_hypocratic_slow1814.087yes-0.1divinity , timemachines
elo_fastest_residual_aggressive_ensemble1813.0549yes0.9timemachines
suc_quick_aggressive_ema_ensemble1802.021yes6.5successor , timemachines
fbprophet_cautious1791.055yes125.3prophet , timemachines
sk_ae_add_damped1789.0831yes6.3sktime , timemachines
fbprophet_exogenous1771.088yes179.0prophet , timemachines
elo_faster_univariate_precision_ensemble1769.0526yes3.0timemachines
merlion_arima1755.013yes30.2timemachines
orbit_lgt_121755.02yes-0.1orbit-ml , timemachines
bats_trendy_arma1750.010yes1300.0tbats , timemachines
balanced_ema_ensemble1748.0894yes0.3timemachines
bats_trendy1748.015yes1033.2tbats , timemachines
rvr_balanced_ensemble1746.0426yes0.3river , timemachines
thinking_precision_ensemble1745.024yes0.7timemachines
fbprophet_recursive1741.039yes120.0prophet , timemachines
bats_trendy_bc1726.018yes851.2tbats , timemachines
fbprophet_univariate_hypocratic1709.056yes76.9prophet , timemachines
thinking_fast_and_slow1704.0656yes0.1timemachines
bats_damped_arma1704.05yes592.2tbats , timemachines
bats_damped1698.010yes388.3tbats , timemachines
bats_trendy_arma_bc1696.014yes497.6tbats , timemachines
darts_four_theta1678.050yes1.3darts , timemachines
slow_aggressive_ema_ensemble1672.0642yes0.4timemachines
sk_ae1670.0758yes13.1sktime , timemachines
thinking_fast_and_fast1661.0700yes0.2timemachines
precision_ema_ensemble1661.01058yes0.3timemachines
pmd_univariate1649.0460yes3.4pmdarima , timemachines
gk_basic_skater1628.02yes1570.2greykite , timemachines
tsa_precision_theta_ensemble1613.0575yes1.7statsmodels , timemachines
sk_ae_add1613.01056yes15.3sktime , timemachines
merlion_prophet16000yes-1.0timemachines
pycrt_median_316000yes-0.4pycaret , timemachines
pycrt_median_816000yes-0.5pycaret , timemachines
pycrt_mean_316000yes-0.7pycaret , timemachines
pycrt_mean_816000yes-1.0pycaret , timemachines
pycrt_median_3_full16000yes-1.0pycaret , timemachines
orbit_lgt_2416000yes-0.1orbit-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.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_aggressive_theta_ensemble1599.0988yes5.0statsmodels , timemachines
tsa_balanced_theta_ensemble1597.0647yes1.9statsmodels , timemachines
darts_prophet1594.06no80.1darts , timemachines
fbprophet_known1576.037yes678.0prophet , timemachines
darts_theta1571.037no1.2darts , timemachines
sk_theta1566.0628yes0.8sktime , timemachines
quick_precision_ema_ensemble1551.0774yes0.2timemachines
tsa_aggressive_d0_ensemble1524.013yes4334.7statsmodels , timemachines
quick_balanced_ema_ensemble1522.0726yes0.2timemachines
aggressive_ema_ensemble1508.0818yes0.3timemachines
quickly_moving_average1445.0705yes0.0timemachines
fbprophet_cautious_hypocratic1437.035yes221.5prophet , timemachines
darts_exp_smoothing1431.0104yes9.4darts , timemachines
darts_fft1415.034no0.7darts , timemachines
quick_aggressive_ema_ensemble1413.01427yes0.4timemachines
bats_bc1369.023yes439.1tbats , timemachines
rvr_p8_d0_q01360.0357no0.0river , timemachines
bats_arma_bc1337.09yes4193.6tbats , timemachines
fbprophet_exogenous_exogenous1335.043yes223.2prophet , timemachines
rapidly_moving_average1297.0801yes0.0timemachines
suc_tsa_aggressive_d0_ensemble1205.04yes4.1successor , timemachines
rvr_p5_d0_q01196.0373yes0.0river , timemachines
fbprophet_univariate_univariate_hypocratic1169.047yes626.4prophet , timemachines
rvr_p1_d0_q01099.0563yes0.0river , timemachines
nprophet_p51012.0241yes47.6neuralprophet , timemachines
rvr_p2_d0_q01004.0448yes0.0river , timemachines
merlion_mses979.013yes131.8timemachines
empirical_last_value971.0513yes0.0timemachines
nprophet_p1_hypocratic918.0218yes44.8neuralprophet , timemachines
nprophet_p3814.0152yes77.1neuralprophet , timemachines
suc_tsa_p2_d0_q1806.018no8.6successor , timemachines
nprophet_p8_hypocratic804.0149yes39.0neuralprophet , timemachines
nprophet_p8779.0164yes33.9neuralprophet , timemachines
nprophet_p2762.0204yes68.4neuralprophet , timemachines
nprophet_p3_hypocratic714.0160yes86.0neuralprophet , timemachines
nprophet_p2_hypocratic710.0165yes48.0neuralprophet , timemachines
nprophet_p5_hypocratic708.0294yes61.9neuralprophet , timemachines
smdk_p5_d0_q3_n1000656.016no73.1simdkalman , timemachines
nprophet_p1645.0289yes34.7neuralprophet , timemachines
smdk_p5_d0_q3_n1000_aggressive441.023no73.4simdkalman , timemachines
smdk_p5_d0_q3_n500357.0123yes115.7simdkalman , timemachines
smdk_p5_d0_q3_n500_aggressive285.0127no49.8simdkalman , timemachines