Skip to content

Repository files navigation

Better project estimates through Wisdom of the Crowd.

This code collects one to many 3-point estimates from different estimators for each unknown quantity, plus a probability in the case of Risks, and aggregates them up in a tree structure using Monte Carlo Simulation. Even if there is only 1 estimator for each quantity, the effect of systematic elicitation of unknown quantities, a 3-point estimate for each and Monte Carlo aggregation of the estimates will be a great improvement over the common practice of one estimator per unknown, giving a 'most likely' estimate probably padded with a risk margin at every level.

By design, it expects that a project comprises a tree each for aggregating Cost, Benefit, Risk and Issue trees. Those trees each contain considerable information of value to the PM and Sponsor. The system outputs a distribution histogram for every estimate included, to check the estimate for reasonableness. The whole tree's histogram can also be shown but more usefully, every level of the tree from actual estimates at the leaves through each level of aggregation can be exported as CSV with simulated P10, P50 and P90 values.

Risk and Issue trees comprise one to many estimates of their impacts plus one to many proposed Treatments. Each Treatment has one to many estimates of its cost to implement plus one to many estimates of the residual risk or issue after the Treatment. Treatments are NOT aggregated up into their parent Risk or Issue unless a specific Active box is checked. If Active is checked (because the team has chosen to implement that Treatment) then its aggregated valkue IS aggregated up into its parent and further up the tree. Otherwise, the aggregated value attached to the Treatment node is available for use to calculate and justify a specific contingency amount.

Expects R (for the UI and to aggregate estimates) and Python (to generate valid test data in test_data/) installed, and there is a batch file which invokes RScript (will need adjusting to your circumstances)

So far the synthetic test data has probably cost close to as much development effort as the R code, but testing has confirmed that R code simulates and aggregates the Cost, Benefit and Risk trees to within the 5%-95% probability thresholds of the synthetic aggregated data, even with a different seed. Issue data has not been tested (at 2026-08-14T1747+12). Some unrelated code changes have taken place since the Cost and Benefit aggregations have been verified, so that needs to be repeated.

About

Better project estimates through Wisdom of the Crowd. This code collects one to many 3-point estimates for each unknown quantity, plus a probability in the case of Risks, and aggregates them up in a tree structure using Monte Carlo Simulation.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages