Lesson 10.3Lesson 10.3 · Workflow, Validation & Career
Uncertainty & Sensitivity
Which inputs actually matter, and why you should report a range, not a number
Your model prints 87.3 kWh per square metre. Not one of the inputs behind that number is known to better than a guess.
A simulation output looks precise - three decimal places, confident and final. But it is built from inputs that are all, to some degree, uncertain: next year's weather, how people will occupy the space, the true conductivity of the wall, the airtightness of the build. Feed uncertain inputs into a model and you get an uncertain output, however many decimals it shows.
The mature response is not to pretend otherwise. It is to ask two questions: which uncertain inputs actually matter (sensitivity), and how uncertain is my answer as a result (uncertainty). Answer those and you can make decisions that hold up even though the inputs never will.
Find the few drivers. Report a range. Pick what wins across it.
Where uncertainty comes from
Uncertainty in a building model has a few distinct sources, and naming them helps you handle each.
Scenario uncertainty - the future you cannot know: next year's weather versus the typical EPW, how many people will use the building, how they will set the thermostat, whether plug loads grow. Occupancy and operation are the biggest and least predictable of these.
Physical / parameter uncertainty - properties you cannot pin exactly: the as-built conductivity of insulation, real airtightness, thermal bridging, the true SHGC of the glazing after weathering. Manufacturers quote ideal values; buildings deliver scattered ones.
Model-form uncertainty - the simplifications in the model itself: zoning choices, how controls are represented, the fact that no model is the building.
Numerical uncertainty - solver tolerances and timesteps, usually small.
The practical point: some of these you can reduce with better data (measure the airtightness), and some you fundamentally cannot (next year's weather). Good practice is to shrink what you can and quantify what you cannot, rather than hiding all of it behind a single confident number.
It is worth internalising which sources dominate, because effort should follow them. For most buildings the scenario uncertainties - occupancy, plug loads, set-points, operation - swamp the physical ones. Two identical flats can differ by fifty percent in energy use purely because of how the occupants live, and no refinement of the wall build-up will close that. This is liberating rather than discouraging: it tells you that chasing a third-decimal U-value while guessing occupancy from a default schedule is effort spent in the wrong place. The discipline of naming your uncertainty sources, before you model, is what stops you polishing the precise inputs while the imprecise ones quietly decide the answer.
Occupancy + operation = the big, unknowable ones. Weather too.
Sensitivity analysis: which inputs move the needle
You cannot chase every uncertain input, and you do not need to - because they are not equal. Typically a handful dominate the result and the rest barely register. Sensitivity analysis is how you find the vital few.
The simplest form is one-at-a-time (OAT): hold everything at its baseline, vary one input across its plausible range, record how much the output moves, and repeat for each input. Rank the results and you get a tornado chart - horizontal bars, longest at the top, showing which inputs swing the answer most. OAT is quick and intuitive, but it misses interactions (two inputs that only matter together).
For interactions you use global sensitivity analysis - methods like Morris screening or Sobol indices - which vary many inputs together across the whole space, usually via many model runs (a Monte Carlo sample). These are more work but reveal the true drivers and their couplings.
Either way, the payoff is focus. If the tornado shows cooling set-point and infiltration dominate while wall colour is negligible, you know where to spend measurement effort, where to be conservative, and which 'decisions' are actually irrelevant. Sensitivity analysis tells you what to worry about.
A subtlety worth flagging: sensitivity is local. An input's importance depends on where the baseline sits and on the climate. Infiltration barely matters in a mild climate but dominates in a cold or very hot one; shading depth matters enormously on a west facade and little on a north one. So a tornado chart is a statement about this design in this context, not a universal ranking to memorise. Re-run it when the design or climate changes materially. Used this way, sensitivity analysis is not a one-off report but a running compass that keeps pointing you at the handful of inputs actually steering the result - and away from the many that merely feel important.
A few inputs rule the result. Find them, ignore the rest.
Uncertainty analysis: from a number to a range
Sensitivity tells you which inputs matter; uncertainty analysis tells you how much that leaves your answer unsure. The method is propagation: instead of one value per input, assign each a plausible distribution (airtightness between X and Y, occupancy between so-many people), then sample many combinations - a Monte Carlo run of hundreds or thousands of simulations - and look at the spread of outputs.
What you get is not '87.3' but a distribution: perhaps 'annual cooling energy is very likely between 95 and 140 kWh/m2, most probably around 115.' You report percentiles - a P10-P90 range - rather than a false-precision point. This is honest, and it is genuinely more useful: a client deciding whether to buy a bigger chiller cares far more about the plausible worst case than about one optimistic point estimate.
Crucially, the width of the range comes mostly from the sensitive inputs the tornado identified - which is why the two analyses pair. Reduce uncertainty in a dominant input (measure it) and the whole range narrows. Reporting the range is not admitting the model is weak; it is stating exactly how strong it is.
There is a practical objection - 'a thousand EnergyPlus runs is too slow' - and it is fading fast. Parametric tools (Ladybug in Grasshopper, OpenStudio measures, or a spreadsheet data table for a simple model) automate the sampling, and increasingly a fast surrogate model, trained on a few hundred real runs, approximates the engine in milliseconds so that full Monte Carlo becomes routine. But the method matters more than the machinery: even a coarse propagation with a handful of scenarios (best case, expected, worst case) beats a single point, because it forces you and the client to look at the spread. The habit - never report one number where the honest answer is a range - is the transferable skill; the tooling only makes it cheaper.
Report P10-P90, not a fake-precise point. The range IS the answer.
Making robust decisions under uncertainty
The goal of all this is not more analysis for its own sake - it is better decisions when the inputs are guesses. Three habits make decisions robust.
Prefer options that win across the range, not just at the mean. If design A beats B for almost every sampled combination of occupancy and weather, that is a robust choice; if A only wins under one optimistic scenario, it is fragile. This is where simulation's comparative honesty shines - relative rankings survive uncertainty far better than absolute numbers, because many uncertainties push both options the same way and cancel out.
Design in margin where the downside is expensive. If overheating risk is sensitive to occupancy you cannot control, favour a design that stays comfortable even in the hot-and-crowded tail, not one that only works on average.
Report ranges to clients and be explicit about assumptions. 'Between 95 and 140, most likely 115, driven mainly by how the building is operated' builds trust and pre-empts the performance gap. A single confident number invites disappointment later.
Uncertainty is not a flaw in simulation to be hidden - it is information. Handled well, it turns a fragile prediction into a decision you can defend.
This reframes the whole relationship between designer and model. A single number invites a false argument - 'the model says 87, so it will be 87' - that reality is bound to lose, damaging trust in simulation itself. A range with named drivers invites the right conversation - 'the outcome depends most on how you operate the building, so let us design the controls and the commissioning to protect the good end of the range.' The uncertainty becomes a design brief, not an embarrassment. That is the mature posture this course has argued for from the start: simulation is decision-support under uncertainty, and its honesty about what it does not know is precisely what makes what it does know worth acting on.
Robust = wins across the whole range, not just at the mean.
One-at-a-time (OAT)
Vary one input at a time, hold the rest at baseline
Fast, intuitive, produces a tornado chart - but misses interactions between inputs. A good first screen.
Global sensitivity (Morris / Sobol)
Vary many inputs together across the whole space
Captures interactions and true drivers via many runs; more effort, more honest for coupled systems.
Monte Carlo propagation
Sample input distributions over hundreds/thousands of runs
Turns input ranges into an output distribution; the basis for reporting P10-P90 rather than a point.
Tornado chart
Ranked horizontal bars of each input's effect on the output
The standard way to show which inputs matter most - longest bar at the top.
Workshop - build a tornado chart
You can do a real sensitivity study on a simple model - even a spreadsheet heat-loss calculation - and learn to see which inputs actually matter. This is the single most decision-useful analysis in the course.
A spreadsheet, or a simple model in OpenStudio/Ladybug. Parametric tools (Ladybug/Grasshopper, or a spreadsheet data table) make the repeated runs quick.
Goal: run a one-at-a-time sensitivity study and rank inputs in a tornado chart Inputs: a simple energy model or heat-loss spreadsheet, plausible low/high ranges for each input Time: ~60 minutes
- 1List 6-8 uncertain inputs of your model - e.g. wall U-value, glazing SHGC, WWR, infiltration, cooling set-point, occupancy density, lighting power.
- 2For each, decide a plausible low and high value (its realistic uncertainty range), keeping every other input at its baseline.
- 3Run the model at each input's low and high, recording the output (say annual cooling energy) each time - two runs per input.
- 4For each input, compute the swing (high output minus low output) and draw a horizontal bar of that width, centred on the baseline; stack them longest-at-top to form a tornado chart.
- 5Read it: identify the two or three dominant inputs, and decide where to spend measurement effort or design margin - and which inputs you can safely stop worrying about.
You’ll walk away with
A tornado chart ranking your inputs by influence, plus a short note on the two or three that dominate and what you would do about them (measure, add margin, or ignore). This is how professionals decide where uncertainty is worth chasing.
Three altitudes on the same idea
Read the band that fits you — or all three.
Uncertainty analysis protects you from over-promising and from fragile designs. When you present performance to a client, a defensible range with its main drivers named beats a single number that reality will later contradict. Use sensitivity analysis to find where design margin actually matters - the overheating tail, the operation you cannot control - and choose options that win across the plausible range, not just at the average.
Your inputs - occupancy, plug loads, how a space is used - are often the very ones sensitivity analysis flags as dominant. That is empowering: it means fit-out and operational choices genuinely move performance, and it means you should set client expectations as ranges tied to use. When a space's comfort is sensitive to occupancy density, design and specify for the crowded case, not the polite average.
Sensitivity and uncertainty analysis are what separate a naive modeller from a credible one. Employers notice a portfolio that reports ranges and names drivers instead of one confident figure. Learn to build a tornado chart from a one-at-a-time study and to run a simple Monte Carlo with parametric tools (Ladybug's parametric components, or a spreadsheet sweep). Honesty about uncertainty reads as expertise, not weakness.
“A more detailed model removes the uncertainty and gives the real number.”
Do it yourself
Reason it through - no software needed.
- 1Name the four sources of uncertainty in a building model.
- 2What does a tornado chart show, and how do you read it?
- 3What is the difference between one-at-a-time and global sensitivity analysis?
- 4Why report a P10-P90 range instead of a single output number?
- 5What makes a design decision 'robust' under uncertainty?
The one line to carry out
Peer-reviewed journals & authoritative standards
- 01Sensitivity analysis — Wikipedia, 2026.
- 02Uncertainty quantification — Wikipedia, 2026.
- 03Hensen, J. L. M. & Lamberts, R. (eds) - Building Performance Simulation for Design and Operation (2nd ed.) — Routledge, 2019.
- 04IBPSA - International Building Performance Simulation Association — ibpsa.org, 2026.
You now have the full professional toolkit - workflow, calibration, and honest uncertainty. The last question is where these skills take you. We close the course by mapping the building-performance career: the roles, the credentials, and where the field is heading.
The author
Amogh N P
Architect, interior designer, and creative polymath. Studio Matrx began in his notebooks — his vision of design made honest, useful, and open to everyone. Its Academy is written and taught in his memory, and free, forever.
More about Amogh →