Skip to content

Weekly pattern, eight months ​

match flagged ← All logistic growth benchmarks

256 daily rows approaching the ceiling, with 64 days of forecast.

Input ​

benchmark/inputs/v1/logistic-implicit-floor-large.json: 256 history rows and 64 forecast rows.

Output ​

Largest difference: 2.3e-5 (< 0.0001% of the input's range).

Every forecast row from both libraries.

DateEffect ProphetPython ProphetDifference
2020-09-1390.515990.51591.9e-6
2020-09-1490.422790.42272.3e-5
2020-09-1590.622890.62281.8e-5
2020-09-1691.050291.05021.7e-5
2020-09-1791.524791.52481.5e-5
2020-09-1891.762691.76267.1e-6
2020-09-1991.631691.63161.7e-7
2020-09-2091.357291.35722.5e-6
2020-09-2191.264091.26402.3e-5
2020-09-2291.464091.46401.8e-5
2020-09-2391.891391.89141.7e-5
2020-09-2492.365892.36591.6e-5
2020-09-2592.603692.60366.7e-6
2020-09-2692.472692.47266.1e-7
2020-09-2792.198292.19822.9e-6
2020-09-2892.104992.10492.2e-5
2020-09-2992.304992.30481.7e-5
2020-09-3092.732292.73221.8e-5
2020-10-0193.206693.20671.6e-5
2020-10-0293.444493.44446.3e-6
2020-10-0393.313393.31339.4e-7
2020-10-0493.038993.03893.2e-6
2020-10-0592.945692.94552.2e-5
2020-10-0693.145593.14551.7e-5
2020-10-0793.572893.57281.8e-5
2020-10-0894.047294.04721.7e-5
2020-10-0994.285094.28496.1e-6
2020-10-1094.153894.15381.2e-6
2020-10-1193.879493.87943.5e-6
2020-10-1293.786193.78602.2e-5
2020-10-1393.986093.98591.7e-5
2020-10-1494.413294.41321.8e-5
2020-10-1594.887694.88771.7e-5
2020-10-1695.125495.12535.9e-6
2020-10-1794.994294.99421.4e-6
2020-10-1894.719794.71973.6e-6
2020-10-1994.626494.62642.2e-5
2020-10-2094.826394.82631.7e-5
2020-10-2195.253595.25361.8e-5
2020-10-2295.727995.72801.7e-5
2020-10-2395.965695.96565.7e-6
2020-10-2495.834595.83451.5e-6
2020-10-2595.560095.56003.8e-6
2020-10-2695.466795.46662.1e-5
2020-10-2795.666595.66651.6e-5
2020-10-2896.093896.09381.9e-5
2020-10-2996.568296.56821.7e-5
2020-10-3096.805996.80595.6e-6
2020-10-3196.674796.67471.6e-6
2020-11-0196.400296.40023.9e-6
2020-11-0296.306896.30682.1e-5
2020-11-0396.506796.50671.6e-5
2020-11-0496.933996.93401.9e-5
2020-11-0597.408397.40831.7e-5
2020-11-0697.646097.64605.5e-6
2020-11-0797.514897.51481.7e-6
2020-11-0897.240397.24033.9e-6
2020-11-0997.147097.14702.1e-5
2020-11-1097.346897.34681.6e-5
2020-11-1197.774197.77411.9e-5
2020-11-1298.248498.24851.7e-5
2020-11-1398.486198.48615.5e-6
2020-11-1498.354998.35491.8e-6
2020-11-1598.080498.08044.0e-6

Internal fit differences ​

The forecasts match, so this case passes. Both libraries search for the best-fitting parameters and stop when they are close enough. On this input they stopped at slightly different points, so these internal numbers differ by more than the threshold where we take a closer look.

CheckEffect ProphetPython ProphetThreshold
Stationarity residual (lower is closer to the best fit)108.10474.44410.01

Timing ​

Median of all measured repetitions.

StepEffect ProphetPython ProphetEffect Prophet is
Convert input rows69 µs569 µs8.2× faster
Fit4.72 ms9.83 ms2.1× faster
Predict421 µs3.28 ms7.8× faster
Fit and predict4.70 ms13.0 ms2.8× faster
Convert, fit and predict4.46 ms13.8 ms3.1× faster
First forecast in a new process178 ms1.44 s8.1× faster
Save model to JSON28 µs659 µs24× faster
Load model from JSON98 µs2.67 ms27× faster
Load and predict in a new process163 ms1.46 s8.9× faster

Settings ​

The case declaration both libraries ran.

json
{
  "kind": "map",
  "comparison": {
    "kind": "equivalent-objective",
    "evidenceId": "logistic-map-v1"
  },
  "configuration": {
    "growth": "logistic",
    "scaling": "minmax",
    "seasonalityMode": "additive",
    "holidaysMode": "additive",
    "changepoints": {
      "mode": "explicit",
      "timestamps": [
        "2020-02-10T00:00:00.000Z"
      ]
    },
    "changepointPriorScale": 0.2,
    "seasonalities": [
      {
        "name": "weekly-custom",
        "periodDays": 7,
        "fourierOrder": 2,
        "priorScale": 10
      }
    ],
    "events": [],
    "regressors": []
  },
  "pythonOptimizer": {
    "algorithm": "Auto",
    "maxIterations": 10000,
    "newtonFallback": true,
    "sigFigs": 12
  }
}

Inspired by Prophet from Meta. Not affiliated with Meta.