Explicit US control, multiplicative
match ← All flat growth benchmarksThe same rows, occurrences, priors, mode and fitted names as the corresponding country case, but all dates are explicit events and no country snapshot is embedded.
Input
benchmark/inputs/v5/country-basic-96.json: 96 history rows and 4 forecast rows.
Output
Largest difference: 3.5e-10 (< 0.0001% of the input's range).
Every forecast row from both libraries.
| Date | Effect Prophet | Python Prophet | Difference |
|---|---|---|---|
| 2024-12-25 | 20.0010 | 20.0010 | 3.5e-10 |
| 2025-01-01 | 23.0368 | 23.0368 | 9.9e-12 |
| 2025-01-02 | 20.0010 | 20.0010 | 1.1e-11 |
| 2025-01-05 | 21.4459 | 21.4459 | 9.5e-12 |
Timing
Median of all measured repetitions.
| Step | Effect Prophet | Python Prophet | Effect Prophet is |
|---|---|---|---|
| Convert input rows | 13 µs | 455 µs | 36× faster |
| Fit | 3.27 ms | 13.6 ms | 4.2× faster |
| Predict | 198 µs | 4.86 ms | 25× faster |
| Fit and predict | 2.69 ms | 17.9 ms | 6.7× faster |
| Convert, fit and predict | 2.53 ms | 18.7 ms | 7.4× faster |
| First forecast in a new process | 168 ms | 1.42 s | 8.4× faster |
| Save model to JSON | 22 µs | 685 µs | 30× faster |
| Load model from JSON | 407 µs | 3.93 ms | 9.6× faster |
| Load and predict in a new process | 154 ms | 1.40 s | 9.1× faster |
Settings
The case declaration both libraries ran.
json
{
"kind": "map",
"comparison": {
"kind": "equivalent-objective",
"evidenceId": "country-calendar-public-v1"
},
"configuration": {
"growth": "flat",
"scaling": "absmax",
"seasonalityMode": "additive",
"holidaysMode": "multiplicative",
"changepoints": {
"mode": "auto",
"count": 25,
"range": 0.8
},
"changepointPriorScale": 0.05,
"seasonalities": [],
"events": [
{
"name": "launch",
"date": "2024-01-01",
"lowerWindowDays": 0,
"upperWindowDays": 0,
"priorScale": 10
},
{
"name": "launch",
"date": "2024-01-05",
"lowerWindowDays": 0,
"upperWindowDays": 0,
"priorScale": 10
},
{
"name": "launch",
"date": "2025-01-01",
"lowerWindowDays": 0,
"upperWindowDays": 0,
"priorScale": 10
},
{
"name": "launch",
"date": "2025-01-05",
"lowerWindowDays": 0,
"upperWindowDays": 0,
"priorScale": 10
},
{
"name": "New Year's Day",
"date": "2024-01-01",
"lowerWindowDays": 0,
"upperWindowDays": 0,
"priorScale": 10
},
{
"name": "Martin Luther King Jr. Day",
"date": "2024-01-15",
"lowerWindowDays": 0,
"upperWindowDays": 0,
"priorScale": 10
},
{
"name": "Washington's Birthday",
"date": "2024-02-19",
"lowerWindowDays": 0,
"upperWindowDays": 0,
"priorScale": 10
},
{
"name": "Memorial Day",
"date": "2024-05-27",
"lowerWindowDays": 0,
"upperWindowDays": 0,
"priorScale": 10
},
{
"name": "Juneteenth National Independence Day",
"date": "2024-06-19",
"lowerWindowDays": 0,
"upperWindowDays": 0,
"priorScale": 10
},
{
"name": "Independence Day",
"date": "2024-07-04",
"lowerWindowDays": 0,
"upperWindowDays": 0,
"priorScale": 10
},
{
"name": "Labor Day",
"date": "2024-09-02",
"lowerWindowDays": 0,
"upperWindowDays": 0,
"priorScale": 10
},
{
"name": "Columbus Day",
"date": "2024-10-14",
"lowerWindowDays": 0,
"upperWindowDays": 0,
"priorScale": 10
},
{
"name": "Veterans Day",
"date": "2024-11-11",
"lowerWindowDays": 0,
"upperWindowDays": 0,
"priorScale": 10
},
{
"name": "Thanksgiving Day",
"date": "2024-11-28",
"lowerWindowDays": 0,
"upperWindowDays": 0,
"priorScale": 10
},
{
"name": "Christmas Day",
"date": "2024-12-25",
"lowerWindowDays": 0,
"upperWindowDays": 0,
"priorScale": 10
},
{
"name": "New Year's Day",
"date": "2025-01-01",
"lowerWindowDays": 0,
"upperWindowDays": 0,
"priorScale": 10
},
{
"name": "Martin Luther King Jr. Day",
"date": "2025-01-20",
"lowerWindowDays": 0,
"upperWindowDays": 0,
"priorScale": 10
},
{
"name": "Washington's Birthday",
"date": "2025-02-17",
"lowerWindowDays": 0,
"upperWindowDays": 0,
"priorScale": 10
},
{
"name": "Memorial Day",
"date": "2025-05-26",
"lowerWindowDays": 0,
"upperWindowDays": 0,
"priorScale": 10
},
{
"name": "Juneteenth National Independence Day",
"date": "2025-06-19",
"lowerWindowDays": 0,
"upperWindowDays": 0,
"priorScale": 10
},
{
"name": "Independence Day",
"date": "2025-07-04",
"lowerWindowDays": 0,
"upperWindowDays": 0,
"priorScale": 10
},
{
"name": "Labor Day",
"date": "2025-09-01",
"lowerWindowDays": 0,
"upperWindowDays": 0,
"priorScale": 10
},
{
"name": "Columbus Day",
"date": "2025-10-13",
"lowerWindowDays": 0,
"upperWindowDays": 0,
"priorScale": 10
},
{
"name": "Veterans Day",
"date": "2025-11-11",
"lowerWindowDays": 0,
"upperWindowDays": 0,
"priorScale": 10
},
{
"name": "Thanksgiving Day",
"date": "2025-11-27",
"lowerWindowDays": 0,
"upperWindowDays": 0,
"priorScale": 10
},
{
"name": "Christmas Day",
"date": "2025-12-25",
"lowerWindowDays": 0,
"upperWindowDays": 0,
"priorScale": 10
}
],
"regressors": []
},
"pythonOptimizer": {
"algorithm": "Auto",
"maxIterations": 10000,
"newtonFallback": true,
"sigFigs": 12
}
}