Overview
An Uncertainty Class is a reusable profile that describes how much a cost or a duration is expected to vary around its point estimate. Each class holds a distribution method and a set of percentage factors (Min, Most Likely, Max) for both the schedule and the cost dimension. Classes are assigned to Activities and Resource Assignments (directly or through the cascade), and the unified Monte Carlo engine samples from them to produce the cost and finish-date distributions on the Risk Analysis page. Uncertainty Classes are managed per project on the Edit Project screen, alongside the Basis Code Defaults that drive the “Apply Uncertainty to Work Package” button on the Budget Form. Location: Admin > Projects > Edit Project > Uncertainty Classes section.Prerequisites
- Your account must have administrative access to the project.
- A project (snapshot) must be selected.
The Uncertainty Classes table
The table lists every class defined for the project with these columns:What the factors mean
Factors are expressed as a percentage of the deterministic (point-estimate) value, where 100% means “no change”:- A schedule Min Factor of 80, Most Likely of 100, and Max of 150 means a 10-day activity is sampled between 8 and 15 days, peaking at 10.
- A cost Min Factor of 90, Most Likely of 100, and Max of 130 means a 9,000 and 10,000.
Distribution methods
Adding or editing a class
- Click Add Uncertainty Class (or the edit action on an existing row).
- Set the Resource Type, Name, and an optional Description and Type of Estimate Description.
- Choose a Distribution Method.
- Enter the Schedule Factors (% of deterministic duration) and Cost Factors (% of deterministic cost). Only the inputs relevant to the chosen method are required.
- Click Save Uncertainty Class.
Add Default Classes
Click Add Default Classes to seed the standard set of classes (a Low-through-High style ladder). The action skips any class whose name already exists, so it is safe to run on a project that already has some classes defined. This is the fastest way to get a project ready for Monte Carlo analysis.Basis Code Defaults
Below the classes table, the Basis Code Defaults section maps each Basis Code to a default Cost Uncertainty Class and a default Schedule Uncertainty Class. These defaults drive the Apply Uncertainty to Work Package button on the Budget Form: when a user applies uncertainty to a work package, each resource assignment receives the class mapped to its basis code. A blank dropdown means there is no auto-default for that basis code, and those assignments are left unassigned. To set a default, pick a Cost class and a Schedule class next to a basis code and save. If a mapping references a class that no longer exists (for example, after a basis code file swap), a warning appears so you can re-map it. Swapping a project’s Basis Code File can also leave mappings behind for codes the new file does not contain. When that happens the warning reports how many, and Remove Orphaned Mappings deletes them. It only removes mappings whose basis code is absent from the project’s current Basis Code File; it never changes a class assignment on an activity or a resource assignment.Where classes are used next
- Assigning a class to Activities and Resource Assignments: see the Estimating guide on Cost Overlay and Uncertainty.
- The cascade and the simulation: see the Risk Analysis guide.

