Skip to content

Monthly, custom and scaled metrics ​

match ← All logistic growth benchmarks

Three 91-day folds scored by calendar month, with custom metrics and with MASE, one score per horizon. The scores Effect gives Python's own forecasts must equal Python's exactly. Python Prophet has no MASE, so Python registers its own; each fold's scale must match Effect's.

Input ​

benchmark/inputs/v1/logistic-implicit-floor-large.json: 256 history rows and 64 forecast rows.

Output ​

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

Each row is one forecast made during cross-validation, next to the value that actually happened.

DateActualEffect ProphetPython ProphetDifference
2020-05-0272.603572.612272.74690.13
2020-05-0372.412372.447472.58520.14
2020-05-0472.483072.422672.59080.17
2020-05-0572.722272.693472.84640.15
2020-05-0673.153273.245473.33050.085
2020-05-0773.765473.817673.88860.071
2020-05-0874.128774.090374.20270.11
2020-05-0973.979874.017774.14120.12
2020-05-1073.731773.830273.95620.13
2020-05-1173.802573.783573.93940.16
2020-05-1274.103574.033374.17360.14
2020-05-1374.527874.565174.63710.072
2020-05-1475.090675.117875.17530.058
2020-05-1575.474275.371875.47040.099
2020-05-1675.346075.281275.39070.11
2020-05-1775.025275.076475.18820.11
2020-05-1875.029675.013175.15470.14
2020-05-1975.337575.246975.37280.13
2020-05-2075.729075.763475.82080.057
2020-05-2176.198876.301476.34430.043
2020-05-2276.558976.541276.62520.084
2020-05-2376.464976.437176.53200.095
2020-05-2476.115476.219276.31640.097
2020-05-2576.080576.143476.27040.13
2020-05-2676.439376.365276.47660.11
2020-05-2776.881076.870276.91320.043
2020-05-2877.318977.397177.42570.029
2020-05-2977.671377.626377.69610.070
2020-05-3077.631277.512077.59280.081
2020-05-3177.271577.284477.36770.083
2020-06-0177.160977.199277.31240.11
2020-06-0277.505177.412077.50970.098
2020-06-0377.959077.908377.93790.030
2020-06-0478.328178.427078.44240.015
2020-06-0578.609878.648378.70500.057
2020-06-0678.589978.526478.59430.068
2020-06-0778.241978.291478.36210.071
2020-06-0878.079078.199278.30010.10
2020-06-0978.426378.405378.49090.086
2020-06-1078.953278.895278.91290.018
2020-06-1179.335279.407779.41140.0037
2020-06-1279.587079.623179.66840.045
2020-06-1379.608679.495579.55230.057
2020-06-1479.309479.255179.31490.060
2020-06-1579.101479.157879.24790.090
2020-06-1679.401679.358979.43390.075
2020-06-1779.951579.844079.85140.0074
2020-06-1880.315980.351980.34550.0063
2020-06-1980.480880.562980.59840.035
2020-06-2080.476080.431180.47830.047
2020-06-2180.208980.186780.23710.050
2020-06-2279.971380.085480.16640.081
2020-06-2380.226780.282980.34900.066
2020-06-2480.824580.764480.76310.0013
2020-06-2581.246181.268981.25410.015
2020-06-2681.390381.476781.50390.027
2020-06-2781.388881.341781.38090.039
2020-06-2881.193181.094381.13690.043
2020-06-2980.969080.990281.06370.073
2020-06-3081.168281.184981.24370.059
2020-07-0181.765281.663981.65540.0085
2020-07-0282.213282.165882.14410.022
2020-07-0382.298982.371282.39160.020
2020-07-0482.225782.233982.26650.033
2020-07-0582.044481.984382.02050.036
2020-07-0681.827981.878181.94530.067
2020-07-0781.967582.070882.12350.053
2020-07-0882.556482.547882.53340.014
2020-07-0983.072983.047983.02040.027
2020-07-1083.175183.251483.26630.015
2020-07-1183.076483.112583.13970.027
2020-07-1282.944082.861282.89220.031
2020-07-1382.793182.753582.81560.062
2020-07-1482.907082.944682.99240.048
2020-07-1583.462683.420283.40110.019
2020-07-1684.015083.918983.88680.032
2020-07-1784.113484.121184.13160.010
2020-07-1883.933183.980984.00380.023
2020-07-1983.769983.728583.75520.027
2020-07-2083.645983.619583.67760.058
2020-07-2183.724183.809683.85350.044
2020-07-2284.222584.284184.26120.023
2020-07-2384.809984.781884.74600.036
2020-07-2484.961184.983084.98990.0069
2020-07-2584.759884.841984.86130.019
2020-07-2684.599784.588684.61200.023
2020-07-2784.554584.478884.53360.055
2020-07-2884.662584.668084.70880.041
2020-07-2985.119485.141785.11580.026
2020-07-3085.717785.638785.60000.039
2020-07-3185.909885.839285.84330.0041
2020-05-3077.631277.515277.58940.074
2020-05-3177.271577.271177.34670.076
2020-06-0177.160977.201377.30190.10
2020-06-0277.505177.425577.51350.088
2020-06-0377.959077.901577.93410.033
2020-06-0478.328178.416478.43800.022
2020-06-0578.609878.657778.71260.055
2020-06-0678.589978.529678.59200.062
2020-06-0778.241978.278278.34220.064
2020-06-0878.079078.201478.29060.089
2020-06-0978.426378.418978.49570.077
2020-06-1078.953278.888578.91000.022
2020-06-1179.335279.397279.40800.011
2020-06-1279.587079.632579.67690.044
2020-06-1379.608679.498979.55080.052
2020-06-1479.309479.242079.29570.054
2020-06-1579.101479.160079.23910.079
2020-06-1679.401679.372579.43950.067
2020-06-1779.951579.837379.84930.012
2020-06-1880.315980.341480.34290.0015
2020-06-1980.480880.572480.60760.035
2020-06-2080.476080.434580.47750.043
2020-06-2180.208980.173580.21860.045
2020-06-2279.971380.087780.15830.071
2020-06-2380.226780.296580.35520.059
2020-06-2480.824580.757880.76160.0038
2020-06-2581.246181.258581.25200.0064
2020-06-2681.390381.486281.51370.027
2020-06-2781.388881.345281.38070.036
2020-06-2881.193181.081381.11900.038
2020-06-2980.969080.992681.05610.063
2020-06-3081.168281.198681.25030.052
2020-07-0181.765281.657381.65430.0029
2020-07-0282.213282.155482.14240.013
2020-07-0382.298982.380782.40180.021
2020-07-0482.225782.237482.26670.029
2020-07-0582.044481.971382.00300.032
2020-07-0681.827981.880581.93810.058
2020-07-0781.967582.084582.13050.046
2020-07-0882.556482.541282.53270.0085
2020-07-0983.072983.037583.01910.018
2020-07-1083.175183.261083.27690.016
2020-07-1183.076483.116083.14020.024
2020-07-1282.944082.848282.87500.027
2020-07-1382.793182.755982.80870.053
2020-07-1482.907082.958482.99980.041
2020-07-1583.462683.413683.40070.013
2020-07-1684.015083.908583.88580.023
2020-07-1784.113484.130884.14240.012
2020-07-1883.933183.984584.00460.020
2020-07-1983.769983.715583.73830.023
2020-07-2083.645983.622083.67100.049
2020-07-2183.724183.823483.86100.038
2020-07-2284.222584.277684.26100.017
2020-07-2384.809984.771484.74520.026
2020-07-2484.961184.992785.00100.0083
2020-07-2584.759884.845584.86230.017
2020-07-2684.599784.575684.59520.020
2020-07-2784.554584.481284.52710.046
2020-07-2884.662584.681884.71650.035
2020-07-2985.119485.135285.11580.019
2020-07-3085.717785.628385.59940.029
2020-07-3185.909885.848985.85450.0056
2020-08-0185.662285.701085.71520.014
2020-08-0285.431885.430485.44750.017
2020-08-0385.396885.335485.37890.044
2020-08-0485.508485.535485.56770.032
2020-08-0585.896785.988285.96650.022
2020-08-0686.471386.480886.44960.031
2020-08-0786.720286.700886.70430.0035
2020-08-0886.484386.552486.56460.012
2020-08-0986.223886.281486.29650.015
2020-08-1086.236086.185986.22750.042
2020-08-1186.422386.385486.41590.030
2020-08-1286.798886.837886.81430.023
2020-08-1387.351487.330087.29710.033
2020-08-1487.648887.549687.55140.0018
2020-08-1587.424987.400887.41140.011
2020-08-1687.092187.129487.14300.014
2020-08-1787.073287.033687.07370.040
2020-08-1887.284587.232887.26190.029
2020-08-1987.621587.684987.66000.025
2020-08-2088.104388.176888.14250.034
2020-08-2188.421088.396188.39660.00048
2020-08-2288.240388.247088.25640.0093
2020-08-2387.879487.975487.98770.012
2020-08-2487.855887.879387.91820.039
2020-08-2588.145588.078388.10620.028
2020-08-2688.522088.530188.50410.026
2020-08-2788.974089.021888.98650.035
2020-08-2889.311489.240989.24030.00054
2020-06-1379.608679.506379.55740.051
2020-06-1479.309479.241379.29380.052
2020-06-1579.101479.153079.22890.076
2020-06-1679.401679.376779.44150.065
2020-06-1779.951579.843079.85730.014
2020-06-1880.315980.335080.33990.0049
2020-06-1980.480880.569580.60510.036
2020-06-2080.476080.441980.48410.042
2020-06-2180.208980.172980.21670.044
2020-06-2279.971380.080780.14820.067
2020-06-2380.226780.300780.35720.057
2020-06-2480.824580.763580.76970.0062
2020-06-2581.246181.252181.24910.0030
2020-06-2681.390381.483381.51130.028
2020-06-2781.388881.352681.38730.035
2020-06-2881.193181.080681.11710.036
2020-06-2980.969080.985681.04590.060
2020-06-3081.168281.202881.25240.050
2020-07-0181.765281.663081.66240.00051
2020-07-0282.213282.149082.13950.0095
2020-07-0382.298982.377882.39950.022
2020-07-0482.225782.244882.27330.029
2020-07-0582.044481.970682.00110.030
2020-07-0681.827981.873581.92800.055
2020-07-0781.967582.088782.13260.044
2020-07-0882.556482.546982.54080.0060
2020-07-0983.072983.031183.01620.015
2020-07-1083.175183.258183.27450.016
2020-07-1183.076483.123483.14690.024
2020-07-1282.944082.847682.87310.026
2020-07-1382.793182.748882.79860.050
2020-07-1482.907082.962583.00190.039
2020-07-1583.462683.419383.40880.010
2020-07-1684.015083.902183.88290.019
2020-07-1784.113484.127884.14010.012
2020-07-1883.933183.991884.01120.019
2020-07-1983.769983.714883.73650.022
2020-07-2083.645983.614983.66090.046
2020-07-2183.724183.827583.86320.036
2020-07-2284.222584.283284.26910.014
2020-07-2384.809984.765084.74240.023
2020-07-2484.961184.989884.99860.0089
2020-07-2584.759884.852884.86900.016
2020-07-2684.599784.574984.59340.018
2020-07-2784.554584.474284.51710.043
2020-07-2884.662584.686084.71860.033
2020-07-2985.119485.140985.12390.017
2020-07-3085.717785.621985.59650.025
2020-07-3185.909885.845985.85210.0062
2020-08-0185.662285.708385.72190.014
2020-08-0285.431885.429885.44570.016
2020-08-0385.396885.328485.36880.040
2020-08-0485.508485.539685.56990.030
2020-08-0585.896785.993985.97470.019
2020-08-0686.471386.474486.44680.028
2020-08-0786.720286.697986.70190.0041
2020-08-0886.484386.559786.57130.012
2020-08-0986.223886.280786.29470.014
2020-08-1086.236086.178886.21740.039
2020-08-1186.422386.389686.41810.028
2020-08-1286.798886.843586.82250.021
2020-08-1387.351487.323687.29420.029
2020-08-1487.648887.546787.54910.0024
2020-08-1587.424987.408287.41810.0099
2020-08-1687.092187.128887.14120.012
2020-08-1787.073287.026687.06360.037
2020-08-1887.284587.237087.26400.027
2020-08-1987.621587.690687.66820.022
2020-08-2088.104388.170388.13970.031
2020-08-2188.421088.393188.39430.0011
2020-08-2288.240388.254488.26300.0087
2020-08-2387.879487.974787.98590.011
2020-08-2487.855887.872387.90810.036
2020-08-2588.145588.082488.10830.026
2020-08-2688.522088.535888.51230.023
2020-08-2788.974089.015388.98360.032
2020-08-2889.311489.237989.23800.00011
2020-08-2989.186589.098989.10660.0077
2020-08-3088.794888.819188.82940.010
2020-08-3188.707288.716588.75140.035
2020-09-0189.007888.926488.95150.025
2020-09-0289.388689.379689.35530.024
2020-09-0389.766189.859089.82650.033
2020-09-0490.065290.081590.08080.00068
2020-09-0589.983689.942389.94930.0069
2020-09-0689.594689.662389.67190.0096
2020-09-0789.466589.559589.59380.034
2020-09-0889.805589.769489.79380.024
2020-09-0990.262790.222590.19750.025
2020-09-1090.636990.701790.66850.033
2020-09-1190.921490.924190.92280.0013

Timing ​

Median of all measured repetitions.

StepEffect ProphetPython ProphetEffect Prophet is
Compute metrics467 µs5.58 msNot compared: different work
Compute metrics by calendar month359 µs5.04 msNot compared: different work
Compute custom metrics1.26 ms12.9 msNot compared: different work
Compute MASE1.62 ms5.38 msNot 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.

  • Compute metrics, Compute metrics by calendar month, Compute custom metrics, Compute MASE: Python Prophet's cross-validation returns different outputs, and baselines, search and holdout reports have no Python API, so the benchmark times equivalent application code. The two libraries also compute ranges and some metrics differently.

Settings ​

The case declaration both libraries ran.

json
{
  "kind": "evaluation",
  "comparison": {
    "kind": "different-public-work",
    "evidenceId": "rolling-origin-evaluation-v1"
  },
  "configuration": {
    "growth": "logistic",
    "scaling": "minmax",
    "seasonalityMode": "additive",
    "holidaysMode": "additive",
    "changepoints": {
      "mode": "explicit",
      "timestamps": [
        "2020-02-10T00:00:00.000Z"
      ]
    },
    "changepointPriorScale": 0.2,
    "seasonalities": [
      {
        "name": "weekly-custom",
        "periodDays": 7,
        "fourierOrder": 2,
        "priorScale": 10
      }
    ],
    "events": [],
    "regressors": []
  },
  "pythonOptimizer": {
    "algorithm": "Auto",
    "maxIterations": 10000,
    "newtonFallback": true,
    "sigFigs": 12
  },
  "plan": {
    "horizonMs": 7862400000,
    "cutoffs": [
      "2020-05-01T00:00:00.000Z",
      "2020-05-29T00:00:00.000Z",
      "2020-06-12T00:00:00.000Z"
    ]
  },
  "metricAggregation": "horizons"
}

Inspired by Prophet from Meta. Not affiliated with Meta.