Skip to content

Everything at once, absmax scaling ​

match ← All logistic growth benchmarks

A switchable weekly pattern, a campaign event and a multiplicative regressor between an explicit floor and ceiling.

Input ​

benchmark/inputs/v2/logistic-mixed-96.json: 96 history rows and 120 forecast rows.

Output ​

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

Every forecast row from both libraries.

DateEffect ProphetPython ProphetDifference
2020-01-0124.526324.52633.5e-12
2020-01-0225.638825.63883.0e-12
2020-01-0327.229527.22952.7e-12
2020-01-0426.375626.37562.3e-12
2020-01-0526.204726.20472.0e-12
2020-01-0627.108327.10831.5e-12
2020-01-0727.035627.03561.3e-12
2020-01-0828.270628.27066.3e-13
2020-01-0930.519030.51906.8e-14
2020-01-1030.227530.22756.7e-13
2020-01-1130.070130.07011.1e-12
2020-01-1230.352130.35211.6e-12
2020-01-1330.581330.58132.2e-12
2020-01-1431.402331.40232.8e-12
2020-01-1533.945133.94513.8e-12
2020-01-1633.426733.42674.4e-12
2020-01-1734.926634.92665.3e-12
2020-01-1835.224835.22486.0e-12
2020-01-1935.273135.27316.7e-12
2020-01-2035.612835.61287.4e-12
2020-01-2140.681540.68159.1e-12
2020-01-2239.826539.82655.8e-12
2020-01-2341.365141.36511.2e-11
2020-01-2440.391040.39101.1e-11
2020-01-2540.794040.79401.2e-11
2020-01-2641.302941.30291.3e-11
2020-01-2742.928842.92881.4e-11
2020-01-2842.415442.41541.5e-11
2020-01-2943.965943.96591.6e-11
2020-01-3045.471145.47111.7e-11
2020-01-3145.761245.76121.8e-11
2020-02-0147.032147.03211.9e-11
2020-02-0249.009049.00902.1e-11
2020-02-0347.786647.78662.1e-11
2020-02-0448.891448.89142.2e-11
2020-02-0550.488650.48862.3e-11
2020-02-0652.084752.08472.5e-11
2020-02-0753.217853.21782.6e-11
2020-02-0855.719155.71912.8e-11
2020-02-0954.052054.05202.7e-11
2020-02-1055.403355.40332.9e-11
2020-02-1155.766655.76662.9e-11
2020-02-1257.425057.42503.0e-11
2020-02-1359.027959.02793.2e-11
2020-02-1462.359962.35993.4e-11
2020-02-1560.408660.40863.3e-11
2020-02-1661.053661.05363.4e-11
2020-02-1761.628461.62843.5e-11
2020-02-1862.776862.77683.5e-11
2020-02-1964.430764.43073.6e-11
2020-02-2067.790667.79063.8e-11
2020-02-2167.165967.16593.8e-11
2020-02-2267.710867.71083.8e-11
2020-02-2367.983967.98393.9e-11
2020-02-2468.526068.52603.9e-11
2020-02-2570.270170.27014.0e-11
2020-02-2673.852373.85234.2e-11
2020-02-2772.790872.79084.1e-11
2020-02-2873.879973.87994.1e-11
2020-02-2974.366774.36674.1e-11
2020-03-0174.934874.93484.2e-11
2020-03-0275.052475.05244.2e-11
2020-03-0378.898778.89874.3e-11
2020-03-0477.627277.62724.2e-11
2020-03-0579.093079.09304.2e-11
2020-03-0679.319379.31934.2e-11
2020-03-0780.502180.50214.2e-11
2020-03-0880.624880.62484.2e-11
2020-03-0984.001984.00194.3e-11
2020-03-1081.955781.95574.1e-11
2020-03-1183.372083.37204.1e-11
2020-03-1284.765184.76514.1e-11
2020-03-1385.673885.67384.1e-11
2020-03-1485.975685.97564.1e-11
2020-03-1589.156489.15644.2e-11
2020-03-1687.063287.06324.0e-11
2020-03-1787.122987.12293.9e-11
2020-03-1888.459988.45993.9e-11
2020-03-1989.724989.72493.9e-11
2020-03-2090.529690.52963.9e-11
2020-03-2193.689793.68973.9e-11
2020-03-2290.645290.64523.7e-11
2020-03-2390.824290.82423.7e-11
2020-03-2491.564891.56483.6e-11
2020-03-2592.799892.79983.6e-11
2020-03-2693.338093.33803.5e-11
2020-03-2798.102798.10273.6e-11
2020-03-2894.766494.76643.4e-11
2020-03-2994.586094.58603.3e-11
2020-03-3094.668394.66833.3e-11
2020-03-3195.947495.94743.2e-11
2020-04-0196.454496.45443.2e-11
2020-04-02101.0709101.07093.2e-11
2020-04-0398.139298.13923.1e-11
2020-04-0498.148698.14863.0e-11
2020-04-0598.238398.23832.9e-11
2020-04-0697.877497.87742.8e-11
2020-04-0798.438698.43862.8e-11
2020-04-08103.1368103.13682.8e-11
2020-04-09100.4884100.48842.7e-11
2020-04-10100.2425100.24252.6e-11
2020-04-11100.9564100.95642.6e-11
2020-04-12100.6139100.61392.5e-11
2020-04-13100.5376100.53762.4e-11
2020-04-14104.7473104.74732.4e-11
2020-04-15104.1373104.13732.3e-11
2020-04-16104.7701104.77011.9e-11
2020-04-17105.3665105.36652.4e-11
2020-04-18103.2806103.28062.1e-11
2020-04-19102.8765102.87652.1e-11
2020-04-20107.3115107.31152.1e-11
2020-04-21103.1724103.17241.9e-11
2020-04-22104.1058104.10581.9e-11
2020-04-23104.9749104.97491.9e-11
2020-04-24105.3917105.39171.8e-11
2020-04-25104.8652104.86521.8e-11
2020-04-26108.6014108.60141.8e-11
2020-04-27104.5714104.57141.6e-11
2020-04-28104.9570104.95701.6e-11
2020-04-29105.8453105.84531.6e-11

Timing ​

Median of all measured repetitions.

StepEffect ProphetPython ProphetEffect Prophet is
Fit29.0 ms46.6 ms1.6× faster
Predict1.02 ms5.61 ms5.5× faster
Save model to JSON21 µs691 µs32× faster
Load model from JSON176 µs4.05 ms23× faster
Load and predict in a new process158 ms1.60 s10× faster

Settings ​

The case declaration both libraries ran.

json
{
  "kind": "map",
  "comparison": {
    "kind": "equivalent-objective",
    "evidenceId": "logistic-python-reconciliation-v1"
  },
  "configuration": {
    "growth": "logistic",
    "scaling": "absmax",
    "seasonalityMode": "additive",
    "holidaysMode": "additive",
    "changepoints": {
      "mode": "explicit",
      "timestamps": [
        "2020-02-08T00:00:00.000Z"
      ]
    },
    "changepointPriorScale": 0.05,
    "seasonalities": [
      {
        "name": "weekly-custom",
        "periodDays": 7,
        "fourierOrder": 3,
        "priorScale": 10,
        "conditionName": "active"
      }
    ],
    "events": [
      {
        "name": "campaign",
        "date": "2020-01-22",
        "lowerWindowDays": -1,
        "upperWindowDays": 1,
        "priorScale": 10
      },
      {
        "name": "campaign",
        "date": "2020-04-16",
        "lowerWindowDays": -1,
        "upperWindowDays": 1,
        "priorScale": 10
      }
    ],
    "regressors": [
      {
        "name": "promotion",
        "priorScale": 10,
        "standardization": "never",
        "mode": "multiplicative"
      }
    ]
  },
  "pythonOptimizer": {
    "algorithm": "Auto",
    "maxIterations": 10000,
    "newtonFallback": true,
    "sigFigs": 12
  }
}

Inspired by Prophet from Meta. Not affiliated with Meta.