Skip to content

Custom Distributions

There is no dedicated spreadsheet tab named custom_distributions in the current engine.

Instead, custom distributions are defined through one or more extra sheets referenced from the imp sheet.

How Custom Distributions Work

To define a custom distribution for a multiplier:

  1. In imp, set Distribution = custom for that multiplier.
  2. Create a separate sheet whose name matches the normalized Impact Differentiator.
  3. Put numeric values in the first column of that sheet.
  4. Optionally set Min and Max in imp to filter the empirical values before sampling.

Example:

In imp:

Impact Differentiator Min Max Distribution
PolicyAdditionality 0.4 2.0 custom

Then create a sheet named PolicyAdditionality with values such as:

A
0.5
0.8
1.0
1.4
1.9

Important Naming Rule

The engine looks up custom-distribution sheets using the normalized multiplier name after removing spaces and dots.

Examples:

  • Policy Additionality -> sheet PolicyAdditionality
  • Risk.Reduction -> sheet RiskReduction

Parser Behavior

For each multiplier with Distribution = custom, the parser:

  • reads the sheet with the normalized multiplier name,
  • coerces the sheet to numeric values,
  • uses only the first column,
  • drops NA values,
  • filters by Min and Max if those bounds are present,
  • stores the resulting empirical sample for later simulation.

During simulation, the engine samples from the empirical quantiles of that stored value vector.

Validation And Failure Modes

Current behavior:

  • If the custom sheet cannot be read, parsing records an error.
  • If the sheet exists but contains no usable numeric values after cleaning and filtering, downstream simulation is likely to fail or behave unexpectedly, so examples should always leave at least one valid numeric value.

Notes For Agents

  • This page documents a pattern, not a literal sheet name.
  • The current Problem Definition landing page should not imply that custom_distributions is a mandatory or optional tab name in the workbook.
  • If you generate example workbooks, keep the custom-sheet name aligned with the normalized differentiator name used internally by the parser.