# Lifecycle strategies

> Condition-triggered maintenance and rehabilitation events - crack sealing, relining, resurfacing - that extend feature life, carry costs, and reshape every renewal projection.

Source: https://app.assetlab.ca/docs/infrastructure/lifecycle-strategies

A renewal forecast that only knows "install year plus service life" assumes you never touch an asset between building it and replacing it. Real programs crack-seal roads, reline pipes, and resurface pavements - interventions that cost a fraction of replacement and buy years of life. Lifecycle strategies model exactly that: named events that fire when a feature's condition reaches a trigger window, extend its life or restore its condition, and carry their own cost.

Strategies are managed under **Strategy** in the left nav, open to Managers and Administrators. If your organization also runs the facilities module, infrastructure strategies are the **Infrastructure** tab of that page; an infrastructure-only workspace sees no tabs at all.

## How a strategy is scoped

A strategy is not assigned to features one by one - at GIS scale nothing assigned by hand survives the next import. Instead it is keyed the same way [replacement rates](/docs/infrastructure/networks-and-classes) are:

- **A feature class** - "Sidewalks", for a class-wide strategy
- **A material** - optionally narrowed to one class, optionally to a diameter band ("PVC, Gravity Mains, from 525 mm")

Every feature resolves the most specific strategy that matches its own attributes, exactly as its replacement rate resolves. Edit the strategy once and every matching feature re-projects. The feature page names which strategy it resolved, so there is never a mystery about where a projection came from.

## Events

Each event carries:

| Setting | What it does |
|---|---|
| **Type** | Preventative maintenance or rehabilitation |
| **Trigger window** | Fires when the projected condition falls to the window's upper bound. A feature already below the window has missed it |
| **Effect** | Adds years of life, or resets condition to a value ("resurfacing sets condition to 100") |
| **Cost** | Per unit (using the same m / m² / m³ / each basis as the feature's rate) or a fixed amount, with a cost source and a staleness flag after a year unconfirmed |
| **Max times applied / min years between** | Bounds recurring events like crack sealing |

Each event also carries a **Work generation** setting: what a due application of it should become - **plan only**, a **work order** (with a work category and priority you set once, on the event), or a **project**. It is a policy recorded with the strategy, not an automation: nothing is created on a schedule, and the Due interventions panel is still where the record is created. The setting decides which button leads, and what the created record arrives carrying.

Replacement is deliberately **not** an event. It stays where it always was - the renewal forecast picks the year, and the [rates grid](/docs/infrastructure/networks-and-classes) prices it. A strategy changes what happens *before* replacement, and thereby when replacement lands.

## The projection

The strategy editor previews the classic sawtooth: condition declines, an event fires and lifts the curve, decline resumes, until replacement. Beside it: expected useful life with and without the strategy, and the cost per added year of life each intervention buys.

On a feature's own page the same chart is anchored at **that feature's state**, not a template:

- An inspected feature projects **from its inspected condition** - whatever the score - and re-anchors the day a new inspection lands.
- A never-inspected feature projects from its age, and the card says so.
- A feature **no strategy covers** charts too - its unassisted decline is still the truth about it - with the pointer to set a strategy up carried as a footnote under the chart rather than in place of it. A strategy supplies the interventions, not the curve. A feature still missing an in-service date or a service life says which one it needs.

The renewal year keeps its own discipline regardless: with no strategy events it is never later than the age-based end of life - a good score alone does not defer replacement; a strategy event that fires can.

A feature already past its age-based end of life has nothing left to project: the card shows **Past service life since** that year in place of a renewal year, the chart shades the time since, and no strategy event can fire, because a score does not move that date. A new install date when the feature is replaced does.

> [!tip]
> The projection knows when a feature has already fallen below an event's trigger window. The card flags it plainly: the cheap intervention was missed, and the model proceeds without it. That flag is your early warning that a preventative program is leaving money on the table.

## Closing the loop

A work order created from the due-interventions list remembers which event it executes. Completing it offers the outcome the event models - "Asphalt Resurfacing resets condition to 100" - as an **inspection for you to confirm or correct**, pre-filled per feature, with a skip that costs nothing. Confirm it and the feature's condition moves, the curve re-anchors, the feature leaves the trigger window, and every forecast follows. The strategy never writes condition itself: a modelled reset is a projection, not an observation, and inspections remain the only author.

## Every forecast surface believes the strategy

The strategy-adjusted renewal year is not confined to the feature page. The [Replacement Planner](/docs/infrastructure/features), the renewal forecast layer on the [map](/docs/infrastructure/map), and [corridor bundling](/docs/infrastructure/zones-routes-corridors) all read the same strategy-aware year - so a road whose resurfacing program defers replacement to 2054 ranks, colors, and bundles by 2054 everywhere. Corridor coordination gets a question no other tool asks: whether to run the cheap intervention now or skip it and bundle the replacement with the watermain dig already planned on the same street.

## The due-interventions list

The Replacement Planner's infrastructure view carries a **Due interventions** panel whenever a strategy produces work, below the ranked recommendations and the replacement calendar: features whose condition sits inside an event's trigger window right now, grouped per event, each priced from the event's own cost and the feature's measured quantity. Tick the features (or take the whole group) and create a work order or a project from them in one step - the same flows the feature table uses. Features that already fell below a window are listed separately under a warning, because that list is the cost of a preventative program running late.

Rows based on a feature that has never been inspected are labelled **age-implied**: the model is projecting from age, and an inspection will confirm or correct it.

## The strategy-value section

The dashboard's [Lifecycle tab](/docs/asset-management/lifecycle) carries a **Lifecycle strategy value** section whenever at least one feature resolves a strategy, below the Capital Brief and following the tab's own horizon slider. It answers the budget meeting's question in one screen, all in today's dollars:

- **Four headline tiles** - what the strategies cost or save over the horizon, with both totals under it; the replacement value they push out; the average years of life they add per feature; and what the intervention windows already missed would have cost, linked straight to the planner's due-interventions list. Strategies often cost *more* inside a window and buy their return past it, and the first tile says so rather than leaving you to subtract.
- **Cumulative spend, with and without the strategies** - two lines of total spend to date, year by year: interventions plus the replacements the strategies still leave, against what running to replacement would spend. The gap between them is the difference so far, and hovering a year shows both totals, the difference and that year's intervention spend. Replacements that land past the horizon are totalled under the chart, so the two always reconcile.
- **Per-strategy value** - each strategy with its feature count, intervention cost, average life added, **cost per feature-year added**, the replacement value it pushes out and its missed interventions. An event with no cost shows as unpriced rather than pretending to be free, and a strategy with unpriced events gets no cost-per-year figure - a number built on a blank would be worse than none.

The Assets tab carries the same section for facility assets, with its own 10 / 20 / 30 / 50-year horizon chips.

## What it changes (and what it does not)

The projection is read-time math. It writes nothing onto features: condition stays owned by [inspections](/docs/infrastructure/features), replacement value stays owned by the rates grid, and a tenant with no strategies sees exactly the forecasts it saw before - the strategy-aware year collapses to the plain renewal forecast when no active events resolve.
