Skip to content

A year of changing growth rates ​

match ← All logistic growth benchmarks

365 daily rows of saturating growth whose rate changes, with weekly seasonality and 25 automatic changepoints. Ranges cover every past day and 90 future ones. mcmc_samples=300.

Input ​

benchmark/inputs/v3/logistic-rate-changes.json: 365 history rows and 455 forecast rows.

Output ​

Largest difference: 0.040 (0.027% of the input's range).

Every forecast row from both libraries.

DateEffect ProphetPython ProphetDifference
2020-01-019.45569.46330.0077
2020-01-0210.496210.50550.0093
2020-01-0310.940410.94900.0086
2020-01-0410.440910.43420.0067
2020-01-059.56519.57250.0074
2020-01-069.19449.19250.0019
2020-01-079.59479.60270.0081
2020-01-0810.571110.57660.0055
2020-01-0911.628711.63570.0071
2020-01-1012.090112.09630.0062
2020-01-1111.607911.59880.0091
2020-01-1210.749710.75460.0049
2020-01-1310.396910.39240.0045
2020-01-1410.815410.82100.0056
2020-01-1511.810411.81360.0032
2020-01-1612.886712.89150.0048
2020-01-1713.367113.37120.0041
2020-01-1812.904212.89310.011
2020-01-1912.065612.06860.0030
2020-01-2011.732511.72630.0062
2020-01-2112.170812.17470.0038
2020-01-2213.185913.18730.0013
2020-01-2314.282614.28550.0029
2020-01-2414.783514.78570.0022
2020-01-2514.341614.32870.013
2020-01-2613.524313.52560.0014
2020-01-2713.212713.20500.0077
2020-01-2813.672913.67530.0025
2020-01-2914.710014.71010.00013
2020-01-3015.829015.83080.0019
2020-01-3116.352516.35390.0013
2020-02-0115.933315.91950.014
2020-02-0215.139015.13940.00046
2020-02-0314.850714.84200.0087
2020-02-0415.334315.33580.0015
2020-02-0516.395316.39440.00086
2020-02-0617.538517.53950.00098
2020-02-0718.086718.08720.00047
2020-02-0817.692417.67780.015
2020-02-0916.923216.92300.00021
2020-02-1016.660316.65110.0093
2020-02-1117.169717.17070.00099
2020-02-1218.256718.25540.0013
2020-02-1319.426019.42660.00056
2020-02-1420.000620.00064.8e-5
2020-02-1519.632919.61790.015
2020-02-1618.890618.89000.00064
2020-02-1718.655018.64530.0097
2020-02-1819.192019.19250.00048
2020-02-1920.306920.30500.0019
2020-02-2021.504421.50430.00011
2020-02-2122.107522.10670.00071
2020-02-2221.768621.75270.016
2020-02-2321.055321.05380.0016
2020-02-2420.849120.83840.011
2020-02-2521.415621.41500.00057
2020-02-2622.560322.55730.0029
2020-02-2723.787923.78670.0012
2020-02-2824.421324.41950.0018
2020-02-2924.113324.09620.017
2020-03-0123.431223.42820.0030
2020-03-0223.256423.24410.012
2020-03-0323.854623.85230.0023
2020-03-0425.031325.02640.0049
2020-03-0526.291226.28790.0033
2020-03-0626.957226.95300.0041
2020-03-0726.681726.66230.019
2020-03-0826.032626.02710.0054
2020-03-0925.890925.87610.015
2020-03-1026.522526.51770.0049
2020-03-1127.732927.72540.0075
2020-03-1229.026229.02130.0049
2020-03-1329.725829.72110.0047
2020-03-1429.484329.46530.019
2020-03-1528.869228.86530.0039
2020-03-1628.761928.74970.012
2020-03-1729.428229.42700.0012
2020-03-1830.673330.67070.0026
2020-03-1932.002232.00235.7e-5
2020-03-2032.737632.73800.00039
2020-03-2132.532132.51830.014
2020-03-2231.953231.95470.0015
2020-03-2331.881931.87470.0073
2020-03-2432.584432.58780.0034
2020-03-2533.866033.86740.0014
2020-03-2635.231535.23510.0036
2020-03-2736.003636.00710.0035
2020-03-2835.835035.82390.011
2020-03-2935.293335.29690.0036
2020-03-3035.259735.25470.0051
2020-03-3136.000136.00570.0056
2020-04-0137.319737.32340.0037
2020-04-0238.723338.72930.0060
2020-04-0339.533839.53970.0059
2020-04-0439.401539.39250.0090
2020-04-0538.896138.90160.0055
2020-04-0638.898938.89550.0034
2020-04-0739.675739.68270.0069
2020-04-0841.031841.03670.0048
2020-04-0942.472142.47890.0068
2020-04-1043.319243.32560.0064
2020-04-1143.225743.21730.0085
2020-04-1242.759342.76530.0060
2020-04-1342.801142.79820.0029
2020-04-1443.617043.62450.0075
2020-04-1545.012245.01760.0054
2020-04-1646.484546.49140.0069
2020-04-1747.363547.36960.0061
2020-04-1847.301847.29250.0093
2020-04-1946.867146.87180.0047
2020-04-2046.940446.93570.0047
2020-04-2147.787747.79280.0051
2020-04-2249.214149.21660.0025
2020-04-2350.724550.72850.0040
2020-04-2451.641751.64470.0031
2020-04-2551.618051.60570.012
2020-04-2651.221251.22280.0016
2020-04-2751.309451.30060.0088
2020-04-2852.171052.17115.1e-5
2020-04-2953.611353.60770.0036
2020-04-3055.135255.13200.0032
2020-05-0156.065256.06010.0051
2020-05-0256.054056.03240.022
2020-05-0355.669155.66030.0088
2020-05-0455.791755.77240.019
2020-05-0556.687656.67700.011
2020-05-0658.162058.14760.014
2020-05-0759.719859.70570.014
2020-05-0860.683560.66730.016
2020-05-0960.232860.20290.030
2020-05-1059.404059.38970.014
2020-05-1159.078359.05630.022
2020-05-1259.521559.51100.011
2020-05-1360.538960.52750.011
2020-05-1461.635461.62700.0083
2020-05-1562.133562.12600.0075
2020-05-1661.686061.66480.021
2020-05-1760.860460.85480.0056
2020-05-1860.537960.52460.013
2020-05-1960.984260.98250.0017
2020-05-2062.004862.00220.0026
2020-05-2163.091663.09120.00045
2020-05-2263.580163.57950.00066
2020-05-2363.122963.10750.015
2020-05-2462.287462.28670.00072
2020-05-2561.955161.94560.0095
2020-05-2662.391562.39260.0011
2020-05-2763.402263.40130.00085
2020-05-2864.491764.49300.0013
2020-05-2964.983064.98410.0011
2020-05-3064.528564.51490.014
2020-05-3163.695863.69690.0011
2020-06-0163.361663.35310.0085
2020-06-0263.796163.79740.0013
2020-06-0364.804864.80340.0014
2020-06-0465.892465.89245.2e-5
2020-06-0566.381766.38070.0010
2020-06-0665.925265.90870.017
2020-06-0765.090565.08780.0027
2020-06-0864.758964.74660.012
2020-06-0965.196065.19360.0024
2020-06-1066.207366.20210.0052
2020-06-1167.297567.29360.0038
2020-06-1267.789367.78450.0048
2020-06-1367.333667.31350.020
2020-06-1466.499766.49360.0061
2020-06-1566.168766.15340.015
2020-06-1666.606666.60120.0054
2020-06-1767.618667.61070.0079
2020-06-1868.709568.70310.0064
2020-06-1969.202169.19490.0071
2020-06-2068.748868.72640.022
2020-06-2167.917367.90900.0084
2020-06-2267.588967.57120.018
2020-06-2368.029268.02150.0077
2020-06-2469.043769.03350.010
2020-06-2570.136470.12820.0082
2020-06-2670.630770.62220.0085
2020-06-2770.179270.15590.023
2020-06-2869.349469.34070.0087
2020-06-2969.022769.00520.018
2020-06-3069.464869.45770.0070
2020-07-0170.480970.47190.0091
2020-07-0271.576071.56900.0070
2020-07-0372.072772.06540.0073
2020-07-0471.623671.60150.022
2020-07-0570.796370.78880.0075
2020-07-0670.471570.45520.016
2020-07-0770.915570.90980.0057
2020-07-0871.933671.92600.0076
2020-07-0973.030673.02510.0055
2020-07-1073.529373.52350.0057
2020-07-1173.082173.06160.020
2020-07-1272.256672.25090.0058
2020-07-1371.934271.91970.015
2020-07-1472.380572.37660.0039
2020-07-1573.401073.39510.0059
2020-07-1674.500374.49650.0037
2020-07-1775.001274.99730.0039
2020-07-1874.556574.53730.019
2020-07-1973.733573.72840.0051
2020-07-2073.413573.39910.014
2020-07-2173.862373.85790.0044
2020-07-2274.885274.87830.0069
2020-07-2375.986975.98160.0053
2020-07-2476.490376.48420.0061
2020-07-2576.047876.02650.021
2020-07-2675.227175.21980.0073
2020-07-2774.909474.89280.017
2020-07-2875.360475.35380.0066
2020-07-2976.385576.37640.0091
2020-07-3077.491177.48320.0079
2020-07-3177.998277.98930.0090
2020-08-0177.559677.53500.025
2020-08-0276.742776.73180.011
2020-08-0376.428776.40830.020
2020-08-0476.883576.87270.011
2020-08-0577.912477.89880.014
2020-08-0679.020279.00780.012
2020-08-0779.529579.51600.014
2020-08-0879.093079.06390.029
2020-08-0978.278378.26290.015
2020-08-1077.973777.94820.026
2020-08-1178.438078.42150.016
2020-08-1279.476379.45640.020
2020-08-1380.593480.57430.019
2020-08-1481.112281.09140.021
2020-08-1580.685280.64820.037
2020-08-1679.879979.85610.024
2020-08-1779.577579.54360.034
2020-08-1880.044080.01910.025
2020-08-1981.084581.05620.028
2020-08-2082.203882.17630.028
2020-08-2182.724882.69560.029
2020-08-2282.536182.49630.040
2020-08-2381.970081.94900.021
2020-08-2481.907681.88210.025
2020-08-2582.614782.60400.011
2020-08-2683.896783.88830.0084
2020-08-2785.258385.25630.0020
2020-08-2886.022286.02430.0021
2020-08-2985.841085.83270.0083
2020-08-3085.282285.29290.011
2020-08-3185.227185.23340.0063
2020-09-0185.941485.96260.021
2020-09-0287.325287.34320.018
2020-09-0388.788988.80770.019
2020-09-0489.655189.67240.017
2020-09-0589.576589.57780.0013
2020-09-0689.120589.13510.015
2020-09-0789.168489.17290.0046
2020-09-0889.985989.99970.014
2020-09-0991.378391.38880.011
2020-09-1092.850392.86170.011
2020-09-1193.724893.73460.0098
2020-09-1293.654193.64790.0062
2020-09-1393.205993.21300.0071
2020-09-1493.271493.26850.0029
2020-09-1594.106494.11280.0064
2020-09-1695.516095.51920.0032
2020-09-1797.005197.00920.0041
2020-09-1897.896597.89910.0026
2020-09-1997.842597.82910.013
2020-09-2097.410897.41084.0e-5
2020-09-2197.482597.47250.010
2020-09-2298.323498.32270.00067
2020-09-2399.738899.73490.0039
2020-09-24101.2334101.23040.0030
2020-09-25102.1300102.12550.0045
2020-09-26102.0833102.06330.020
2020-09-27101.6586101.65250.0060
2020-09-28101.7371101.72160.016
2020-09-29102.5846102.57880.0057
2020-09-30104.0063103.99790.0084
2020-10-01105.5070105.50000.0070
2020-10-02106.4094106.40140.0080
2020-10-03106.3660106.34260.023
2020-10-04105.9444105.93490.0095
2020-10-05106.0258106.00680.019
2020-10-06106.8758106.86670.0092
2020-10-07108.3005108.28890.012
2020-10-08109.8038109.79400.0098
2020-10-09110.7087110.69820.010
2020-10-10110.6675110.64190.026
2020-10-11110.2478110.23650.011
2020-10-12110.3308110.31040.020
2020-10-13111.1823111.17200.010
2020-10-14112.6075112.59490.013
2020-10-15114.1112114.10030.011
2020-10-16115.0162115.00470.012
2020-10-17114.9748114.94820.027
2020-10-18114.5547114.54240.012
2020-10-19114.6369114.61580.021
2020-10-20115.4872115.47670.011
2020-10-21116.9111116.89860.013
2020-10-22118.4132118.40280.010
2020-10-23119.3162119.30560.011
2020-10-24119.2728119.24740.025
2020-10-25118.8503118.83960.011
2020-10-26118.9301118.91060.019
2020-10-27119.7778119.76890.0089
2020-10-28121.1988121.18800.011
2020-10-29122.6978122.68910.0087
2020-10-30123.5975123.58860.0089
2020-10-31123.5504123.52680.024
2020-11-01123.1242123.11520.0090
2020-11-02123.1999123.18210.018
2020-11-03124.0433124.03610.0072
2020-11-04125.4597125.45060.0092
2020-11-05126.9540126.94690.0070
2020-11-06127.8487127.84140.0072
2020-11-07127.7964127.77440.022
2020-11-08127.3646127.35730.0073
2020-11-09127.4346127.41850.016
2020-11-10128.2721128.26660.0055
2020-11-11129.6824129.67490.0075
2020-11-12131.1702131.16490.0053
2020-11-13132.0583132.05280.0056
2020-11-14131.9992131.97890.020
2020-11-15131.5604131.55470.0056
2020-11-16131.6231131.60870.014
2020-11-17132.4531132.44930.0038
2020-11-18133.8557133.84990.0058
2020-11-19135.3357135.33200.0037
2020-11-20136.2156136.21180.0039
2020-11-21136.1482136.12960.019
2020-11-22135.7009135.69690.0040
2020-11-23135.7549135.74210.013
2020-11-24136.5760136.57380.0022
2020-11-25137.9694137.96530.0042
2020-11-26139.4400139.43800.0020
2020-11-27140.3105140.30820.0023
2020-11-28140.2333140.21630.017
2020-11-29139.7761139.77370.0024
2020-11-30139.8200139.80890.011
2020-12-01140.6308140.63020.00060
2020-12-02142.0138142.01120.0026
2020-12-03143.4738143.47330.00045
2020-12-04144.3334144.33270.00068
2020-12-05144.2452144.22980.015
2020-12-06143.7768143.77600.00081
2020-12-07143.8094143.79980.0096
2020-12-08144.6087144.60970.00095
2020-12-09145.9800145.97900.0010
2020-12-10147.4281147.42920.0011
2020-12-11148.2758148.27660.00084
2020-12-12148.1755148.16160.014
2020-12-13147.6948147.69550.00070
2020-12-14147.7149147.70680.0081
2020-12-15148.5016148.50400.0024
2020-12-16149.8601149.86060.00044
2020-12-17151.2953151.29790.0025
2020-12-18152.1299152.13220.0023
2020-12-19152.0164152.00400.012
2020-12-20151.5224151.52450.0021
2020-12-21151.5291151.52240.0067
2020-12-22152.3022152.30600.0039
2020-12-23153.6470153.64890.0018
2020-12-24155.0684155.07230.0039
2020-12-25155.8890155.89270.0037
2020-12-26155.7615155.75040.011
2020-12-27155.2532155.25670.0035
2020-12-28155.2456155.24030.0053
2020-12-29156.0043156.00940.0052
2020-12-30157.3346157.33780.0032
2020-12-31158.7413158.74660.0052
2021-01-01159.5472159.55220.0050
2021-01-02159.4048159.39500.0098
2021-01-03158.8817158.88640.0048
2021-01-04158.8590158.85490.0041
2021-01-05159.6025159.60900.0064
2021-01-06160.9176160.92200.0044
2021-01-07162.3091162.31560.0065
2021-01-08163.0996163.10580.0062
2021-01-09162.9417162.93310.0086
2021-01-10162.4030162.40900.0059
2021-01-11162.3647162.36180.0029
2021-01-12163.0926163.10020.0076
2021-01-13164.3919164.39750.0055
2021-01-14165.7676165.77510.0076
2021-01-15166.5422166.54950.0073
2021-01-16166.3683166.36080.0075
2021-01-17165.8136165.82070.0070
2021-01-18165.7592165.75740.0018
2021-01-19166.4710166.47960.0087
2021-01-20167.7541167.76070.0066
2021-01-21169.1135169.12220.0086
2021-01-22169.8719169.88020.0083
2021-01-23169.6817169.67520.0065
2021-01-24169.1106169.11870.0080
2021-01-25169.0398169.03900.00082
2021-01-26169.7351169.74480.0096
2021-01-27171.0018171.00940.0076
2021-01-28172.3447172.35430.0096
2021-01-29173.0865173.09580.0093
2021-01-30172.8798172.87420.0056
2021-01-31172.2921172.30110.0089
2021-02-01172.2047172.20486.7e-5
2021-02-02172.8834172.89390.010
2021-02-03174.1334174.14190.0084
2021-02-04175.4596175.47010.010
2021-02-05176.1848176.19490.010
2021-02-06175.9613175.95660.0048
2021-02-07175.3570175.36670.0097
2021-02-08175.2529175.25370.00086
2021-02-09175.9148175.92610.011
2021-02-10177.1481177.15730.0092
2021-02-11178.4576178.46880.011
2021-02-12179.1660179.17680.011
2021-02-13178.9259178.92180.0040
2021-02-14178.3048178.31520.010
2021-02-15178.1840178.18550.0016
2021-02-16178.8292178.84120.012
2021-02-17180.0458180.05570.0099
2021-02-18181.3387181.35050.012
2021-02-19182.0304182.04190.011
2021-02-20181.7736181.77020.0034
2021-02-21181.1359181.14700.011
2021-02-22180.9985181.00060.0022
2021-02-23181.6271181.63970.013
2021-02-24182.8272182.83760.010
2021-02-25184.1035184.11590.012
2021-02-26184.7787184.79070.012
2021-02-27184.5054184.50250.0029
2021-02-28183.8512183.86280.012
2021-03-01183.6974183.70010.0027
2021-03-02184.3097184.32270.013
2021-03-03185.4934185.50430.011
2021-03-04186.7533186.76620.013
2021-03-05187.4123187.42480.012
2021-03-06187.1227187.12030.0024
2021-03-07186.4524186.46440.012
2021-03-08186.2823186.28550.0031
2021-03-09186.8785186.89200.013
2021-03-10188.0461188.05750.011
2021-03-11189.2900189.30330.013
2021-03-12189.9330189.94590.013
2021-03-13189.6275189.62550.0020
2021-03-14188.9413188.95370.012
2021-03-15188.7554188.75890.0035
2021-03-16189.3358189.34960.014
2021-03-17190.4877190.49930.012
2021-03-18191.7159191.72950.014
2021-03-19192.3432192.35640.013
2021-03-20192.0222192.02050.0017
2021-03-21191.3204191.33310.013
2021-03-22191.1191191.12280.0038
2021-03-23191.6840191.69810.014
2021-03-24192.8206192.83250.012
2021-03-25194.0335194.04740.014
2021-03-26194.6456194.65910.013
2021-03-27194.3094194.30800.0015
2021-03-28193.5926193.60550.013
2021-03-29193.3762193.38020.0040
2021-03-30193.9262193.94050.014

Timing ​

Median of all measured repetitions.

StepEffect ProphetPython ProphetEffect Prophet is
Fit31.6 s6.93 s4.6× slower
Predict1.91 ms5.12 msNot compared: different work
Save model to JSON745 µs44.9 ms60× faster
Load model from JSON5.42 ms22.9 ms4.2× faster
Simulate uncertainty38.4 ms356 msNot compared: different work
Load and simulate in a new process245 ms1.89 sNot compared: different work

Some steps aren't compared, because the two libraries' public calls produce different outputs. Their times show what each call costs, not which library is faster.

  • Predict: Python's predict on a posterior also computes every component's range over the draws, while Effect Prophet's predict returns point forecasts and leaves ranges to predictWithIntervals.
  • Simulate uncertainty, Load and simulate in a new process: Python's predict(vectorized=False) also builds the point forecast and every component, while Effect Prophet's predictUncertainty returns only the ranges.

Settings ​

The case declaration both libraries ran.

json
{
  "kind": "map",
  "comparison": {
    "kind": "equivalent-posterior",
    "evidenceId": "posterior-nuts-v1"
  },
  "configuration": {
    "growth": "logistic",
    "scaling": "absmax",
    "seasonalityMode": "additive",
    "holidaysMode": "additive",
    "changepoints": {
      "mode": "auto",
      "count": 25,
      "range": 0.8
    },
    "changepointPriorScale": 0.05,
    "seasonalities": [
      {
        "name": "weekly-custom",
        "periodDays": 7,
        "fourierOrder": 3,
        "priorScale": 10
      }
    ],
    "events": [],
    "regressors": []
  },
  "pythonOptimizer": {
    "algorithm": "Auto",
    "maxIterations": 10000,
    "newtonFallback": true,
    "sigFigs": 12
  },
  "uncertainty": {
    "seed": 19,
    "samples": 1000,
    "intervalWidth": 0.8,
    "output": "intervals",
    "algorithm": "scalar-continuous-time",
    "evidence": "docs/validation/uncertainty.md#evidence-classes",
    "samplerMemoryLimitBytes": 67108864
  },
  "mcmc": {
    "samples": 300,
    "seed": 19,
    "pointWidthFraction": 0.15
  }
}

Inspired by Prophet from Meta. Not affiliated with Meta.