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_precision_combined_ensemble2100.027yes583.1statsmodels , timemachines
tsa_p2_d0_q12082.0399yes172.9statsmodels , timemachines
orbit_lgt_242049.014yes51.7orbit-ml , timemachines
tsa_p1_d0_q12018.0380yes107.0statsmodels , timemachines
bats_damped_arma2018.019yes1089.1tbats , timemachines
sk_ae_add_damped1990.01084yes11.4sktime , timemachines
tsa_precision_d0_ensemble1984.041yes282.1statsmodels , timemachines
sk_autoarima1974.072yes151.4sktime , timemachines
divine_univariate_hypocratic_fast1967.0143yes71.0divinity , timemachines
elo_faster_residual_balanced_ensemble1952.01581yes3.7timemachines
quick_balanced_ema_ensemble1949.01159yes0.2timemachines
sk_ae1922.0958yes11.5sktime , timemachines
bats_bc1916.023yes257.1tbats , timemachines
elo_fastest_univariate_aggressive_ensemble1912.01019yes0.9timemachines
tsa_p2_d0_q01899.0657yes48.1statsmodels , timemachines
elo_faster_residual_precision_ensemble1898.0669yes2.5timemachines
slow_balanced_ema_ensemble1897.01449yes0.2timemachines
bats_trendy_bc1888.025yes517.4tbats , timemachines
bats_trendy1881.015yes366.1tbats , timemachines
aggressive_ema_ensemble1881.01335yes0.2timemachines
tsa_p3_d0_q01877.0300yes96.2statsmodels , timemachines
tsa_balanced_d0_ensemble1863.028yes171.9statsmodels , timemachines
bats_arma_bc1859.07no4617.3tbats , timemachines
precision_ema_ensemble1857.01278yes0.0timemachines
elo_faster_residual_aggressive_ensemble1845.0823yes1.8timemachines
slow_aggressive_ema_ensemble1825.01539yes0.1timemachines
bats_trendy_arma1818.014yes698.2tbats , timemachines
sk_theta1818.01265yes1.3sktime , timemachines
slow_precision_ema_ensemble1817.01173yes0.2timemachines
bats_fast1806.026yes284.1tbats , timemachines
tsa_p3_d0_q11797.0212yes61.9statsmodels , timemachines
elo_fastest_residual_precision_ensemble1791.01689yes1.9timemachines
divine_univariate_hypocratic_slow1791.0135yes163.7divinity , timemachines
darts_autoarima1779.034yes62.9darts , timemachines
tsa_precision_theta_ensemble1777.01157yes4.6statsmodels , timemachines
bats_damped_bc1775.029yes1265.9tbats , timemachines
empirical_last_value1767.01001yes0.0timemachines
tsa_aggressive_combined_ensemble1765.014yes278.2statsmodels , timemachines
quickly_moving_average1764.01800yes0.0timemachines
bats_damped_arma_bc1759.021yes1696.2tbats , timemachines
quick_aggressive_ema_ensemble1759.01875yes0.1timemachines
bats_trendy_arma_bc1745.020yes3227.4tbats , timemachines
tsa_balanced_theta_ensemble1743.01425yes6.2statsmodels , timemachines
bats_damped1731.025yes984.1tbats , timemachines
tsa_aggressive_d0_ensemble1719.042yes176.4statsmodels , timemachines
dlm_univariate_a1719.061no-1.0pydlm , timemachines
elo_fastest_univariate_balanced_ensemble1719.01470yes0.7timemachines
nprophet_p2_hypocratic1712.0449yes36.7neuralprophet , timemachines
elo_fastest_residual_aggressive_ensemble1709.01806yes2.7timemachines
bats_arma1704.012yes252.7tbats , timemachines
tsa_aggressive_theta_ensemble1685.01180yes3.5statsmodels , timemachines
pycrt_median_81674.04yes2879.6pycaret , timemachines
divine_univariate1668.0224yes-0.1divinity , timemachines
merlion_mses1666.015yes121.7timemachines
rapidly_moving_average1653.01422yes0.0timemachines
slowly_moving_average1651.01518yes0.0timemachines
quick_precision_ema_ensemble1644.01145yes0.1timemachines
thinking_slow_and_slow1642.01240yes0.0timemachines
nprophet_p11638.01072yes36.2neuralprophet , timemachines
tsa_balanced_combined_ensemble1638.033yes701.0statsmodels , timemachines
fbprophet_cautious1634.0152yes83.2prophet , timemachines
pycrt_median_31630.02yes1392.1pycaret , timemachines
fbprophet_cautious_hypocratic1620.0103yes75.2prophet , timemachines
tsa_slowly_hypocratic_d0_ensemble1613.077yes159.1statsmodels , timemachines
tsa_p1_d0_q01608.0766yes38.7statsmodels , timemachines
darts_four_theta1608.0112no2.1darts , timemachines
balanced_ema_ensemble1605.01169yes0.1timemachines
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
fbprophet_chaser16000no-1.0prophet , timemachines
darts_nbeats16000no-1.0darts , timemachines
fbprophet_univariate1598.0238yes154.8prophet , timemachines
fbprophet_univariate_hypocratic1591.0111yes81.8prophet , timemachines
pycrt_median_3_full1590.02yes24587.1pycaret , timemachines
nprophet_p31588.0404yes64.4neuralprophet , timemachines
elo_faster_univariate_precision_ensemble1577.0964yes21.4timemachines
darts_arima1571.073no7.7darts , timemachines
smdk_p5_d0_q3_n10001566.0525yes33.9simdkalman , timemachines
elo_fastest_residual_balanced_ensemble1565.01307yes2.7timemachines
darts_prophet1558.028yes98.8darts , timemachines
pycrt_mean_81551.02no4365.7pycaret , timemachines
elo_faster_univariate_aggressive_ensemble1547.01157yes26.5timemachines
smdk_p5_d0_q3_n5001525.01189yes17.0simdkalman , timemachines
nprophet_p81525.0412yes37.2neuralprophet , timemachines
thinking_fast_and_fast1523.01136yes0.0timemachines
sk_ae_add1516.01304yes22.7sktime , timemachines
tsa_quickly_hypocratic_d0_ensemble1505.067yes162.2statsmodels , timemachines
pycrt_mean_31503.01no1364.8pycaret , timemachines
thinking_precision_ensemble1494.055yes0.5timemachines
elo_faster_univariate_balanced_ensemble1490.0906yes17.9timemachines
darts_theta1473.091no1.2darts , timemachines
smdk_p5_d0_q3_n500_aggressive1461.0729yes25.4simdkalman , timemachines
elo_fastest_univariate_precision_ensemble1451.01198yes1.0timemachines
fbprophet_univariate_univariate_hypocratic1424.093yes244.4prophet , timemachines
fbprophet_exogenous_hypocratic1416.0114yes81.4prophet , timemachines
gk_basic_skater1406.04no1557.8greykite , timemachines
merlion_prophet1400.09yes44.1timemachines
dlm_univariate_b1399.045no-1.0pydlm , timemachines
thinking_fast_and_slow1396.01275yes0.0timemachines
rvr_slowly_hypocratic1384.0551yes0.6river , timemachines
darts_fft1378.069yes0.7darts , timemachines
thinking_slow_and_fast1371.01340yes0.0timemachines
smdk_p5_d0_q3_n1000_aggressive1369.0599yes48.2simdkalman , timemachines
nprophet_p21368.0476yes0.0neuralprophet , timemachines
fbprophet_exogenous1345.0164yes88.9prophet , timemachines
pmd_univariate1336.0994yes20.1pmdarima , timemachines
darts_exp_smoothing1333.0134no10.4darts , timemachines
rvr_balanced_ensemble1332.0794yes0.4river , timemachines
nprophet_p51332.0557yes36.6neuralprophet , timemachines
nprophet_p8_hypocratic1331.0538yes48.4neuralprophet , timemachines
orbit_lgt_121303.04yes31.7orbit-ml , timemachines
nprophet_p5_hypocratic1287.0440yes61.3neuralprophet , timemachines
sluggish_moving_average1285.01932yes0.0timemachines
merlion_arima1268.09yes24.2timemachines
fbprophet_recursive1264.0164yes165.3prophet , timemachines
pmd_exogenous_hypocratic1261.0951yes13.0pmdarima , timemachines
suc_quick_aggressive_ema_ensemble1260.065no4.3successor , timemachines
suc_tsa_p2_d0_q11246.075no3.0successor , timemachines
nprophet_p3_hypocratic1229.0473yes36.5neuralprophet , timemachines
rvr_p2_d0_q01183.01551yes0.1river , timemachines
rvr_quickly_hypocratic1174.0921yes0.6river , timemachines
fbprophet_exogenous_exogenous1170.096yes325.4prophet , timemachines
nprophet_p1_hypocratic1130.0382yes61.7neuralprophet , timemachines
fbprophet_known1101.0168yes134.9prophet , timemachines
suc_tsa_aggressive_d0_ensemble1014.09yes1.7successor , timemachines
rvr_p1_d0_q0955.0704yes0.0river , timemachines
rvr_p5_d0_q0868.0972no0.0river , timemachines
rvr_p8_d0_q0811.0610yes0.1river , timemachines