Skip to content

Refit after one new day ​

match flagged ← All linear growth benchmarks

The same refit after one new day: a fit of the first 255 days starts the fit of all 256.

Input ​

benchmark/inputs/v1/linear-medium.json: 256 history rows and 64 forecast rows.

Output ​

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

Every forecast row from both libraries.

DateEffect ProphetPython ProphetDifference
2020-09-13107.7959107.79560.00023
2020-09-14107.5632107.56300.00024
2020-09-15108.3426108.34230.00024
2020-09-16109.9334109.93300.00034
2020-09-17111.5461111.54580.00031
2020-09-18112.3360112.33570.00031
2020-09-19112.0779112.07750.00034
2020-09-20111.3663111.36600.00034
2020-09-21111.1337111.13340.00034
2020-09-22111.9130111.91270.00034
2020-09-23113.5038113.50340.00044
2020-09-24115.1165115.11610.00041
2020-09-25115.9064115.90600.00041
2020-09-26115.6483115.64790.00044
2020-09-27114.9368114.93630.00044
2020-09-28114.7042114.70370.00045
2020-09-29115.4835115.48300.00044
2020-09-30117.0743117.07380.00055
2020-10-01118.6870118.68650.00052
2020-10-02119.4769119.47640.00052
2020-10-03119.2188119.21830.00054
2020-10-04118.5072118.50670.00055
2020-10-05118.2746118.27410.00055
2020-10-06119.0539119.05340.00055
2020-10-07120.6448120.64410.00065
2020-10-08122.2575122.25680.00062
2020-10-09123.0473123.04670.00062
2020-10-10122.7893122.78860.00065
2020-10-11122.0777122.07710.00065
2020-10-12121.8451121.84440.00065
2020-10-13122.6244122.62370.00065
2020-10-14124.2152124.21450.00075
2020-10-15125.8279125.82720.00072
2020-10-16126.6178126.61710.00073
2020-10-17126.3597126.35900.00075
2020-10-18125.6482125.64740.00075
2020-10-19125.4155125.41480.00076
2020-10-20126.1949126.19410.00076
2020-10-21127.7857127.78480.00086
2020-10-22129.3984129.39750.00083
2020-10-23130.1883130.18740.00083
2020-10-24129.9302129.92930.00085
2020-10-25129.2186129.21780.00086
2020-10-26128.9860128.98520.00086
2020-10-27129.7653129.76450.00086
2020-10-28131.3561131.35520.00096
2020-10-29132.9688132.96790.00093
2020-10-30133.7587133.75780.00093
2020-10-31133.5006133.49970.00096
2020-11-01132.7891132.78810.00096
2020-11-02132.5565132.55550.00096
2020-11-03133.3358133.33480.00096
2020-11-04134.9266134.92550.0011
2020-11-05136.5393136.53830.0010
2020-11-06137.3292137.32820.0010
2020-11-07137.0711137.07000.0011
2020-11-08136.3595136.35850.0011
2020-11-09136.1269136.12590.0011
2020-11-10136.9062136.90520.0011
2020-11-11138.4971138.49590.0012
2020-11-12140.1098140.10860.0011
2020-11-13140.8997140.89850.0011
2020-11-14140.6416140.64040.0012
2020-11-15139.9300139.92880.0012

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
Fitting objective (lower is a better fit)-1762.0385-1762.25840.01
Stationarity residual (lower is closer to the best fit)29142.898615679.30580.01

Timing ​

Median of all measured repetitions.

StepEffect ProphetPython ProphetEffect Prophet is
Fit26.3 ms93.2 ms3.5× faster
Refit from an earlier fit8.14 ms21.5 ms2.6× faster

Settings ​

The case declaration both libraries ran.

json
{
  "kind": "map",
  "comparison": {
    "kind": "equivalent-objective",
    "evidenceId": "linear-output-first-v4"
  },
  "fitRequest": "growth-only",
  "configuration": {
    "growth": "linear",
    "scaling": "absmax",
    "seasonalityMode": "additive",
    "holidaysMode": "additive",
    "changepoints": {
      "mode": "auto",
      "count": 25,
      "range": 0.8
    },
    "changepointPriorScale": 0.05,
    "seasonalities": [
      {
        "name": "weekly",
        "periodDays": 7,
        "fourierOrder": 3,
        "priorScale": 10
      }
    ],
    "events": [],
    "regressors": []
  },
  "pythonOptimizer": {
    "algorithm": "Auto",
    "maxIterations": 10000,
    "newtonFallback": true
  },
  "warmStart": {
    "baseRows": 255,
    "investigateParameterAbsolute": 0.01
  }
}

Inspired by Prophet from Meta. Not affiliated with Meta.