Risk Matrix Builder
Paste your risk register, set where Critical, High, and Medium start, and see every risk on a 5×5 heat map and in ranked order. Then take the same scoring into Power BI, including the cell colors for the matrix visual.
Bands (score = likelihood × impact)
Scores at or above each number fall into that band; anything below Medium is Low. Defaults match the risk register tutorial.
Heat map
Impact →
Each cell is colored by the band its own likelihood × impact falls in, and shows how many risks sit there.
Ranked
| Risk | L | I | Score | Level |
|---|---|---|---|---|
| RISK-01Key supplier delivery delay | 4 | 4 | 16 | Critical |
| RISK-08Regulatory approval delay | 3 | 5 | 15 | Critical |
| RISK-04Single point of failure in power supply | 2 | 5 | 10 | High |
| RISK-06Software defect rate exceeds threshold | 3 | 3 | 9 | High |
| RISK-05Test facility unavailable during critical window | 4 | 2 | 8 | Medium |
| RISK-07Key personnel attrition | 2 | 4 | 8 | Medium |
| RISK-03Budget overrun on subsystem integration | 2 | 3 | 6 | Medium |
| RISK-02Requirements change after design freeze | 1 | 3 | 3 | Low |
The same scoring as DAX measures
Risk Score and Risk Level with your bands, built on Current Likelihood and Current Impact from the tutorial, plus a color measure that turns its 5×5 matrix visual into this heat map.
Risk Score =
[Current Likelihood] * [Current Impact]
Risk Level =
SWITCH(
TRUE(),
[Risk Score] >= 15, "Critical",
[Risk Score] >= 9, "High",
[Risk Score] >= 4, "Medium",
"Low"
)
-- Background color for each cell of the 5x5 matrix visual:
-- Format > Cell elements > Background color > fx > Format style: Field value
Matrix Cell Color =
VAR CellScore =
SELECTEDVALUE(DimLikelihood[Likelihood]) * SELECTEDVALUE(DimImpact[Impact])
RETURN
SWITCH(
TRUE(),
CellScore >= 15, "#FCA5A5",
CellScore >= 9, "#FDBA74",
CellScore >= 4, "#FDE68A",
"#BBF7D0"
)Free, with no sign-in and no request limit. Everything runs in your browser, and nothing you paste is sent anywhere.
A score is for sorting, not measuring. Likelihood and impact are ordinal ratings, so a 12 isn't “twice as risky” as a 6, and a 4×2 and a 2×4 score the same while calling for different responses. Use the bands to decide what gets attention first, and read the ratings themselves before deciding what to do.
The risk register tutorial builds this in Power BI from a register with assessment history, and Risk Score & Heat Map covers the pattern on its own. Or browse all the Power BI tools.