RAG, confidence and health
Mode: reference.
The Investment Health dashboard rolls up a project’s registers into a small set of health indicators. Some are derived deterministically from the underlying data (so the headline health cannot be gamed by editing the indicator directly); others are manual (a self-report is itself the governance act). This page defines each value and how it is produced.
RAG values
Section titled “RAG values”The RAG enum (VALID_RAGS) is:
| Value | Meaning |
|---|---|
Green |
On track. |
Amber |
At risk. |
Red |
Off track. |
Blue |
Selectable status value (e.g. complete). Not emitted by the deterministic derivations below. |
None |
Not applicable / insufficient data to derive. |
Investment Health cards
Section titled “Investment Health cards”The dashboard shows five RAG cards. Four are derived deterministically; the Overall card is manual.
| Card | Source | Derivation |
|---|---|---|
| Cost | Budget totals | Deterministic — see below. |
| Schedule | Work packages | Deterministic — see below. |
| Scope | Change register | Deterministic — see below. |
| Risk | R/I/O register | Deterministic — see below. |
| Overall | PM | Manual — user-selected; not computed from the others. |
Cost RAG
Section titled “Cost RAG”Derived from project budget totals (deriveCostRag).
| Result | Condition |
|---|---|
Green |
forecast ≤ baseline × 1.05 |
Amber |
forecast ≤ baseline × 1.15 |
Red |
forecast > baseline × 1.15 |
None |
no baseline set (baseline ≤ 0 or forecast not finite) |
Schedule RAG
Section titled “Schedule RAG”Derived from work packages that have both a planned end date and a forecast
end date (deriveScheduleRag). Slip = forecast end − planned end, in days.
| Result | Condition |
|---|---|
Green |
no work package slips (max slip ≤ 0 days) |
Amber |
any work package slips by ≤ 15 days |
Red |
any work package slips by > 15 days |
None |
no work package has both dates set |
Scope RAG
Section titled “Scope RAG”Derived from the change register, evaluated over the current reporting period
(the period length comes from the project’s reporting cadence) (deriveScopeRag).
| Result | Condition |
|---|---|
Green |
zero Approved changes in the current period |
Amber |
1–2 Approved in the period, or any Proposed change older than 14 days |
Red |
3 or more Approved in the period |
None |
no changes recorded |
Risk RAG
Section titled “Risk RAG”Counts open downside Risks whose impact × likelihood ≥ 15 (deriveRiskRag).
Opportunities (upside) are excluded — they belong on the R/I/O exposure card and
lift Outcome confidence, not the Risk RAG. Items with no direction (and legacy
Threat records) are treated as downside Risks.
| Result | Condition |
|---|---|
Green |
0 high-impact open Risks |
Amber |
1–2 high-impact open Risks |
Red |
3 or more high-impact open Risks |
None |
no Risks recorded at all |
Confidence axes
Section titled “Confidence axes”Confidence is self-reported by the PM (manual), additive to RAG. There are
two axes, each taking the same enum (VALID_CONFIDENCE):
| Axis | Question it answers |
|---|---|
| Outcome confidence | Will this still deliver the outcome we funded it for? |
| Adoption confidence | Will the change actually be adopted? |
| Confidence value |
|---|
High |
Modest |
Low |
Unknown |
Reporting-cadence staleness
Section titled “Reporting-cadence staleness”A project status is stale when it has not been updated within its reporting
cadence (isStatusStale). A missing or unparseable last-updated timestamp
counts as stale.
| Cadence | Period |
|---|---|
Daily |
24 hours |
Weekly |
7 days |
Monthly |
30 days |
Staleness drives the dashboard’s stale-update banner and the portfolio
overdue-reporting check (see get-portfolio-overdue).
Cadence is a recommendation, not a stipulation — the signal surfaces on the
dashboard; nothing is emailed.