What should a risk register template contain?
risk register template for google sheets is a key topic in modern project management and teamwork. Six fields make a register operational, and everything else is context. Probability and impact produce the score. The response strategy says what you will do. The owner says who is accountable. The trigger says when to act. The review date says when you will look again.
That last pair is what separates a register from a worry list. A trigger is an observable condition — “supplier misses the second milestone”, “churn above 4% for two months”, “legal review exceeds 15 working days”. When the trigger fires, the response plan starts without a meeting. Without a trigger, the register only activates when someone remembers it exists.
Risk descriptions should follow a cause–event–effect pattern, because it forces the writer to include something actionable. “Vendor risk” is not a risk. “Single-source PCB supplier (cause) may miss the Q2 delivery window (event), delaying the hardware launch by six weeks and costing $120,000 in pre-order penalties (effect)” is a risk, and it tells you the mitigation options: dual-source, buffer stock, or renegotiate the launch date.
| Tab | Purpose | Who updates it |
|---|---|---|
| Lists | Categories, strategies, bands, owners, status values | Register owner, rarely |
| Risks | The register itself: one row per risk | Risk owners, monthly |
| Heat Map | 5×5 matrix counting risks by probability and impact | Nobody — `COUNTIFS` |
| Response Plan | Actions, cost, EMV before and after mitigation | Risk owners, at review |
| Review Log | Date, risk ID, what changed, reviewer | Register owner, monthly |
| Dashboard | Counts by band, top five risks, overdue reviews, total exposure | Nobody — formulas |
Five working tabs plus one dashboard block is enough. Registers with twelve tabs are registers nobody opens.
Which columns does the Risks tab need?
Seventeen columns, of which four are formulas. The rest are inputs that a risk owner can complete in two minutes.
| Col | Header | Type | Notes |
|---|---|---|---|
| A | Risk ID | Text | `R-001`, stable forever |
| B | Risk description | Text | Cause → event → effect |
| C | Category | Dropdown | Delivery, supplier, financial, compliance, people, technical |
| D | Probability | 1–5 | Likelihood in the current period |
| E | Impact | 1–5 | Cost, schedule, or quality consequence |
| F | Score | Formula | `=D2*E2` |
| G | Band | Formula | `IFS` on the score |
| H | Response | Dropdown | Avoid, mitigate, transfer, accept |
| I | Response action | Text | One concrete next step |
| J | Owner | Text | A person, not a team |
| K | Trigger | Text | Observable condition that starts the plan |
| L | Review date | Date | Cadence driven by band |
| M | Residual probability | 1–5 | After the response is implemented |
| N | Residual impact | 1–5 | Assumes the response works |
| O | Residual score | Formula | `=M2*N2` |
| P | Status | Dropdown | Open, monitoring, closed, occurred |
| Q | Last reviewed | Date | Manual, at each review |
| R | Days overdue | Formula | Flags stale reviews |
Two design choices matter. The residual columns are separate from the original scores, so you can show what mitigation actually bought; overwriting the original score destroys the audit trail. And “status” includes “occurred” — the moment a risk happens it becomes an issue, and the register should record that transition rather than quietly deleting the row.
Join Doitify Today
Move projects forward without the chaos: all your tasks, progress, and team reports in one unified workspace. Built for companies, startups, and remote teams — with a quick setup and a free trial.
How do you score and band risks with formulas?
Score is the product of probability and impact on a 1–5 scale, producing 1 to 25. Bands convert that number into a review cadence and an escalation path.
F2: =D2*E2 G2: =IFS(F2>=15,"Critical",F2>=10,"High",F2>=5,"Medium",TRUE,"Low") O2: =M2*N2 R2: =IF(L2="","",IF(L2<TODAY(),TODAY()-L2,0))
| Score | Band | Review cadence | Escalation |
|---|---|---|---|
| 15–25 | Critical | Weekly | Steering committee, named executive sponsor |
| 10–14 | High | Fortnightly | Programme lead, mitigation funded |
| 5–9 | Medium | Monthly | Project manager owns the response |
| 1–4 | Low | Quarterly | Monitor, no action budget |
Add data validation so columns D, E, M, and N accept only 1–5, and apply a three-colour scale to F (white at 1, amber at 8, red at 20). Protect F, G, O, and R — the most common corruption in shared registers is a well-meaning manager typing “High” into the score column.
Worked example 1 — a single risk, scored twice. A data migration risk scores probability 4 and impact 5: `4 × 5 = 20`, Critical. The team adds a parallel-run period and a rollback plan; probability drops to 2, impact stays 5: residual `2 × 5 = 10`, High. The mitigation did not eliminate the risk, it moved it one band — and that is a defensible outcome to report, because the register shows both numbers.
How do you turn scores into money with EMV?
Expected monetary value multiplies a probability by a monetary impact, and it converts a qualitative register into a budget conversation.
EMV: =Probability% * Impact$ Post-EMV: =MitigatedProbability% * Impact$ Net benefit:=EMV_before - EMV_after - Mitigation_cost Reserve: =SUM(EMV_range) rounded up to the next $5,000
Worked example 2 — is the mitigation worth funding? A supplier failure has a 30% chance of costing $80,000 in delay and penalties. `EMV = 0.30 × 80,000 = $24,000`. A dual-sourcing option costs $9,000 and cuts the probability to 10%: `EMV after = 0.10 × 80,000 = $8,000`. Net benefit: `24,000 − 8,000 − 9,000 = $7,000`. Fund it — but note the honest caveat: a 70% chance of saving $9,000 is not the same as a guaranteed $7,000, so the decision also depends on how much the organisation can absorb an $80,000 hit.
Worked example 3 — sizing a contingency reserve. Five High and Critical risks carry EMVs of $24,000, $12,000, $9,000, $6,000, and $3,000. The sum is $54,000, which is the expected exposure. A reserve is usually set above the raw sum because reserves cover single events rather than averages: a common approach is to fund the two largest EMVs in full and half of the rest, `24,000 + 12,000 + 0.5 × (9,000 + 6,000 + 3,000) = $45,000`. Round to $50,000 and state the method in the register so finance can audit it.
Worked example 4 — cost of an unregistered risk. A compliance gap that could have been caught by a monthly review surfaces in an audit. Remediation costs $60,000, the audit finding delays a contract worth $250,000 by one quarter, and two people spend three weeks on it. Against a register that costs roughly four hours a month to maintain (about $2,900 a year at a $60 loaded rate), the asymmetry is obvious — but only if the register is reviewed, which is the next problem.
How do you build a heat map that updates itself?
A 5×5 grid with `COUNTIFS` counts how many risks sit in each probability-impact cell, and it re-counts the moment a score changes. This is the view executives actually read.
Heat map cell (row = probability 5..1, column = impact 1..5): =COUNTIFS($D$2:$D$500,$A2,$E$2:$E$500,B$1)
Build it on the Heat Map tab with probability values 5 down to 1 in column A and impact values 1 to 5 across row 1. Colour the cells by multiplying the axis values with conditional formatting rules — red where `$A2*B$1>=15`, amber where `>=10`, yellow where `>=5`. The diagonal band pattern appears without any manual shading.
Three additions make the heat map useful rather than decorative. A total cell per row and column shows whether risk is concentrated in one impact level. A `TEXTJOIN` list of the risk IDs in the worst cell turns the number into names:
=TEXTJOIN(", ",TRUE,FILTER($A$2:$A$500,($D$2:$D$500=5)*($E$2:$E$500=5)))
And a cluster note beside the grid explains the pattern — eight supplier risks in the same column is a procurement problem, not eight independent problems.
What belongs on the dashboard?
The dashboard should answer four questions in one screen: how many risks are open by band, what is the total exposure, which reviews are overdue, and which risks got worse this month.
Critical count: =COUNTIF($G$2:$G$500,"Critical") Open total: =COUNTA($A$2:$A$500)-COUNTIF($P$2:$P$500,"Closed") Overdue reviews: =COUNTIF($R$2:$R$500,">0") Top 5 by score: =SORT(FILTER($A$2:$B$500,$P$2:$P$500<>"Closed"),2,FALSE) Worsened: =FILTER($A$2:$A$500,($F$2:$F$500-$O$2:$O$500)>5)
The “worsened” filter is the one that changes meetings. It compares the original score with the residual score and surfaces any risk where the response has not held — the gap between what the plan promised and what actually happened. Add a sparkline of the score history if you keep a monthly snapshot tab: `=SPARKLINE(B2:G2,{“charttype”,”column”;”color”,”#b23b3b”})`.
Keep the dashboard above the fold on the Risks tab, or on its own tab if the register exceeds 50 rows. A dashboard nobody scrolls to is a dashboard nobody reads.
What does a completed register look like for a real release?
A launch readiness review with five risks shows how the fields work together, and why the score alone is not enough to prioritise.
| ID | Risk | P | I | Score | Band | Response | Trigger |
|---|---|---|---|---|---|---|---|
| R-001 | Payment provider deprecates an API endpoint mid-release | 4 | 4 | 16 | Critical | Mitigate: pin version, parallel integration | Provider publishes deprecation notice |
| R-002 | Single QA engineer on leave in release week | 3 | 3 | 9 | Medium | Transfer: cross-train a second tester | Leave request approved |
| R-003 | Migration script fails on legacy rows | 3 | 5 | 15 | Critical | Mitigate: dry run on a 10% sample | Sample failure rate above 0.5% |
| R-004 | Marketing launch date moves | 2 | 3 | 6 | Medium | Accept: adjust comms plan | Campaign brief date slips |
| R-005 | Security review finds a blocker | 2 | 5 | 10 | High | Mitigate: pre-review two weeks early | Review booking confirmed |
Read as a portfolio, the picture is clearer than any single row. Two Critical risks, one High, two Medium: the release is exposed on payments and data, not on marketing. The two Critical rows draw the weekly review, R-002 draws a resourcing decision before the leave is approved, and R-005 gets a pre-review because the impact is high even though the probability is low.
Notice that R-002 and R-004 score similarly but need different treatment. R-002 is a people risk you can transfer with cross-training; R-004 is a schedule risk you accept and plan around. The score tells you where to look; the response column tells you what to do.
What are the common mistakes in risk registers?
Six failures explain most registers that stop being used.
Confusing risks with issues. An issue is already happening and needs a fix today. A risk is a future event with a probability. Mixing them means the register fills with support tickets and the real exposures get buried.
Vague descriptions. “Budget risk” cannot be mitigated, assigned, or triggered. Cause–event–effect phrasing fixes this in one sentence and usually reveals the response at the same time.
Score inflation. Teams that score everything 5×5 get a red dashboard, then learn to ignore red. Calibrate with two reference risks: one that would stop the project, one that would cost a week. Everything else sits between them.
No owner or no trigger. A risk owned by “the project team” has no owner. A risk without a trigger has no activation condition, so the response plan is a document rather than a plan.
Reviewing without recording. If the review log has no rows, the register is being read but not used. Log the date, the risk ID, the change, and the decision — even when the decision is “no change”.
Closing risks because they are uncomfortable. A closed risk is a claim that the exposure is gone. Require a reason and a date, and keep closed rows rather than deleting them. Audit trails are built from things you did not delete.
When is Google Sheets the wrong home for a risk register?
Sheets handles a few hundred risks comfortably. It struggles in four specific conditions.
Live escalation workflows. If a Critical risk must notify three people, create a task, and start a review clock, a spreadsheet cannot do that without Apps Script and maintenance. This is where project tools earn their place, and it is where Doitify fits — disclosed as our product. Risks and constraints live beside the tasks and milestones they affect, so a mitigation becomes an assigned task with a due date, a trigger can be linked to a milestone, and status rolls into work and performance reports.
Multi-project portfolios. Twenty registers in twenty files is twenty versions of the truth. Either consolidate into one workbook with a project column or move to a system with a portfolio view.
Regulated audit requirements. If you must prove who changed a score and when, Sheets version history helps but does not produce an audit report. Check the requirement before promising it.
High-frequency change. A construction or delivery programme that updates risk scores daily needs a database, not a file that people copy to their desktop.
The trade-off runs both ways. A spreadsheet is free, transparent, and editable by anyone in the organisation in minutes; a platform enforces structure but demands setup and adoption. Most teams under 30 people are better served by a disciplined sheet for a quarter or two than by a migration.
How do you set the register up step by step?
Half an hour, and the order matters because the formulas depend on the lists.
- Create a spreadsheet named `Risk Register — [Project] — 2026` and add the five tabs.
- Fill the Lists tab: categories, response strategies, status values, band thresholds, review cadences.
- Paste the seventeen headers into Risks row 1 and freeze rows 1–2.
- Add data validation to C, D, E, H, M, N, and P, referencing the Lists tab.
- Paste F, G, O, and R formulas into row 2 and drag to row 500.
- Build the heat map grid and `COUNTIFS` formulas on the Heat Map tab.
- Add the dashboard block and the “worsened” filter.
- Protect columns F, G, O, and R, and the whole Heat Map tab.
- Seed the register with 10 to 15 real risks from the last project retrospective — a register with two rows gets abandoned.
- Set the first review date and put the review in a recurring calendar event with the register link attached.
Conclusion
A risk register is a decision tool, not a compliance document. Probability times impact gives you a score, the score gives you a band, the band gives you a cadence, and EMV gives you a number to take to whoever holds the budget.
Build the five tabs, seed it with real risks from the last retrospective, protect the formula columns, and put the review in the calendar. Then use the “worsened” filter every month: it is the fastest way to find out whether your responses are working or merely written down. Keep the register in Sheets while the discipline is the constraint, and move it into the delivery platform when the workflow — not the arithmetic — becomes the bottleneck.
If this post on risk register template for google sheets was helpful, you might also enjoy Work Management vs Project Management and Roadmap vs Project Plan: What’s the Difference?.
Join Doitify Today
Move projects forward without the chaos: all your tasks, progress, and team reports in one unified workspace. Built for companies, startups, and remote teams — with a quick setup and a free trial.