Operating analysis · Document 03

Crew time and work quality

A full accounting of the paid day against the shift clock, and the quality signals Aspire actually records. Both are reported per Aspire tenant, and both carry the same warning: the spreads between operating companies are large, but a substantial part of each reflects how the work is recorded rather than how it is done.

Shifts analysed
319,366
Clocked hours
3,148,099.4
On customer property
83.1%
Tenants
8
Source
ClockTimes + WorkTicketTimes
Period
Jan – Aug 2026

Method

Decomposing the shift

Every shift from ClockTimes is matched to that person's booked entries for the same day and split into five parts. Nothing is inferred from the ticket record alone — the shift clock defines the paid day, which matters because the two disagree.

  • Booked on customer property — time attributed to a customer's work ticket.
  • Booked at the yard — time attributed to a ticket whose property is the branch itself.
  • Gaps between booked entries — clocked on, between two pieces of booked work.
  • Before the first ticket — clocked on at the start of the day with nothing booked yet.
  • After the last ticket — last ticket ended, still clocked on.

What does not reconcile is reported as residual rather than hidden: it arises where booked entries overlap each other or fall outside the clock span, so it is a data-quality measure as much as a time one.

An earlier figure corrected. A previous pass reported that 19.2% of clocked time never reaches a work ticket. That blended all tenants and included shifts with no booked work at all. Measured shift by shift, 83.1% of clocked time lands on customer property and the best tenants exceed 89%. Separately, 9,890 shifts carry no booked work whatsoever — the missing time is concentrated there rather than spread thinly across every day.

Crew time

Where the paid day goes

Per Aspire tenant. Utilisation is the median share of the shift booked to work.
TenantShiftsClocked hMean shift UtilisationOn propertyYardGaps Before firstAfter lastResidualShifts <60%
Keesen 36,088 335,335.3 9.29 92.3% 89% 0% 2.7% 3.4% 2.1% 2.7% 2.7%
Merit of Texas 25,250 245,362.7 9.72 91.1% 86% 0% 1.1% 5.6% 1.9% 5.5% 2.5%
Signature 32,416 355,130 10.96 88.8% 82.9% 5.9% 4.2% 3.6% 0.7% 2.7% 1.2%
LCM 29,259 297,844.2 10.18 88.1% 85.6% 0% 3.9% 5.6% 3.3% 1.6% 2.7%
Heartland NE 52,739 538,025.6 10.2 82.7% 83.1% 0% 2.2% 7% 4.6% 3.1% 5.5%
Heritage Landscape Services 55,953 553,871.8 9.9 81.5% 80.2% 0% 2.3% 6.6% 3.6% 7.3% 6.3%
Heartland AZ 63,497 588,044.5 9.26 80.9% 80.6% 0% 2.5% 7.9% 5.7% 3.3% 4.4%
JML 24,164 234,485.3 9.7 80.6% 81.5% 0% 5.4% 5.5% 5.1% 2.4% 3.5%

Three things this shows

Utilisation spans 80.6 – 92.3 points. On 3,148,099.4 clocked hours that range is worth a great deal in principle. In practice most of the gap needs validating before it can be banked — see the caution below.

The idle time is at the front of the day, not the end. Time clocked on before the first ticket runs 3.4 – 7.9% of the shift and is the largest unbooked block in almost every tenant. That is a morning-start question — loading, briefing, dispatch — not an end-of-day one.

Only one tenant books yard time at all. Signature attributes 5.9% of the shift to yard tickets; every other tenant records zero. Their shop and load time is therefore either inside customer tickets or unbooked, which is the clearest single proof that these columns measure recording practice as much as behaviour.

Do not rank operating companies on utilisation

The yard column shows why. A tenant that books shop time to a yard ticket looks less utilised than one that folds the same work into a customer ticket, while doing exactly the same thing. Comparisons are only sound within a tenant, where recording practice is common. The branch table below is the comparison worth acting on.


Crew time

Lowest-utilisation branches

Ranked across all tenants, but read each against its own tenant's figures above. Hours are means per shift.

Branches with at least 50 matched shifts.
BranchTenantShiftsShiftBooked Before firstAfter lastGapsUtilisation
SILVER SPRINGHeritage Landscape Services 3,02910.276.51 1.431.040.71 63.5%
Outdoor Solutions - MedfordHeartland NE 2628.875.72 1.310.61.22 64.5%
SRL PhoenixHeartland AZ 5,53010.267.65 1.030.560.71 74.5%
San AntonioMerit of Texas 3,84411.048.4 1.130.520.31 76.1%
Sharp's - DoylestownHeartland NE 4,20010.27.77 0.870.650.15 76.2%
J. Downend - Kennett SquareHeartland NE 2,4449.437.18 0.750.860.04 76.2%
ChicagoLCM 4,21310.538.05 0.940.70.7 76.5%
J. Downend - RidleyHeartland NE 7,5259.337.17 0.740.730.16 76.8%
FPLM WestHeartland AZ 9,8509.517.31 1.010.730.03 76.9%
Sharp's - PhiladelphiaHeartland NE 6,5869.557.4 0.910.520.38 77.5%
OLNEYHeritage Landscape Services 6,25410.147.92 0.950.650.23 78%
SRL Tucson SouthHeartland AZ 9,0718.566.69 0.680.560.42 78.1%
The clearest single outlier is Heritage SILVER SPRING: utilisation well below its tenant's own norm, with over an hour before the first ticket and another after the last. It is also the branch whose yard could not be located from crew GPS — 5% clustering, and 13 km from its own recorded yard. Two independent measures pointing at the same place is worth one site visit.

Work quality

What Aspire actually records

Aspire holds no defect or complaint record, so quality has to be inferred. Three fields carry real signal, in descending order of directness: warranty labour is work redone at no charge, which is the closest thing to a defect; review shows whether anyone checked the work before it was billed; cancellation shows work planned and dropped.

Per tenant, tickets scheduled in the period. Warranty share is of actual labour hours.
TenantTicketsWarranty ticketsWarranty h Warranty shareCompleted & reviewedCancelled
Heartland NE 80,195 1,032 25,384.4 4.8% 26.9% 11%
Keesen 49,238 1,504 14,640.2 4.52% 16.2% 2.6%
LCM 20,549 514 12,803.2 4.5% 20.5% 0.8%
JML 28,722 431 9,517.8 4.23% 44.5% 1.5%
Signature 86,917 310 7,620.3 2.15% 61.1% 11.8%
Heartland AZ 40,360 799 7,025.2 1.29% 20.1% 7.2%
Heritage Landscape Services 32,780 110 6,847.5 1.22% 4.2% 2.3%
Merit of Texas 25,110 22 150.7 0.06% 23.5% 4.9%

Warranty labour is real and material. It is concentrated in very few tickets — typically a few hundred out of tens of thousands — averaging tens of hours each, so it is large-job rework rather than routine touch-ups. Those tickets are individually identifiable and worth reading.

Review discipline is the sharpest divide in the whole analysis. It ranges from 4.2 – 61.1%. Approval, by contrast, sits at 99.8% almost everywhere — so approval is a formality and review is the only real control on work leaving the branch. Where review is in single digits, nothing checks the work before it is billed.

The warranty spread is too wide to be operational

An 80-fold range between the highest and lowest tenant is not a plausible difference in workmanship. Much of it will be whether crews are instructed to book rework as warranty time at all. Treat the figure as usable within a tenant — comparing branches, and finding the specific tickets — and not as a league table.


Tested and rejected

Two measures that did not survive

Revisits as a rework signal. Counting properties completed again within seven days returned 72–87%, which measures weekly service cadence, not rework. Tightening the window, 28–35% of consecutive completions are same-day — several services on one visit — and only 7–14% are next-day. Even that cannot separate rework from a legitimately separate service. Doing it properly needs the service identity on both visits, so that like is compared with like.

Completed work with no invoice reference. Between 54% and 76% of completed tickets carry no InvoiceID, representing tens of millions in Price. This looks like unbilled revenue and almost certainly is not: Aspire invoices fixed-price maintenance at the opportunity level through InvoiceOpportunityService, not per ticket, so an absent ticket-level reference is expected for contract work. Establishing whether anything is genuinely unbilled requires pulling that join and testing time-and-materials tickets specifically. The figure is deliberately not quoted here.


Next

What would make these actionable

  • Read the warranty tickets. A few hundred tickets carry thousands of hours of no-charge labour, and they are individually identifiable. That is a morning's work and it either finds a pattern or rules the area out.
  • Ask one branch what happens before the first ticket. The largest unbooked block is the morning, and whether it is loading, briefing or dispatch delay is not in the data.
  • Establish whether review matters. Test whether tickets that were reviewed differ in warranty rate or estimate variance from those that were not. If review changes nothing, the divide between 4% and 61% is not worth closing.
  • Settle the invoicing question properly by pulling InvoiceOpportunityService, so the uninvoiced figure can be either quantified or dismissed.
  • Normalise the recording differences — yard booking and warranty practice — before any cross-opco target is set on either measure.