Is there an formula to translate a Beta distribution back to a Pert distribution? Or is simulation the only way?

A popular method to estimate in project management is the 3 point estimation plus the PERT formula

If I use it for example to estimate how many stories my team is going to be able to complete Sprint over Sprint, I can start by saying that:

• Min number of stories: 10
• Most likely number of stories: 20
• Max number of stories: 30

Which when using the Z-score for 75% confidence tells me that if my assumptions are correct I can be 75% confident that I will be able to complete at least 18 stories.

- Pert Mean=([[Min]]+(4*[[Most Likely]])+[[Max]])/6
- Pert Variance = POWER(([[Max]]-[[Min]])/6,2)
- Pert StDev = SQRT([Pert Variance])

• Pert Mean: 20, StD: 3, Z-score: -0.67 therefore 20+(3*-0.67) = 18

But then it turns out that my team is only able to complete 8 stories, way less than what I expected to be the minimum, initially I had considered to simple update my parameter estimates to:

• Min number of stories: 8
• Most likely number of stories: 20
• Max number of stories: 30

But it didn't feel quite right, so I started reading more and discovered PERT distribution is actually a transformation of the Beta distribution, which meant I could use this to recalibrate.

So I went ahead and translated my initial PERT estimate into a Beta distribution by using this formulas:

Alpha =IF([Weighted Mean]=[Mode],([Lambda]/2)+1,  ([Weighted Mean]-[Min])*(2*[Mode]-[Min]-[Max])/(([Mode]-[Weighted Mean])*([Max]-[Min])))

Beta =[Alpha]*([Max]-[Weighted Mean])/([Weighted Mean]-[Min])


Which gave me this results:

• Alpha: 3
• Beta: 3

Adjusting alpha and beta to reflect the fact that we expected to complete 20 stories but only completed 8 is easy:

• Calibrated Alpha = 3+8 = 11
• Calibrated Beta = 3+12= 15.

Now the question is how do I translate that back into PERT to be able to use the Z-score to estimate (with 75%) confidence the number of stories that I will be able to complete on the next sprint... I looked and looked and couldn't find anything.... So I went the Montecarlo simulation route and had Excel generate 1 Million random numbers based on the Beta distribution:

FLOOR.MATH(BETA.INV(RAND(),[Alpha],[Beta],[Minimum],[Maximum])


That is:

FLOOR.MATH(BETA.INV(RAND(),11,15,8,30)


I used 8 as the min because is that smallest value I ever had (even if the project has only ran for 1 sprint)

And the result was:

• Min 9
• Mode 17
• Max 26

Which I am now using as parameters to do the PERT estimation for the next iteration...

The problem is that Excel is not really that fast generating 1 millon rows, and I really would like to calculate how things adjust over multiple sprints, so I am now wondering:

• Is this the only way to adjust the PERT parameters based on the way the team actually performed?
• Or is there some kind of (Bayesian?) formula that I could use to re-calibrate my PERT estimates?
• A million rows? How many iterations are you using for your Monte Carlo simulation? Typically, around 10,000 should be enough to give you stable results. – Tom Jan 18 '19 at 6:56
• @Tom Interesting can you please elaborate on the way to measure the impact of the number of iterations? – Luxspes Jan 18 '19 at 21:29
• You could run the simulation a number of times with different iteration values and measure the convergence. I go by the literature and by my own experience. I've by now run a few thousand simulations and while results are quite volatile at around 1-2 thousand iterations (which I sometimes use for quick checks if the results themselves are not important, e.g. I'm debugging something) they are fairly stable (about 2-3 significant digits) around 10k and going to 20k doesn't seem to me to improve anything significantly. I might run more extensive tests for a commercial product I'm working on. – Tom Jan 19 '19 at 6:51