# Risk & FCI

> How AssetLab scores asset risk (consequence × likelihood) and computes the Facility Condition Index at every level of the portfolio.

Source: https://app.assetlab.ca/docs/asset-management/risk-and-fci

Two numbers summarize an asset base for decision-makers: **risk** (which failures would hurt, and how soon) and **FCI** (how much catch-up investment the portfolio carries). AssetLab computes both continuously from data you're already keeping.

## Risk: consequence × likelihood

Each asset's risk score is the product of two factors.

### Consequence of failure (CoF)

What happens if this thing fails? Scored across impact categories - service disruption, health & safety, environment, cost, reputation - and summarized per asset. A sump pump protecting an electrical vault and an identical pump in a landscape pond have very different CoF.

### Likelihood of failure (LoF)

How likely is failure in the planning horizon? Driven primarily by [condition](/docs/asset-management/condition-assessments) and age against useful life - an asset in poor condition past its expected life scores high even before anyone writes a memo about it.

### The risk matrix

CoF × LoF places each asset in a risk band (from minimal to critical). The score updates as new assessments land and as assets age, and **risk history** is retained so you can show the trajectory, not just today's heat map. History entries are recorded only when a score actually changes (risk score, condition, CoF, LoF, or risk factor) - re-saving a record without a change adds no noise.

> [!tip] Set CoF deliberately for your critical assets rather than leaving defaults. Ten minutes scoring the ice plant correctly is worth more than a thousand auto-scored exit signs.

### Risk profiles

Scoring CoF one asset at a time doesn't scale, so AssetLab supports named **risk profiles**: a profile carries a consequence-of-failure setup, and applying one to a [selection of assets](/docs/asset-management/assets) stamps that CoF onto every asset in the selection and records when the profile was applied. Assets whose consequence was set by hand are **skipped**, so a bulk profile never silently overwrites deliberate judgment - the confirmation reports how many were applied and how many skipped.

## FCI: the portfolio health number

The **Facility Condition Index** is the standard capital-planning ratio:

```
FCI = cost of current deficiencies / current replacement value
```

Lower is better. Common interpretation bands: under 0.05 good, 0.05–0.10 fair, 0.10–0.30 poor, above 0.30 critical - thresholds your organization can calibrate to its own standards.

### Multi-level computation

AssetLab computes FCI at every roll-up level:

- **Portfolio** - the number for the annual report
- **Site** and **building** - where to focus reinvestment
- **System class within a building** - the diagnosis ("Building A: envelope fine, mechanical failing")

FCI history is captured over time, so you can demonstrate the effect of funding levels - or the cost of deferral - with your own data.

### How AssetLab computes it

The deficiency cost (numerator) is **age-based**: it sums the current replacement value of every asset at or beyond **100% of its expected lifecycle**. An asset past its useful life counts its full replacement value as deferred; assets still within their life contribute nothing. It is not derived from condition-assessment remediation estimates.

The current replacement value (both numerator and denominator) is the purchase cost **escalated for inflation** from the purchase year, using your organization's calculation mode, global multiplier, and any per-system multiplier; assets without a purchase cost fall back to their entered replacement value.

| Input | Source |
|---|---|
| Purchase cost and date | Asset records ([import](/docs/start/importing-data) or entry) |
| Useful life & age | Asset lifecycle fields - these decide what counts as deferred |
| Inflation rate & multipliers | Organization settings |

Garbage in, garbage out: FCI is only as good as purchase costs and lifecycle fields. Sanity-check totals on the [dashboard](/docs/asset-management/dashboards) after any bulk load.

## Where risk and FCI surface

- **Dashboards** - risk concentration heat maps, FCI trend, top-risk asset lists
- **[Replacement planner](/docs/projects/replacement-planner)** - candidates ranked by risk, not just age
- **[Reporting](/docs/asset-management/reporting)** - board-ready exports
- **[Infrastructure](/docs/infrastructure)** - the same math runs for linear features, rolled up three ways: by network, by service category, and by feature class. Each tier appears only when it has more than one group to compare - a tier with a single group would restate the total under a second heading. When all three collapse to one group, the network tier is the one you see.

## The operating loop

1. Assess condition (rides along with PMs).
2. Risk and FCI update automatically.
3. High-risk assets feed the replacement planner.
4. The planner seeds [projects](/docs/projects) and budgets.
5. Completed projects improve condition - and the numbers show it.

Cost data flows in the same loop: when a [work order](/docs/cmms/work-orders) is completed with a non-zero total, AssetLab automatically creates asset cost entries from its actual cost, parts cost, and computed labour cost, **split evenly across all linked assets**. The entry's category comes from the work order's type or work category name, and a duplicate guard keeps a re-save from double-posting. That is how maintenance spend reaches the cost roll-ups without anyone keying it twice.
