Level of service
Hold every system in every building, and every infrastructure network, to a target that tightens with criticality. See what is below target, whether it is improving, and what closing the gap costs, alongside the community commitments you report to council.
Level of service (LoS) is the language of modern asset management plans: instead of "we maintain the buildings", a commitment like "no critical facility runs a roof past its useful life" - stated, targeted, and measured. AssetLab's LoS module keeps those commitments live rather than buried in a plan PDF.
How the page is organized
The Level of Service page has a rail of sections down the left side, in two groups.
Performance is what everyone with access reads:
- Status - every system in every building, and every infrastructure network, scored against its target from current asset data
- Service Areas - the services your community receives and the plain-language commitments you report to council
- O. Reg. 588/17 - the levels of service Ontario's asset management regulation prescribes - see O. Reg. 588/17 reporting
Setup is visible to administrators only: Targets, Criticality and Consequences.
The number beside Status is how many tracked pairs - a system in a building, or a feature class in a network - are below target right now.
Technical levels of service
Facility criticality
Every site and building can carry a criticality: Critical, High, Medium or Low. An administrator can rate them all in one place under Setup > Criticality, in the Facility criticality list, where a building can be left as Same as site. The same rating is on each site and building form under Locations, so a change in either place shows in both. A building without its own rating inherits its site's, and a facility with no rating anywhere is treated as Medium.
An infrastructure network carries a criticality too. Networks have no form field for it; an administrator rates them under Setup > Criticality, in the Network criticality list. A network that has not been rated is treated as Medium.
Criticality does two jobs: it decides how strict a target is at that facility, and it scales how severe a missed target is.
System targets
Under Setup > Targets, an administrator gives a system one base target per metric. Four metrics are available:
| Metric | Scale | Better when |
|---|---|---|
| FCI | 0-100% | lower |
| Average condition | 0-100 | higher |
| % past useful life | 0-100% | lower |
| Average risk score | 1-25 | lower |
You set the target once per system, not once per building. Each facility is then held to a version of it adjusted by its criticality, using a multiplier: 0.6 for Critical, 0.8 for High, 1.0 for Medium and 1.4 for Low.
The multiplier scales the target's tolerance, which is how far it sits from a perfect result. For a lower-is-better metric a perfect result is 0, so an FCI target of 10% becomes 6% at a Critical facility and 14% at a Low one. For average condition a perfect result is 100, so a target of 70 leaves a tolerance of 30: that becomes 18 at a Critical facility, which is held to 82, and 42 at a Low one, which is held to 58. The four results for a base of 70 are 82, 76, 70 and 58. A derived target never leaves the metric's scale.
The Targets table shows the value each criticality tier is held to, and a switch to stop measuring a target without deleting it. Setup > Criticality is where the four multipliers can be changed for your organization, under How much criticality tightens a target. A change saves when you leave the field.
Infrastructure targets
If your organization has infrastructure networks, Setup > Targets shows a second table, Infrastructure targets. It works the same way with two substitutions: the target is set per feature class (sidewalk, water main, storm sewer) instead of per system, and each network of that class is held to it instead of each building, adjusted by the network's criticality.
Three metrics are available for infrastructure: FCI, average condition and % past useful life. Average risk score is not, because networks are scored from the same aggregates as the Infrastructure tab of the dashboard and those carry no risk figure per network. For the same reason a network's FCI on Status is the FCI that dashboard shows for it, service lives and replacement values resolved through the feature, its material and its feature class in that order.
Average condition counts scored features only, and Status says how many that is. A network where one feature in two thousand has been inspected shows its figure with "1 of 2,331 features scored" beside it.
Reading Status
Status works the targets out for every building that holds assets of a targeted system, and every network of a targeted feature class, and compares them to what your asset data says today:
- Four figures up top: the share of tracked pairs meeting target, with the same share from the reading nearest a year ago beside it; how many are below target, how many of those are in Critical or High facilities and what closing them would cost; the largest gap; and how many have no data to score
- A table with one row per system per building and per feature class per network. Each row names its metric and how many assets the figure rests on, and carries the facility's criticality. The bar is the actual value and the tick on it is the target that facility is held to. Filter by site, metric or status, or search by name
- Select a row to see its history, what closing its gap costs, and the assets behind the number - condition, life used, risk score and replacement value for each - with a link to every asset
Status is scored per building or network, so a target whose system has no assets assigned to a building, or whose feature class has no network, cannot be measured. When that happens Status lists those targets and says why, rather than leaving them out.
Trend
Status keeps one reading per tracked pair per month: the actual value, the base target, the target that facility was held to at the time, and the verdict. The reading is taken the first time anyone opens Status in a month, and it is never rewritten afterwards.
Under each row's actual value, Status compares today's figure with the reading nearest a year ago and names the month it is comparing with, so a six-week-old history is never presented as an annual change. A row with no earlier reading shows nothing there yet. Green means the figure moved the right way for its metric, amber the wrong way. Open a row for a chart of every month on record against the target line.
What closing a gap costs
For a breached FCI, % past useful life or average condition figure, Status works out the fewest replacements that bring it back inside the target, worst first - the most overdue assets for FCI and % past useful life, the lowest-scored for condition - and prices them at current replacement value. The table shows the cost under the gap, and the row's detail marks which assets those are and what the figure becomes once they are replaced.
The figure on the Below target card adds the breaches together, counting an asset once even when two of its system's metrics are both below target. From a row's detail, See what is funded opens the Dashboard's Lifecycle tab, where need is set against funding.
A network is scored from aggregates, so Status knows how many of its features are past service life and what they are worth together, but not which ones. For a network's FCI gap it prices exactly the replacement value that has to leave the backlog. For a % past useful life gap it counts how many features have to be replaced and prices them at the backlog's average replacement value. Both are shown as "about", and the row's detail says they are estimates. A network with 889 watermains, 229 of them past service life, held to 20%, needs about 52 replaced, not all 229.
Two gaps are deliberately not priced. An average risk gap has no cost because replacing an asset lowers its likelihood of failure but not its consequence, so the score its replacement would carry is not known. A condition gap on an infrastructure network has no cost because the features a better average would come from cannot be named.
Consequences
Under Setup > Consequences, an administrator writes what a missed target means, in the words you would use with council: a statement, a severity, and the roles that own it. A consequence can apply to every system, to facilities of one criticality, to one system, or to one infrastructure feature class, and the most specific one wins.
When a target is breached, Status shows the matching statement above the table. Its severity scales with how far past target the breach is and with the facility's criticality; the severity you configured is the floor.
Service areas: community levels of service
Service areas
The quickest way to start is Pick from the catalogue on the Service Areas section (From catalogue once you have an area). It lists the nineteen service areas Canadian municipalities most often organise their asset management plans around, in four groups: core infrastructure, corporate assets, community services and protective services. Tick the ones you deliver and select Add. Each arrives with its icon and colour and a few suggested measures, each with a target.
Ticking an area shows its suggested measures before anything is saved. Untick one you do not want, and change or clear any target. The suggested targets are starting points, not standards. Every area carries "80% in good or better condition", which is a round number, and areas made of buildings (Facilities, Recreation and Culture, Libraries, Affordable Housing, Fire, Police, Paramedic Services) also carry FCI under 10%, the point where AssetLab's own FCI scale turns poor and what Toronto Community Housing calls the industry standard for a state of good repair. Both are worked out from the area's links rather than typed in. The others rest on a published figure: a standard or a law where one exists (a monthly playground inspection, front-line fire trucks no older than 15 years), and otherwise a target that at least two Canadian municipalities publish, such as 90% of preventive maintenance completed on schedule or 85% of bus trips on time. The yearly reinvestment rates (2% of replacement value for roads, 1% for pipes and bridges, 1.7% for buildings) are the lower targets of the Canadian Infrastructure Report Card. A few are worth a second look for your own circumstances: adopted tree canopy targets run from 16% to 40%, a volunteer fire department serving a rural area is measured at 80% rather than 90%, and a municipality that owns treatment plants reinvests at a higher rate than one with pipes alone. Measures with no honest single default, such as watermain breaks per 100 km, are added from Custom measure. If your organization runs Infrastructure, an area with networks behind it links the ones you already have: Water links your watermain and hydrant networks, Transportation your roads, sidewalks and street lighting. An area you already have is marked Added and cannot be added twice.
Nothing is added for you. A lower-tier municipality often owns no water or wastewater system, so the list assumes nothing about what you deliver. Anything the catalogue lacks - an airport, a cemetery, a marina - is added from + Service Area, and every catalogue area can be renamed or edited afterwards.
A service area is a domain of service delivery: Winter Roads, Drinking Water, Parks Turf, Facility Comfort. Its form records what delivers it. For facilities, that is the system classes and, optionally, the sites. If your organization runs Infrastructure, the form also has an Infrastructure group: the networks that deliver the service, and an optional boundary drawn on the map.
The links are what an area's worked-out measures read. Condition (the share of assets in good or better condition) and FCI fill themselves in from the assets in the linked system classes, narrowed to the linked sites when there are any, together with the features of the linked networks. An area linked to sites alone reads everything at them, and an area linked to nothing works nothing out: its measures say what to link. The O. Reg. 588/17 metrics are computed from the linked networks too. They are the same links as Link networks on that section's cards, so changing them in either place changes both.
Measures
Within a service area, measures are the commitments as the public experiences them. Each measure carries:
- A category: scope, quality, reliability, responsiveness, safety, sustainability, cost efficiency, or capacity
- A community statement - the plain-language commitment as it reads in the plan
- A unit and a direction: higher is better, lower is better, or target-is-optimal (for measures where both too little and too much are misses)
- A target, plus a minimum acceptable floor and a stretch goal
- A weight, which sets how much the measure counts in its service area's roll-up
- How it is measured: entered by hand, or worked out from the area's linked assets. Two measures are worked out: the share of assets in good or better condition (a score of 70 or more, the same bands used everywhere else), and FCI, the value past its service life as a share of the whole replacement value, as on Status. A worked-out measure is kept up to date without anyone recording it, and the app stores one reading a month so it builds a trend
An Administrator adds measures from the service area's page with Add Measure. For an area the catalogue knows, it opens on the suggestions that area does not hold yet: tick the ones you want, change any target, and select Add. Custom measure opens a blank form instead, and an area with nothing left to suggest goes straight to it.
The area's page lists each measure once, with its commitment, its current value against target, and its status. A measure with two or more recorded values also shows its trend, drawn against the target.
Each measure can carry proposed levels for the next ten years, which O. Reg. 588/17 has required for non-core assets such as facilities, fleet and parks since July 2025. A Manager or Administrator selects Propose the next ten years on the measure, states a direction (hold at the current value, or reach a value by a year), and adjusts any year by hand, with the reasoning alongside. It is the same editor as the O. Reg. 588/17 section, and the years appear in its reporting workbook.
A worked-out condition or FCI measure also says what Status finds inside the same area (see Reading Status): how many of Status's own targets on that metric the area's systems and networks miss, for example "3 of 14 FCI targets in this area are missed". See which opens Status narrowed to that area and metric, with Show all to go back. The two are not the same number. A service area counts the share of assets in good or better condition, Status averages condition scores, and Status tightens each target by criticality, so an area can meet its own target while some of its facilities miss theirs.
Measurements
Measurements are the recorded values over time, on a monthly, quarterly, semi-annual, or annual period. Values arrive two ways:
- Manual entry - type the period's value in
- API - push values from source systems via the API
Reading Service Areas
Each service area gets a composite score from 0 to 100, from how its measures perform against target, weighted by each measure's weight: 90 and up is Exceeding, 70-89 Meeting, 40-69 Below, under 40 Failing. An area with nothing recorded yet shows no score rather than a failing one. The O. Reg. 588/17 measures that share an area are descriptions and filed figures rather than commitments with a target, so they stay out of the score; the area's page links to where they are recorded. Below the cards, a heatmap lays service areas against measure categories and a gap analysis ranks the measures furthest from target.
Target history
When a measure's target, minimum acceptable or stretch goal is set or changed, the new values are recorded with the date and who made the change. The record is readable through the API as los-targets-history. It starts in September 2026; changes made before then were not recorded.
Starting small
- Rate the criticality of the handful of buildings that matter most. Everything else is Medium until you say otherwise.
- Set one target - FCI or % past useful life - on three to five systems you already worry about, and read Status.
- Write one consequence for Critical facilities, so a breach there says what it means.
- Add the community service areas you deliver from the catalogue, and adjust the targets it suggests. A small LoS program with real data beats a comprehensive one with empty tables.