Every row on the same date, different values
match ← All flat growth benchmarksThree rows sharing one timestamp. A flat trend needs no time range, so both libraries fit it.
Input
benchmark/inputs/v1/training-zero-span-varied.json: 3 history rows and 2 forecast rows.
Output
Largest difference: 0.00029 (0.0059% of the input's range).
Every forecast row from both libraries.
| Date | Effect Prophet | Python Prophet | Difference |
|---|---|---|---|
| 2020-01-01 | 4.3286 | 4.3289 | 0.00029 |
| 2020-01-02 | 4.3286 | 4.3289 | 0.00029 |
Timing
Median of all measured repetitions.
| Step | Effect Prophet | Python Prophet | Effect Prophet is |
|---|---|---|---|
| Fit | 888 µs | 5.74 ms | 6.5× faster |
| Predict | 167 µs | 2.68 ms | 16× faster |
| Save model to JSON | 22 µs | 323 µs | 14× faster |
| Load model from JSON | 160 µs | 1.89 ms | 12× faster |
| Load and predict in a new process | 156 ms | 1.40 s | 9.0× faster |
Settings
The case declaration both libraries ran.
json
{
"kind": "map",
"comparison": {
"kind": "equivalent-objective",
"evidenceId": "training-row-map-v1"
},
"configuration": {
"growth": "flat",
"scaling": "absmax",
"seasonalityMode": "additive",
"holidaysMode": "additive",
"changepoints": {
"mode": "explicit",
"timestamps": []
},
"changepointPriorScale": 0.05,
"seasonalities": [],
"events": [],
"regressors": []
},
"pythonOptimizer": {
"algorithm": "Auto",
"maxIterations": 10000,
"newtonFallback": true,
"sigFigs": 12
}
}