First time fix rate = work orders resolved on the first visit ÷ eligible work orders closed in the period × 100.
First time fix rate, often shortened to FTFR, is the share of maintenance jobs your team finishes in one visit without anyone coming back for the same problem. A job counts as a first time fix when the issue stays fixed for a set window, often 30 days. The hard part is the definition behind the formula: what counts as a repeat and which jobs never get a fair first chance. The steps below walk through one month of work orders for a fictional residential portfolio, from the raw export to the fix that moved the number.
Step 1: Write down what counts as a repeat visit
Agree the rule before you count anything. If the rule changes from month to month, the trend means nothing.
A workable rule has three parts. A repeat is a second visit to the same unit for the same asset or symptom. It happens within 30 days of the first visit closing. And the second visit was needed because the first did not resolve the problem.
That rule leaves some visits out. A different failure in the same unit is a new job. So is a request the resident mentions while the technician is already there. A planned second visit, such as returning to set a countertop after the template is cut, is part of one job.
Write the rule on one page and share it with technicians and vendors. People fix what they are measured on, so they should know exactly how they are measured.
Step 2: Pull one month of closed work orders
Export every work order closed in the month. You need the work order number, unit, category, the asset or symptom, opened and closed dates, who did the work, and the closeout notes.
In our example, a maintenance team covers four garden communities with 860 units. In March 2026 the team closed 300 work orders. That is the starting count.
Then look for repeats. Sort by unit and category, and flag any unit with two jobs in the same category within 30 days. Read the notes on each pair. A repeat often gets logged as a brand new request, so you only find it by matching units and symptoms. Our guide to a complete work order closeout explains which notes make this matching quick.
Step 3: Take out jobs that never had a fair first chance
Some jobs could not be fixed on the first visit no matter how good the technician was. Leave them out of the count, and keep the list so the exclusions can be checked.
In March the team removed 18 jobs. Eleven were planned as two visit jobs from the start, such as flooring and countertop work. Seven were visits where the resident had asked for entry at a set time and nobody was home, so no work began. That left 282 eligible work orders.
Be strict about this list. A job where the technician arrived without the right part stays in. The missing part is exactly what the metric is meant to catch.
Step 4: Run the formula
Of the 282 eligible jobs, 41 needed a second visit for the same problem within 30 days. That leaves 241 first time fixes.
241 ÷ 282 × 100 = 85.5%
One rate across all jobs hides a lot, so split it by category and by who did the work. In March, plumbing came in lowest and HVAC filter changes were close to perfect. Vendor jobs ran below in house jobs. Those splits tell you where to look.
Step 5: Sort the repeats by cause
Read every one of the 41 repeats and give each a single cause. Keep the causes few and plain so two people would sort a job the same way.
| Cause of the second visit | Repeats in March | Example from the notes |
|---|---|---|
| Part not on the van | 15 | "Fill valve worn, none in stock, return Thursday" |
| Request too vague to diagnose before the visit | 11 | "Kitchen not working" turned out to be a tripped disposal and a failed outlet |
| Vendor fixed part of the problem | 8 | Dryer vent cleared at the unit, blockage left on the roof |
| Problem came back after closeout | 7 | Slow drain cleared but not cleaned, blocked again in nine days |
Put a cost on it. In this example each repeat visit took about 1.2 hours of technician time, including the drive. At a loaded labour cost of $48 an hour, the 41 repeats cost about $2,360 in March. The resident also had to let someone in twice, which a renewal survey will remember longer than the invoice.
Step 6: Fix the biggest cause first
Pick one or two causes and change one thing for each. Trying to fix all four at once makes it hard to tell what worked.
The team in our example took the top two. For parts, the lead technician listed the 20 parts behind the repeats over the last three months. That list covered fill valves, flappers, wax rings, faucet cartridges, disposal reset tools, range igniters and smoke alarm batteries. Each van carried that list, and the lead restocked it every Friday.
For vague requests, the resident request form began asking for a photo on plumbing and appliance requests. A dispatcher called back on any request with no photo and no detail before booking the visit. "Kitchen not working" became "disposal hums but won't turn, and the outlet by the sink is dead." The technician arrived with a reset tool and a spare outlet.
In April the team closed 296 work orders, excluded 10 and had 29 repeats on 286 eligible jobs. The rate moved to 89.9%. Repeats from missing parts fell from 15 to 6. One month is a small sample, so keep the change in place for a quarter before you call it a win.
Step 7: Report it beside speed and cost
A first time fix rate on its own can be gamed. A technician who stays two extra hours on every job will fix more on the first visit and fall behind on everything else. Report it next to response time, days to close and cost per work order, so a gain in one does not hide a loss in another.
Show it monthly, by community and category, with the repeat causes underneath. Our list of maintenance performance indicators covers the measures that sit alongside it, and our facility management KPIs guide covers commercial buildings.
FTFR questions from maintenance leads
What does FTFR mean?
FTFR stands for first time fix rate. It is the percentage of maintenance jobs resolved on the first visit, with no return trip for the same problem within a set window.
What is a good first time fix rate?
Your own trend is the useful comparison. Definitions differ so much between teams that an outside number rarely compares like with like. Measure a baseline for three months, then set a target a few points above it.
How long should the repeat window be?
Thirty days catches the callbacks that matter in residential maintenance without tying unrelated failures to an old job. Some teams use 14 days for plumbing and 90 days for roofs. Whatever you choose, keep it fixed.
Should vendor jobs count?
Yes. Report them separately, because the fixes are different. A vendor's rate is a contract conversation. An in house rate is a training, parts and dispatch conversation.
How is first time fix rate different from first call resolution?
First call resolution measures whether a request is solved on the first phone call or message, with no visit at all. First time fix rate measures site visits. Keep them as separate lines in any report.
Should a repeat count against the technician who made the first visit?
Count it against the job, then read the cause. A missing part is often a stocking or dispatch problem. A vague request is an intake problem. Only workmanship repeats point at the technician, and those are best handled in a coaching conversation, with the notes from both visits open on the table.
Can a first time fix rate be too high?
A rate near 100% for a month usually means the repeat rule is too loose or follow ups are being logged as new jobs. Pull ten closed jobs at random and check them by hand. If you find repeats the report missed, fix the tracking before you celebrate.
Tracking repeat visits in RIOO
In RIOO, residents submit requests through the portal or mobile app with photos attached, and staff log calls into the same queue. Work orders carry categories, urgency and assignment to an in house technician or a vendor. Technicians update them from the mobile app, and costs and vendor bills post to the property ledger in NetSuite. The RIOO work order management page walks through that lifecycle.
RIOO reports by property, category, asset and vendor already show where problems recur. To count repeats exactly, add one field during setup. Because work orders are native NetSuite records, an administrator can add a field for the original work order number on any follow up job. A saved search on that field then counts repeats by community, category and technician each month, with the cost of each second visit beside it. For the wider request flow, see our guide to a maintenance work order system from request to resolution.

















