---
url: >-
  https://jer-k.github.io/effect-prophet/benchmarks/linear/uncertainty-linear-defaults-irregular-intervals-1000.md
---

# Defaults, ranges on irregular dates

&#x20; [← All linear growth benchmarks](/benchmarks/linear)

80% ranges from 1,000 simulated paths on the unevenly spaced history and its 48 forecast dates.

## Input

[`benchmark/inputs/v1/map-irregular-medium.json`](https://github.com/jer-k/effect-prophet/blob/main/benchmark/inputs/v1/map-irregular-medium.json): 192 history rows and 48 forecast rows.

## Output

Largest difference: **0.11** (0.15% of the input's range).

Every forecast row from both libraries.

| Date | Effect Prophet | Python Prophet | Difference |
| --- | ---: | ---: | ---: |
| 2020-01-01 | 12.3830 | 12.3354 | 0.048 |
| 2020-01-02 | 12.8795 | 12.8371 | 0.042 |
| 2020-01-03 | 13.0457 | 13.0062 | 0.039 |
| 2020-01-04 | 13.5031 | 13.4685 | 0.035 |
| 2020-01-05 | 13.8371 | 13.8082 | 0.029 |
| 2020-01-06 | 14.1381 | 14.1030 | 0.035 |
| 2020-01-07 | 14.3399 | 14.3049 | 0.035 |
| 2020-01-09 | 15.3273 | 15.2970 | 0.030 |
| 2020-01-10 | 15.4934 | 15.4661 | 0.027 |
| 2020-01-11 | 15.9509 | 15.9284 | 0.023 |
| 2020-01-12 | 16.2848 | 16.2681 | 0.017 |
| 2020-01-13 | 16.5859 | 16.5629 | 0.023 |
| 2020-01-14 | 16.7876 | 16.7648 | 0.023 |
| 2020-01-15 | 17.2785 | 17.2552 | 0.023 |
| 2020-01-17 | 17.9411 | 17.9260 | 0.015 |
| 2020-01-18 | 18.3986 | 18.3883 | 0.010 |
| 2020-01-19 | 18.7326 | 18.7280 | 0.0046 |
| 2020-01-20 | 19.0336 | 19.0228 | 0.011 |
| 2020-01-21 | 19.2354 | 19.2247 | 0.011 |
| 2020-01-23 | 20.2228 | 20.2167 | 0.0061 |
| 2020-01-24 | 20.3889 | 20.3858 | 0.0031 |
| 2020-01-26 | 21.1803 | 21.1879 | 0.0075 |
| 2020-01-27 | 21.4814 | 21.4827 | 0.0013 |
| 2020-01-28 | 21.6831 | 21.6846 | 0.0015 |
| 2020-01-29 | 22.1740 | 22.1749 | 0.00098 |
| 2020-01-30 | 22.6705 | 22.6766 | 0.0061 |
| 2020-01-31 | 22.8366 | 22.8457 | 0.0091 |
| 2020-02-01 | 23.2941 | 23.3080 | 0.014 |
| 2020-02-03 | 23.9291 | 23.9426 | 0.013 |
| 2020-02-04 | 24.1309 | 24.1444 | 0.014 |
| 2020-02-05 | 24.6217 | 24.6348 | 0.013 |
| 2020-02-06 | 25.1183 | 25.1365 | 0.018 |
| 2020-02-07 | 25.2844 | 25.3056 | 0.021 |
| 2020-02-08 | 25.7419 | 25.7679 | 0.026 |
| 2020-02-09 | 26.0758 | 26.1076 | 0.032 |
| 2020-02-11 | 26.5786 | 26.6043 | 0.026 |
| 2020-02-12 | 27.0695 | 27.0947 | 0.025 |
| 2020-02-13 | 27.5660 | 27.5964 | 0.030 |
| 2020-02-15 | 28.1896 | 28.2278 | 0.038 |
| 2020-02-16 | 28.5236 | 28.5675 | 0.044 |
| 2020-02-17 | 28.8246 | 28.8623 | 0.038 |
| 2020-02-18 | 29.0264 | 29.0642 | 0.038 |
| 2020-02-20 | 30.0138 | 30.0562 | 0.042 |
| 2020-02-21 | 30.1799 | 30.2253 | 0.045 |
| 2020-02-22 | 30.6374 | 30.6877 | 0.050 |
| 2020-02-23 | 30.9713 | 31.0274 | 0.056 |
| 2020-02-24 | 31.2724 | 31.3222 | 0.050 |
| 2020-02-25 | 31.4741 | 31.5241 | 0.050 |
| 2020-02-26 | 31.9649 | 32.0144 | 0.049 |
| 2020-02-28 | 32.6276 | 32.6852 | 0.058 |
| 2020-02-29 | 33.0851 | 33.1475 | 0.062 |
| 2020-03-01 | 33.4191 | 33.4872 | 0.068 |
| 2020-03-02 | 33.7201 | 33.7821 | 0.062 |
| 2020-03-03 | 33.9218 | 33.9839 | 0.062 |
| 2020-03-04 | 34.4127 | 34.4743 | 0.062 |
| 2020-03-05 | 34.9093 | 34.9760 | 0.067 |
| 2020-03-07 | 35.5329 | 35.6074 | 0.075 |
| 2020-03-09 | 36.1679 | 36.2419 | 0.074 |
| 2020-03-10 | 36.3696 | 36.4438 | 0.074 |
| 2020-03-11 | 36.8604 | 36.9342 | 0.074 |
| 2020-03-12 | 37.3570 | 37.4359 | 0.079 |
| 2020-03-13 | 37.5231 | 37.6050 | 0.082 |
| 2020-03-14 | 37.9806 | 38.0555 | 0.075 |
| 2020-03-16 | 38.6155 | 38.6664 | 0.051 |
| 2020-03-17 | 38.8171 | 38.8565 | 0.039 |
| 2020-03-18 | 39.3079 | 39.3351 | 0.027 |
| 2020-03-19 | 39.8045 | 39.8249 | 0.020 |
| 2020-03-20 | 39.9705 | 39.9822 | 0.012 |
| 2020-03-21 | 40.3727 | 40.3778 | 0.0051 |
| 2020-03-22 | 40.6513 | 40.6507 | 0.00059 |
| 2020-03-24 | 41.0434 | 41.0138 | 0.030 |
| 2020-03-25 | 41.4789 | 41.4374 | 0.041 |
| 2020-03-26 | 41.9201 | 41.8723 | 0.048 |
| 2020-03-27 | 42.0309 | 41.9747 | 0.056 |
| 2020-03-28 | 42.3471 | 42.2935 | 0.054 |
| 2020-03-29 | 42.5398 | 42.4898 | 0.050 |
| 2020-03-31 | 42.7600 | 42.6997 | 0.060 |
| 2020-04-02 | 43.4649 | 43.4048 | 0.060 |
| 2020-04-03 | 43.4897 | 43.4305 | 0.059 |
| 2020-04-04 | 43.8060 | 43.7494 | 0.057 |
| 2020-04-05 | 43.9568 | 43.9047 | 0.052 |
| 2020-04-06 | 44.0748 | 44.0151 | 0.060 |
| 2020-04-07 | 44.0934 | 44.0326 | 0.061 |
| 2020-04-08 | 44.4012 | 44.3386 | 0.063 |
| 2020-04-10 | 44.6977 | 44.6405 | 0.057 |
| 2020-04-11 | 44.9721 | 44.9184 | 0.054 |
| 2020-04-12 | 45.1230 | 45.0736 | 0.049 |
| 2020-04-13 | 45.2409 | 45.1840 | 0.057 |
| 2020-04-14 | 45.2596 | 45.2014 | 0.058 |
| 2020-04-15 | 45.5673 | 45.5072 | 0.060 |
| 2020-04-16 | 45.8808 | 45.8244 | 0.056 |
| 2020-04-18 | 46.1383 | 46.0868 | 0.051 |
| 2020-04-19 | 46.2891 | 46.2420 | 0.047 |
| 2020-04-20 | 46.4071 | 46.3523 | 0.055 |
| 2020-04-21 | 46.4257 | 46.3697 | 0.056 |
| 2020-04-23 | 47.0470 | 46.9927 | 0.054 |
| 2020-04-24 | 47.0300 | 46.9773 | 0.053 |
| 2020-04-25 | 47.3044 | 47.2551 | 0.049 |
| 2020-04-27 | 47.5732 | 47.5205 | 0.053 |
| 2020-04-28 | 47.5919 | 47.5379 | 0.054 |
| 2020-04-29 | 47.8996 | 47.8438 | 0.056 |
| 2020-04-30 | 48.2131 | 48.1609 | 0.052 |
| 2020-05-01 | 48.1962 | 48.1455 | 0.051 |
| 2020-05-02 | 48.4706 | 48.4233 | 0.047 |
| 2020-05-03 | 48.6214 | 48.5785 | 0.043 |
| 2020-05-05 | 48.7580 | 48.7061 | 0.052 |
| 2020-05-06 | 49.0658 | 49.0120 | 0.054 |
| 2020-05-07 | 49.3793 | 49.3291 | 0.050 |
| 2020-05-08 | 49.3623 | 49.3137 | 0.049 |
| 2020-05-09 | 49.6367 | 49.5915 | 0.045 |
| 2020-05-10 | 49.7876 | 49.7467 | 0.041 |
| 2020-05-11 | 49.9056 | 49.8570 | 0.049 |
| 2020-05-13 | 50.2320 | 50.1802 | 0.052 |
| 2020-05-14 | 50.5455 | 50.4974 | 0.048 |
| 2020-05-16 | 50.8029 | 50.7597 | 0.043 |
| 2020-05-17 | 50.9538 | 50.9149 | 0.039 |
| 2020-05-18 | 51.0718 | 51.0252 | 0.047 |
| 2020-05-19 | 51.0904 | 51.0426 | 0.048 |
| 2020-05-20 | 51.3982 | 51.3484 | 0.050 |
| 2020-05-22 | 51.6948 | 51.6502 | 0.045 |
| 2020-05-23 | 51.9692 | 51.9280 | 0.041 |
| 2020-05-24 | 52.1201 | 52.0831 | 0.037 |
| 2020-05-25 | 52.2381 | 52.1934 | 0.045 |
| 2020-05-26 | 52.2628 | 52.2284 | 0.034 |
| 2020-05-27 | 52.5766 | 52.5518 | 0.025 |
| 2020-05-28 | 52.8961 | 52.8865 | 0.0096 |
| 2020-05-30 | 53.1656 | 53.1840 | 0.018 |
| 2020-05-31 | 53.3225 | 53.3567 | 0.034 |
| 2020-06-01 | 53.4465 | 53.4846 | 0.038 |
| 2020-06-02 | 53.5413 | 53.5866 | 0.045 |
| 2020-06-03 | 53.9251 | 53.9770 | 0.052 |
| 2020-06-04 | 54.3147 | 54.3787 | 0.064 |
| 2020-06-05 | 54.3738 | 54.4479 | 0.074 |
| 2020-06-08 | 55.1452 | 55.2450 | 0.10 |
| 2020-06-09 | 55.2399 | 55.3469 | 0.11 |
| 2020-06-10 | 55.7340 | 55.8340 | 0.10 |
| 2020-06-11 | 56.2338 | 56.3325 | 0.099 |
| 2020-06-12 | 56.4031 | 56.4984 | 0.095 |
| 2020-06-13 | 56.8639 | 56.9574 | 0.094 |
| 2020-06-14 | 57.2010 | 57.2939 | 0.093 |
| 2020-06-16 | 57.7103 | 57.7841 | 0.074 |
| 2020-06-17 | 58.2710 | 58.3341 | 0.063 |
| 2020-06-18 | 58.8374 | 58.8953 | 0.058 |
| 2020-06-19 | 59.0734 | 59.1240 | 0.051 |
| 2020-06-20 | 59.6007 | 59.6458 | 0.045 |
| 2020-06-21 | 60.0045 | 60.0451 | 0.041 |
| 2020-06-22 | 60.3754 | 60.3995 | 0.024 |
| 2020-06-24 | 61.2282 | 61.2467 | 0.018 |
| 2020-06-25 | 61.8049 | 61.8258 | 0.021 |
| 2020-06-26 | 62.0511 | 62.0723 | 0.021 |
| 2020-06-27 | 62.5887 | 62.6121 | 0.023 |
| 2020-06-28 | 63.0028 | 63.0293 | 0.027 |
| 2020-06-30 | 63.6657 | 63.6809 | 0.015 |
| 2020-07-01 | 64.2367 | 64.2487 | 0.012 |
| 2020-07-03 | 65.0596 | 65.0744 | 0.015 |
| 2020-07-04 | 65.5972 | 65.6141 | 0.017 |
| 2020-07-05 | 66.0112 | 66.0313 | 0.020 |
| 2020-07-06 | 66.3924 | 66.4036 | 0.011 |
| 2020-07-07 | 66.6742 | 66.6829 | 0.0087 |
| 2020-07-08 | 67.2451 | 67.2507 | 0.0056 |
| 2020-07-09 | 67.8218 | 67.8298 | 0.0080 |
| 2020-07-11 | 68.6056 | 68.6162 | 0.011 |
| 2020-07-12 | 69.0197 | 69.0333 | 0.014 |
| 2020-07-13 | 69.4008 | 69.4056 | 0.0048 |
| 2020-07-14 | 69.6827 | 69.6849 | 0.0023 |
| 2020-07-15 | 70.2536 | 70.2527 | 0.00086 |
| 2020-07-16 | 70.8303 | 70.8319 | 0.0016 |
| 2020-07-17 | 71.0765 | 71.0784 | 0.0019 |
| 2020-07-19 | 72.0281 | 72.0354 | 0.0072 |
| 2020-07-20 | 72.4093 | 72.4076 | 0.0017 |
| 2020-07-21 | 72.6911 | 72.6870 | 0.0042 |
| 2020-07-23 | 73.8387 | 73.8339 | 0.0049 |
| 2020-07-24 | 74.0850 | 74.0805 | 0.0045 |
| 2020-07-25 | 74.6226 | 74.6202 | 0.0023 |
| 2020-07-26 | 75.0366 | 75.0374 | 0.00079 |
| 2020-07-28 | 75.6996 | 75.6890 | 0.011 |
| 2020-07-29 | 76.2705 | 76.2568 | 0.014 |
| 2020-07-30 | 76.8472 | 76.8359 | 0.011 |
| 2020-07-31 | 77.0934 | 77.0825 | 0.011 |
| 2020-08-01 | 77.6310 | 77.6222 | 0.0088 |
| 2020-08-02 | 78.0451 | 78.0394 | 0.0056 |
| 2020-08-03 | 78.4262 | 78.4117 | 0.015 |
| 2020-08-05 | 79.2790 | 79.2588 | 0.020 |
| 2020-08-06 | 79.8557 | 79.8380 | 0.018 |
| 2020-08-07 | 80.1019 | 80.0845 | 0.017 |
| 2020-08-08 | 80.6395 | 80.6243 | 0.015 |
| 2020-08-09 | 81.0535 | 81.0414 | 0.012 |
| 2020-08-10 | 81.4347 | 81.4137 | 0.021 |
| 2020-08-11 | 81.7165 | 81.6930 | 0.023 |
| 2020-08-13 | 82.8641 | 82.8400 | 0.024 |
| 2020-08-15 | 83.6479 | 83.6263 | 0.022 |
| 2020-08-16 | 84.0620 | 84.0435 | 0.018 |
| 2020-08-17 | 84.4431 | 84.4157 | 0.027 |
| 2020-08-18 | 84.7250 | 84.6951 | 0.030 |
| 2020-08-19 | 85.2959 | 85.2629 | 0.033 |
| 2020-08-20 | 85.8726 | 85.8420 | 0.031 |
| 2020-08-22 | 86.6564 | 86.6283 | 0.028 |
| 2020-08-23 | 87.0704 | 87.0455 | 0.025 |
| 2020-08-24 | 87.4516 | 87.4178 | 0.034 |
| 2020-08-25 | 87.7334 | 87.6971 | 0.036 |
| 2020-08-26 | 88.3044 | 88.2649 | 0.039 |
| 2020-08-27 | 88.8810 | 88.8440 | 0.037 |
| 2020-08-28 | 89.1273 | 89.0906 | 0.037 |
| 2020-08-30 | 90.0789 | 90.0475 | 0.031 |
| 2020-08-31 | 90.4600 | 90.4198 | 0.040 |
| 2020-09-01 | 90.7419 | 90.6991 | 0.043 |
| 2020-09-02 | 91.3128 | 91.2670 | 0.046 |
| 2020-09-03 | 91.8895 | 91.8461 | 0.043 |
| 2020-09-04 | 92.1357 | 92.0926 | 0.043 |
| 2020-09-06 | 93.0873 | 93.0496 | 0.038 |
| 2020-09-08 | 93.7503 | 93.7012 | 0.049 |
| 2020-09-09 | 94.3213 | 94.2690 | 0.052 |
| 2020-09-10 | 94.8980 | 94.8481 | 0.050 |
| 2020-09-11 | 95.1442 | 95.0947 | 0.049 |
| 2020-09-12 | 95.6818 | 95.6344 | 0.047 |
| 2020-09-13 | 96.0958 | 96.0516 | 0.044 |
| 2020-09-14 | 96.4770 | 96.4239 | 0.053 |
| 2020-09-16 | 97.3297 | 97.2710 | 0.059 |
| 2020-09-17 | 97.9064 | 97.8501 | 0.056 |
| 2020-09-18 | 98.1526 | 98.0967 | 0.056 |
| 2020-09-19 | 98.6902 | 98.6365 | 0.054 |
| 2020-09-20 | 99.1043 | 99.0536 | 0.051 |
| 2020-09-21 | 99.4854 | 99.4259 | 0.060 |
| 2020-09-22 | 99.7673 | 99.7052 | 0.062 |
| 2020-09-24 | 100.9149 | 100.8522 | 0.063 |
| 2020-09-25 | 101.1611 | 101.0987 | 0.062 |
| 2020-09-26 | 101.6987 | 101.6385 | 0.060 |
| 2020-09-27 | 102.1127 | 102.0557 | 0.057 |
| 2020-09-29 | 102.7757 | 102.7073 | 0.068 |
| 2020-09-30 | 103.3467 | 103.2751 | 0.072 |
| 2020-10-01 | 103.9233 | 103.8542 | 0.069 |
| 2020-10-03 | 104.7071 | 104.6405 | 0.067 |
| 2020-10-04 | 105.1212 | 105.0577 | 0.063 |
| 2020-10-05 | 105.5023 | 105.4300 | 0.072 |
| 2020-10-06 | 105.7842 | 105.7093 | 0.075 |
| 2020-10-07 | 106.3551 | 106.2771 | 0.078 |
| 2020-10-08 | 106.9318 | 106.8562 | 0.076 |
| 2020-10-09 | 107.1780 | 107.1028 | 0.075 |
| 2020-10-11 | 108.1296 | 108.0597 | 0.070 |
| 2020-10-12 | 108.5108 | 108.4320 | 0.079 |

## 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.

| Check | Effect Prophet | Python Prophet | Threshold |
| --- | ---: | ---: | ---: |
| Fitting objective (lower is a better fit) | -745.4706 | -744.8759 | 0.01 |

## Timing

Median of all measured repetitions.

| Step | Effect Prophet | Python Prophet | Effect Prophet is |
| --- | ---: | ---: | --- |
| Convert input rows | 59 µs | 614 µs | 10× faster |
| Save model to JSON | 28 µs | 584 µs | 21× faster |
| Load model from JSON | 171 µs | 2.48 ms | 14× faster |
| Simulate uncertainty | 11.4 ms | 158 ms | Not compared: different work |
| First simulation in a new process | 191 ms | 1.63 s | Not compared: different work |
| Load and simulate in a new process | 179 ms | 1.62 s | Not compared: different work |

Some steps aren't compared, because the two libraries' public calls produce different outputs. Their times show what each call costs, not which library is faster.

* **Simulate uncertainty, First simulation in a new process, Load and simulate in a new process:** Python's `predict(vectorized=False)` also builds the point forecast and every component, while Effect Prophet's `predictUncertainty` returns only the ranges.

## 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
  },
  "uncertainty": {
    "seed": 19,
    "samples": 1000,
    "intervalWidth": 0.8,
    "output": "intervals",
    "algorithm": "scalar-continuous-time",
    "evidence": "docs/validation/uncertainty.md#evidence-classes",
    "samplerMemoryLimitBytes": 67108864
  }
}
```
