Skip to content

Twelve folds, three years, sequential and parallel ​

match ← All linear growth benchmarks

Prophet's default model on three years of daily rows, with twelve monthly cutoffs forecasting 30 days each. Python Prophet is also timed with parallel="threads" and parallel="processes", which must give the same forecasts as running sequentially.

Input ​

benchmark/inputs/v3/linear-long-history.json: 1095 history rows and 365 forecast rows.

Output ​

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

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

DateActualEffect ProphetPython ProphetDifference
2022-01-02247.4845249.4687249.46890.00017
2022-01-03247.9985249.1054249.10710.0017
2022-01-04250.9901249.6220249.62540.0034
2022-01-05251.2120250.9387250.94390.0052
2022-01-06251.1885252.4220252.42950.0074
2022-01-07253.9641253.0253253.03520.0099
2022-01-08254.6540252.4625252.47510.013
2022-01-09251.3803251.5582251.57390.016
2022-01-10250.4844251.1908251.20980.019
2022-01-11253.2622251.7039251.72640.022
2022-01-12253.9025253.0179253.04390.026
2022-01-13252.7291254.4993254.52920.030
2022-01-14254.2625255.1016255.13560.034
2022-01-15255.5510254.5389254.57710.038
2022-01-16252.7853253.6358253.67850.043
2022-01-17251.0825253.2707253.31810.047
2022-01-18254.0671253.7873253.83950.052
2022-01-19256.3301255.1059255.16280.057
2022-01-20255.5859256.5930256.65490.062
2022-01-21256.5866257.2020257.26910.067
2022-01-22258.7042256.6469256.71920.072
2022-01-23256.9688255.7522255.82980.078
2022-01-24254.4117255.3961255.47920.083
2022-01-25256.4301255.9221256.01080.089
2022-01-26259.1693257.2503257.34430.094
2022-01-27258.1911258.7470258.84670.10
2022-01-28257.5578259.3655259.47080.11
2022-01-29259.2236258.8193258.93030.11
2022-01-30258.2893257.9328258.04970.12
2022-01-31255.3471257.5840257.70670.12
2022-02-01256.5991258.2684258.34120.073
2022-02-02260.3858259.6215259.70090.079
2022-02-03260.6900261.0567261.14370.087
2022-02-04259.7344261.7153261.80980.095
2022-02-05261.4424261.2615261.36350.10
2022-02-06262.2243260.3283260.43770.11
2022-02-07259.8835259.9449260.06160.12
2022-02-08260.2769260.5958260.72030.12
2022-02-09264.2745261.9491262.07940.13
2022-02-10265.4254263.3815263.51830.14
2022-02-11263.6723264.0341264.17690.14
2022-02-12264.2739263.5711263.71940.15
2022-02-13265.3932262.6252262.77870.15
2022-02-14263.3564262.2257262.38390.16
2022-02-15262.6971262.8572263.02020.16
2022-02-16266.5974264.1877264.35340.17
2022-02-17269.2112265.5942265.76290.17
2022-02-18267.9074266.2180266.38900.17
2022-02-19268.0179265.7234265.89620.17
2022-02-20270.0612264.7435264.91750.17
2022-02-21269.3271264.3080264.48270.17
2022-02-22268.1310264.9017265.07710.18
2022-02-23271.2582266.1931266.36730.17
2022-02-24274.5037267.5597267.73290.17
2022-02-25273.1327268.1431268.31480.17
2022-02-26271.6122267.6080267.77780.17
2022-02-27273.0118266.5882266.75570.17
2022-02-28272.8794266.1135266.27860.17
2022-03-01271.1045266.6693266.83220.16
2022-03-02273.1610267.9245268.08340.16
2022-03-03277.1583273.2936273.28560.0080
2022-03-04276.9590273.7956273.78760.0081
2022-03-05275.1011273.2680273.25990.0081
2022-03-06276.5327272.3073272.29920.0081
2022-03-07277.9394271.7741271.76600.0081
2022-03-08276.7574272.2363272.22820.0081
2022-03-09277.9098273.5448273.53660.0081
2022-03-10281.9897274.8497274.84150.0082
2022-03-11282.5472275.3009275.29280.0081
2022-03-12279.7528274.7318274.72370.0081
2022-03-13279.7227273.7388273.73080.0080
2022-03-14281.3051273.1825273.17460.0079
2022-03-15280.2837273.6302273.62240.0078
2022-03-16280.1554274.9324274.92470.0077
2022-03-17283.7964276.2385276.23090.0076
2022-03-18285.5681276.6974276.68990.0074
2022-03-19283.1294276.1416276.13430.0072
2022-03-20282.5301275.1665275.15950.0070
2022-03-21285.0162274.6316274.62480.0068
2022-03-22285.4836275.1030275.09650.0065
2022-03-23285.1026276.4301276.42380.0063
2022-03-24288.1820277.7611277.75510.0060
2022-03-25290.8026278.2440278.23830.0057
2022-03-26288.5662277.7102277.70490.0054
2022-03-27286.4696276.7543276.74930.0050
2022-03-28288.2471276.2349276.23030.0047
2022-03-29289.2176276.7177276.71340.0043
2022-03-30288.1322278.0513278.04730.0040
2022-03-31289.8585279.3839279.38010.0037
2022-04-01292.8975279.8630279.85960.0034
2022-04-02291.6381290.9205290.92910.0087
2022-04-03289.0806290.1965290.20610.0096
2022-04-04290.7580289.9624289.97300.011
2022-04-05293.2819290.6229290.63440.012
2022-04-06293.0056292.1059292.11770.012
2022-04-07294.0576293.7295293.74240.013
2022-04-08297.3727294.4500294.46400.014
2022-04-09297.1483294.0321294.04720.015
2022-04-10293.9302293.2842293.30040.016
2022-04-11294.2305293.0281293.04530.017
2022-04-12296.8925293.6684293.68650.018
2022-04-13296.7386295.1330295.15130.018
2022-04-14296.3564296.7398296.75910.019
2022-04-15298.9138297.4451297.46530.020
2022-04-16299.6192297.0135297.03450.021
2022-04-17296.5856296.2531296.27490.022
2022-04-18296.1329295.9854296.00790.023
2022-04-19299.5533296.6147296.63790.023
2022-04-20300.9548298.0688298.09190.023
2022-04-21300.5203299.6653299.68910.024
2022-04-22302.6884300.3600300.38450.024
2022-04-23304.4650299.9174299.94250.025
2022-04-24301.9610299.1453299.17100.026
2022-04-25300.2501298.8649298.89120.026
2022-04-26303.0226299.4804299.50720.027
2022-04-27304.9521300.9192300.94600.027
2022-04-28303.7988302.4990302.52650.027
2022-04-29304.4095303.1754303.20360.028
2022-04-30306.2936302.7128302.74180.029
2022-05-01304.5405301.9190301.94890.030
2022-05-02302.1741304.0927304.07370.019
2022-05-03304.6087304.8080304.78860.019
2022-05-04307.9782306.2527306.23250.020
2022-05-05307.7325307.7969307.77620.021
2022-05-06307.8145308.5446308.52350.021
2022-05-07310.1221308.1607308.13920.022
2022-05-08309.6832307.3150307.29310.022
2022-05-09306.9906307.0405307.01810.022
2022-05-10308.2351307.7280307.70520.023
2022-05-11311.8262309.1442309.12080.023
2022-05-12311.7904310.6593310.63570.024
2022-05-13310.4008311.3776311.35370.024
2022-05-14311.7102310.9641310.93990.024
2022-05-15311.9404310.0888310.06440.024
2022-05-16309.2367309.7848309.76010.025
2022-05-17309.4774310.4431310.41830.025
2022-05-18313.5734311.8307311.80540.025
2022-05-19315.0322313.3178313.29250.025
2022-05-20313.6756314.0089313.98350.025
2022-05-21314.6800313.5692313.54370.025
2022-05-22316.1507312.6687312.64320.025
2022-05-23314.3035312.3405312.31490.026
2022-05-24313.5828312.9759312.95030.026
2022-05-25317.1887314.3415314.31580.026
2022-05-26319.3184315.8079315.78230.026
2022-05-27317.3580316.4794316.45390.025
2022-05-28316.7188316.0210315.99570.025
2022-05-29318.0634315.1027315.07760.025
2022-05-30316.7687314.7576314.73260.025
2022-05-31315.1805315.3767315.35190.025
2022-06-01318.1442318.5423318.49480.047
2022-06-02321.4909320.0152319.96270.052
2022-06-03320.4123320.6533320.59560.058
2022-06-04319.2757320.2653320.20220.063
2022-06-05321.0970319.4190319.35040.069
2022-06-06321.3380319.0225318.94820.074
2022-06-07319.7577319.6481319.56810.080
2022-06-08321.7722321.1005321.01510.085
2022-06-09325.5143322.5505322.45910.091
2022-06-10324.8509323.1659323.06840.097
2022-06-11322.3382322.7555322.65190.10
2022-06-12323.0377321.8873321.77760.11
2022-06-13323.7641321.4692321.35330.12
2022-06-14322.0110322.0740321.95180.12
2022-06-15322.7581323.5059323.37820.13
2022-06-16326.6841324.9362324.80230.13
2022-06-17327.3461325.5325325.39250.14
2022-06-18324.8311325.1039324.95780.15
2022-06-19325.1933324.2181324.06590.15
2022-06-20327.2292323.7832323.62500.16
2022-06-21326.6002324.3718324.20770.16
2022-06-22326.6812325.7884325.61900.17
2022-06-23330.3217327.2040327.02870.18
2022-06-24331.8829327.7863327.60510.18
2022-06-25328.9989327.3442327.15710.19
2022-06-26327.7645326.4454326.25260.19
2022-06-27329.5546325.9979325.79930.20
2022-06-28329.3595326.5743326.36990.20
2022-06-29328.4014327.9789327.76930.21
2022-06-30331.0840329.3826329.16720.22
2022-07-01333.5709332.3614332.33700.024
2022-07-02331.4386331.9142331.88530.029
2022-07-03329.6199331.1087331.07520.033
2022-07-04331.8183330.7658330.72770.038
2022-07-05333.2760331.3468331.30390.043
2022-07-06332.6007332.7785332.72880.050
2022-07-07334.5693334.3120334.25770.054
2022-07-08337.6645334.9285334.86930.059
2022-07-09336.2361334.4750334.41060.064
2022-07-10333.2577333.6635333.59430.069
2022-07-11334.3411333.3151333.24080.074
2022-07-12336.2128333.8908333.81130.079
2022-07-13335.2879335.3170335.23060.086
2022-07-14335.7703336.8451336.75380.091
2022-07-15338.7160337.4559337.35940.096
2022-07-16338.3773336.9961336.89440.10
2022-07-17335.2625336.1780336.07120.11
2022-07-18335.8574335.8224335.71040.11
2022-07-19338.9806336.3902336.27290.12
2022-07-20339.3421337.8080337.68350.12
2022-07-21339.3938339.3269339.19740.13
2022-07-22342.2458339.9280339.79310.13
2022-07-23343.0675339.4581339.31770.14
2022-07-24339.9018338.6294338.48360.15
2022-07-25339.0669338.2629338.11140.15
2022-07-26341.9505338.8196338.66240.16
2022-07-27342.7403340.2263340.06150.16
2022-07-28341.6719341.7342341.56380.17
2022-07-29343.2964342.3245342.14830.18
2022-07-30344.7394341.8443341.66190.18
2022-07-31342.1337342.9966343.00090.0044
2022-08-01340.5326342.7334342.73800.0046
2022-08-02343.6341343.4160343.42090.0049
2022-08-03346.0641344.8585344.86370.0051
2022-08-04345.4489346.4123346.41770.0054
2022-08-05346.5311347.1559347.16160.0057
2022-08-06348.7743346.7642346.77030.0060
2022-08-07347.1907345.9451345.95150.0064
2022-08-08344.7301345.6902345.69690.0067
2022-08-09346.8386346.3814346.38840.0070
2022-08-10349.7330347.8328347.84020.0074
2022-08-11348.9082349.3958349.40350.0077
2022-08-12348.3797350.1489350.15700.0081
2022-08-13350.1852349.7667349.77520.0084
2022-08-14349.4445348.9571348.96590.0088
2022-08-15346.6578348.7117348.72090.0092
2022-08-16348.0326349.4124349.42190.0095
2022-08-17351.9950350.8732350.88310.0099
2022-08-18352.4895352.4453352.45560.010
2022-08-19351.6617353.2074353.21800.011
2022-08-20353.4954352.8340352.84490.011
2022-08-21354.1486352.0330352.04430.011
2022-08-22351.6580351.7960351.80760.012
2022-08-23351.8511352.5049352.51680.012
2022-08-24355.6892353.9739353.98600.012
2022-08-25356.7271355.5540355.56640.012
2022-08-26354.8193356.3241356.33670.013
2022-08-27355.2506355.9587355.97160.013
2022-08-28356.2652355.1657355.17890.013
2022-08-29354.1369354.9369354.95030.013
2022-08-30353.3316355.7108355.71230.0015
2022-08-31357.1015357.2352357.23680.0016
2022-09-01359.6401358.7786358.78020.0016
2022-09-02358.2290359.5176359.51930.0017
2022-09-03358.1837359.2156359.21740.0018
2022-09-04360.1130358.4444358.44630.0019
2022-09-05359.2938358.1521358.15410.0019
2022-09-06357.9573358.9167358.91860.0020
2022-09-07360.9322360.4543360.45650.0021
2022-09-08364.0892362.0121362.01430.0022
2022-09-09362.6310362.7664362.76870.0022
2022-09-10360.9742362.4805362.48280.0023
2022-09-11362.2704361.7260361.72840.0023
2022-09-12362.0934361.4509361.45330.0024
2022-09-13360.2420362.2329362.23530.0024
2022-09-14362.1902363.7880363.79060.0025
2022-09-15366.1339365.3631365.36560.0025
2022-09-16365.9028366.1345366.13700.0025
2022-09-17363.9537365.8651365.86760.0025
2022-09-18365.2891365.1264365.12890.0025
2022-09-19366.6559364.8663364.86870.0025
2022-09-20365.4156365.6623365.66470.0024
2022-09-21366.4559367.2305367.23300.0025
2022-09-22370.4591368.8176368.82000.0024
2022-09-23370.9876369.5999369.60230.0024
2022-09-24368.1239369.3404369.34280.0024
2022-09-25368.0052368.6107368.61300.0023
2022-09-26369.5646368.3587368.36100.0023
2022-09-27368.5395369.1620369.16430.0023
2022-09-28368.3561370.7369370.73930.0024
2022-09-29371.9570372.1876372.18320.0044
2022-09-30373.7488372.9358372.93130.0045
2022-10-01371.3045372.6447372.64010.0046
2022-10-02370.6507371.9761371.97140.0047
2022-10-03373.1223371.7555371.75060.0049
2022-10-04373.6071372.4903372.48530.0050
2022-10-05373.1885374.0908374.08560.0052
2022-10-06376.2125375.7636375.75830.0053
2022-10-07378.8387376.5259376.52050.0054
2022-10-08376.6111376.2490376.24350.0055
2022-10-09374.4718375.5947375.58900.0057
2022-10-10376.2352375.3883375.38240.0059
2022-10-11377.2531376.1373376.13130.0060
2022-10-12376.1880377.7519377.74580.0062
2022-10-13377.9024379.4386379.43240.0063
2022-10-14380.9852380.2148380.20840.0064
2022-10-15379.7980379.9514379.94500.0065
2022-10-16377.2568379.3105379.30390.0066
2022-10-17378.9434379.1172379.11050.0067
2022-10-18381.5336379.8789379.87220.0068
2022-10-19381.3085381.5061381.49920.0069
2022-10-20382.3544383.2049383.19800.0069
2022-10-21385.6931383.9929383.98600.0069
2022-10-22385.5398383.7411383.73420.0069
2022-10-23382.3524383.1114383.10450.0070
2022-10-24382.6586382.9291382.92210.0070
2022-10-25385.3897383.7016383.69470.0070
2022-10-26385.3282385.3393385.33230.0070
2022-10-27384.9885387.0485387.04150.0070
2022-10-28387.6014387.8466387.83970.0069
2022-10-29388.4262387.6647387.65430.010
2022-10-30385.4924387.0061386.99540.011
2022-10-31385.0906386.8835386.87230.011
2022-11-01388.6003387.6953387.68370.012
2022-11-02390.1265389.2879389.27590.012
2022-11-03389.7624390.9979390.98530.013
2022-11-04391.9774391.8720391.85880.013
2022-11-05393.8582391.6083391.59450.014
2022-11-06391.4623390.9553390.94110.014
2022-11-07389.8043390.8382390.82340.015
2022-11-08392.6521391.6555391.64020.015
2022-11-09394.7188393.2537393.23790.016
2022-11-10393.6781394.9695394.95310.016
2022-11-11394.3672395.8499395.83290.017
2022-11-12396.3847395.5931395.57560.018
2022-11-13394.7992394.9477394.92970.018
2022-11-14392.5476394.8388394.82030.018
2022-11-15395.0878395.6652395.64630.019
2022-11-16398.6212397.2733397.25410.019
2022-11-17398.5279398.9998398.98010.020
2022-11-18398.7023399.8917399.87160.020
2022-11-19401.1262399.6471399.62660.020
2022-11-20400.8501399.0145398.99370.021
2022-11-21398.2790398.9189398.89790.021
2022-11-22399.6134399.7589399.73770.021
2022-11-23403.3529401.3807401.35960.021
2022-11-24403.4907403.1210403.09970.021
2022-11-25402.2241404.0264404.00500.021
2022-11-26403.6660403.7949403.77350.021
2022-11-27404.0945403.1749403.15350.021
2022-11-28401.5749403.1275403.11960.0079
2022-11-29401.9505404.0278404.01900.0088
2022-11-30406.2184405.6914405.68150.0098
2022-12-01407.8879407.3893407.37840.011
2022-12-02406.6894408.2941408.28200.012
2022-12-03407.8231408.1353408.12180.013
2022-12-04409.4766407.4984407.48360.015
2022-12-05407.8166407.3692407.35300.016
2022-12-06407.2235408.2666408.24890.018
2022-12-07410.9716409.9258409.90660.019
2022-12-08413.3034411.6182411.59740.021
2022-12-09411.5217412.5165412.49400.022
2022-12-10411.0229412.3505412.32630.024
2022-12-11412.5601411.7062411.68020.026
2022-12-12411.4964411.5698411.54190.028
2022-12-13410.0893412.4602412.43040.030
2022-12-14413.2225414.1131414.08150.032
2022-12-15416.7979415.8003415.76670.034
2022-12-16415.9408416.6946416.65910.035
2022-12-17414.9639416.5262416.48880.037
2022-12-18416.9633415.8813415.84190.039
2022-12-19417.4284415.7460415.70450.041
2022-12-20416.0295416.6396416.59610.043
2022-12-21418.1866418.2977418.25220.045
2022-12-22422.1237419.9919419.94450.047
2022-12-23421.6804420.8951420.84580.049
2022-12-24419.3352420.7373420.68600.051
2022-12-25420.2060420.1043420.05110.053
2022-12-26421.1697419.9820419.92690.055
2022-12-27419.6437420.8894420.83230.057

Timing ​

Median of all measured repetitions.

Effect Prophet runs cross-validation folds one at a time, so only Python Prophet has parallel timings.

StepEffect ProphetPython ProphetEffect Prophet is
Cross-validate953 ms2.61 sNot compared: different work
Cross-validate, Python parallel="threads"—1.10 s—
Cross-validate, Python parallel="processes"—2.49 s—
Cross-validate with ranges964 ms2.71 sNot compared: different work
Cross-validate with ranges, Python parallel="threads"—1.15 s—
Cross-validate with ranges, Python parallel="processes"—2.49 s—

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.

  • Cross-validate, Cross-validate with ranges: 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": "linear",
    "scaling": "absmax",
    "seasonalityMode": "additive",
    "holidaysMode": "additive",
    "changepoints": {
      "mode": "auto",
      "count": 25,
      "range": 0.8
    },
    "changepointPriorScale": 0.05,
    "seasonalities": [
      {
        "name": "yearly-custom",
        "periodDays": 365.25,
        "fourierOrder": 10,
        "priorScale": 10
      },
      {
        "name": "weekly-custom",
        "periodDays": 7,
        "fourierOrder": 3,
        "priorScale": 10
      }
    ],
    "events": [],
    "regressors": []
  },
  "effectOptimizer": {
    "algorithm": "auto",
    "maxIterations": 10000,
    "fallback": "newton",
    "lbfgs": {
      "historySize": 5,
      "initAlpha": 0.001,
      "tolObj": 1e-12,
      "tolRelObj": 10000,
      "tolGrad": 1e-8,
      "tolRelGrad": 10000000,
      "tolParam": 1e-8
    }
  },
  "pythonOptimizer": {
    "algorithm": "Auto",
    "maxIterations": 10000,
    "newtonFallback": true,
    "sigFigs": 12
  },
  "plan": {
    "horizonMs": 2592000000,
    "cutoffs": [
      "2022-01-01T00:00:00.000Z",
      "2022-01-31T00:00:00.000Z",
      "2022-03-02T00:00:00.000Z",
      "2022-04-01T00:00:00.000Z",
      "2022-05-01T00:00:00.000Z",
      "2022-05-31T00:00:00.000Z",
      "2022-06-30T00:00:00.000Z",
      "2022-07-30T00:00:00.000Z",
      "2022-08-29T00:00:00.000Z",
      "2022-09-28T00:00:00.000Z",
      "2022-10-28T00:00:00.000Z",
      "2022-11-27T00:00:00.000Z"
    ]
  },
  "metricAggregation": "horizons",
  "interval": {
    "seed": 19,
    "samples": 256,
    "intervalWidth": 0.8
  }
}

Inspired by Prophet from Meta. Not affiliated with Meta.