Nobody loses a janitorial account because their dashboard refreshed every 60 seconds instead of every 10. They lose it because at 9:40 p.m. nobody in the company knew the second-shift lead at the medical plaza never showed up, and the property manager found out first.
Most operators quote a clock-in compliance rate when asked about visibility. On its own, 97% compliance tells you almost nothing: a punch entered at 9:58 for an 8:00 p.m. start still counts as compliant, and a punch from the parking lot of the building next door usually counts too.
Displaying live cleaning operation status means putting one tile per scheduled shift on a single screen, each showing one of five states: Not Due, On Site, Late, Missed, or Complete. Flip a shift to Late 15 minutes past its scheduled start, and route that alert to a named human, not a shared inbox.
The rest of this piece gives you the states, the thresholds, the benchmark numbers to check your own operation against, and the arithmetic to measure them yourself.
What should a live cleaning status board show at 9 p.m.?
A status board is not a map and it is not a report. It is a list of tonight's scheduled shifts, sorted so the problems float to the top, refreshed on its own without anybody hitting a button.
Five states cover every situation a night dispatcher will face. More than five and supervisors stop reading the colors. Fewer than five and you lose the distinction between "late" and "gone", which is the distinction that decides whether you send a replacement.
| State | Trigger | Who acts | Action |
|---|---|---|---|
| Not Due | Scheduled start is still in the future | Nobody | Visible but greyed out, sorted to the bottom |
| On Site | Valid clock-in inside the geofence | Nobody | Timestamp shown, tile stays quiet |
| Late | 15 minutes past scheduled start, no clock-in | Named night supervisor | Call the cleaner, log the reason |
| Missed | 60 minutes past scheduled start, no clock-in | Named night supervisor | Dispatch a replacement, notify the account manager |
| Complete | Valid clock-out recorded | Nobody | Duration compared to scheduled hours |
Everything else belongs on a secondary line inside the tile, not as its own state: an inspection due tonight, an open supply request, a client service request logged that afternoon.
How late is late? Setting the 15-minute and 60-minute thresholds
The two thresholds do different jobs and should not be the same number.
The 15-minute Late threshold exists to give you a phone call, not a panic. Traffic, a delayed bus, a badge that would not read at the loading dock: most of these resolve with one text message. Set it much tighter than 15 minutes and your supervisor learns to ignore the alerts inside a week.
The 60-minute Missed threshold exists to force a decision. At one hour past start, on a 3-hour scope, you have already lost a third of the night. That is the point where you either send someone or call the client before they call you.
Adjust both for the scope length. A 90-minute strip-mall stop cannot absorb a 60-minute wait, so many operators move the Missed threshold to 30 minutes on short scopes and hold it at 60 for full-shift buildings.
Live cleaning status benchmarks to check yourself against
Below are the signals worth putting on a weekly scorecard, with a starting benchmark for each. Read that column carefully: these are starting points for a portfolio of stable recurring accounts, not targets handed down by a standards body.
| Signal | How to calculate | Starting benchmark |
|---|---|---|
| On-time start rate | Shifts clocked in within 15 minutes of scheduled start ÷ total scheduled shifts, per week | 95% or better |
| Missed-shift rate | Shifts with no clock-in 60 minutes past start ÷ total scheduled shifts | Under 1% |
| Alert acknowledgment time | Median minutes from alert firing to a supervisor marking it handled | Under 10 minutes |
| Coverage fill time | Median minutes from confirming a miss to naming a replacement | Under 45 minutes |
| Clock-out compliance | Shifts with a valid clock-out ÷ shifts with a clock-in | 98% or better |
| Duration variance | Actual on-site minutes ÷ scheduled minutes, by site, monthly | 0.90 to 1.10 |
| Punch exception rate | Punches outside the geofence or edited by a manager ÷ total punches | Under 3% |
| Board staleness | Age of the oldest un-refreshed tile during active hours | Under 60 seconds |
| Client-first incidents | Issues the client reported before your team or board flagged them, per site per quarter | 0 to 1 |
| Inspection freshness | Active sites with a scored inspection in the trailing 30 days ÷ active sites | 90% or better |
Two caveats before you write any of these on a whiteboard.
First, portfolio mix moves every number. A route of 12 small retail stops with 45-minute scopes will show a worse on-time rate than four full-shift office towers, because travel time between stops is where lateness is born.
Second, a benchmark you cannot yet hit is a direction, not a failure. Measure your own four-week baseline first, then move it in one direction at a time. Chasing 95% on-time when your baseline is 78% usually produces edited timecards, not earlier cleaners.
How to calculate your on-time start rate: a worked example
Take an illustrative operator, Meridian Facility Services, running 14 buildings with 31 scheduled shifts per night, five nights a week. All figures here are made up to show the arithmetic, not drawn from any survey.
Scheduled shifts for the week: 31 x 5 = 155.
Clock-ins recorded within 15 minutes of scheduled start: 138.
On-time start rate: 138 ÷ 155 = 89.0%.
Shifts with no clock-in at 60 minutes: 3. Missed-shift rate: 3 ÷ 155 = 1.9%.
Against the table above, Meridian is six points below the on-time starting benchmark and roughly double the missed-shift figure. That is a staffing and route-design problem showing up on a screen, and the board is doing its job by exposing it.
Now the duration check on one account. Northgate Medical Plaza is scheduled at 3.0 hours per night, five nights: 900 scheduled minutes per week. Actual on-site minutes from paired punches: 812.
Duration variance: 812 ÷ 900 = 0.90, sitting right at the bottom edge of the band. The gap is 88 minutes per week, which is roughly 6.3 hours per month at that one building.
Multiply those hours by your own fully loaded hourly cost, meaning wage plus payroll taxes, workers' compensation and benefits, and you have the monthly dollar figure. Use your real loaded rate. A rate pulled from an article is worth nothing at your kitchen table.
How much live status should the client actually see?
Clients ask for "real-time visibility" and almost never want what that phrase literally means. What they want is proof the work happened and a fast answer when it did not.
Split visibility into three tiers and never blur them.
- Dispatcher tier: every state, every timestamp, every exception, every phone number. Internal only.
- Account manager tier: exceptions and inspection scores for their own book of business, plus open service requests.
- Client tier: the schedule, whether the visit was completed, scored inspection reports with photos, and the status of anything they reported.
Do not publish individual cleaner arrival times to a client portal. The first time a cleaner clocks in at 8:07 p.m. instead of 8:00, you have handed a property manager a stick to hit you with over a minute of nothing, and you will spend the next year explaining punch data instead of discussing cleaning quality.
Publish completion and quality instead. "Serviced Tuesday, inspection score 94, four photos attached" survives a contract review. "Clocked in 8:07" starts an argument.
What geofence radius gives you accurate status?
Status is only as trustworthy as the punch behind it, and the punch is only as trustworthy as the fence around the building.
Most systems default to somewhere in the 100 to 150 meter range. That is a reasonable start for a standalone building with its own lot. It is wrong in both directions elsewhere.
- Dense downtown blocks: a 150 meter radius can cover three other buildings and the coffee shop. Tighten it.
- Hospital or corporate campuses: the employee lot may sit 400 meters from the wing being cleaned. Widen it or set a fence per building, not per address.
- Strip malls and multi-tenant retail: one fence usually covers the whole plaza. Accept that and use scheduled scope, not geography, to tell the stops apart.
- Basements and interior cores: phone GPS degrades badly indoors. Expect punches from the door, not the janitor closet.
Be honest with yourself about what location capture proves. A punch confirms someone with that phone was near that building at that minute. It does not prove the restrooms were cleaned. That is what inspections with photo evidence are for, and no amount of location data substitutes for walking the account.
Setting up a status board in one week
Seven-day rollout
- Day 1: Export every recurring shift with its true scheduled start time. Fix the schedule first. A board built on wrong start times generates false alerts and dies in a week.
- Day 2: Draw or verify one geofence per building, adjusting radius by site type rather than accepting the default everywhere.
- Day 3: Set the two thresholds: 15 minutes to Late, 60 minutes to Missed, tightened to 30 on scopes under two hours.
- Day 4: Name the human who owns each alert by shift and day, with a backup. Alerts sent to "the office" are alerts nobody answers.
- Day 5: Tell the crews in their own language what is being captured, when, and why. Location at punch only. Nothing between punches.
- Day 6: Run the board in parallel with your existing call-in routine. Do not shut off the old process yet.
- Day 7: Pull the first week of numbers, set your baseline, and drop the call-ins only for sites where the board proved reliable.
Week two is where most rollouts quietly fail. Someone stops watching the board on Thursday nights, a miss slips through, and the crew concludes the system does not matter. Assign the watch like you assign the route.
Frequently asked questions
Can I track my cleaners' GPS location between clock-in and clock-out?
Most janitorial platforms capture location at the punch events only, not continuously, and that is usually the right call. Continuous tracking of hourly workers raises state law questions, drains phone batteries and damages trust for very little operational gain. Two verified punches inside the fence plus a scored inspection tell you more than a breadcrumb trail ever will.
How big should the geofence be for a hospital campus?
Set a fence per building or per wing rather than one fence at the mailing address. Campus parking is often several hundred meters from the entrance a crew uses, so a single tight radius produces constant false exceptions. If your system only allows one fence per location, widen the radius and lean on scheduled scope and inspections to confirm the right wing was serviced.
What happens when a cleaner has no cell signal at clock-in time?
Build the exception path before it happens. Instruct the crew to punch outside the building or at the dock where signal exists, and give the supervisor a documented manual-entry procedure with a required reason code. Then track your punch exception rate. If manual entries climb above a few percent of punches, you have a coverage problem at a specific site, not a discipline problem.
Should clients get an alert when a cleaner is late?
No. Give them completion status, inspection reports and service request updates. A late alert pushed to a property manager turns a 12-minute delay you were already fixing into a documented service failure. Notify the client when a visit will not happen at all, and do it with a person and a plan, not an automated message.
How many sites can one night dispatcher realistically watch?
It depends far more on exception volume than site count. A dispatcher handling a stable portfolio with a 95% on-time rate can watch a large board because it is quiet. The same person drowns at half the size if a third of the shifts throw alerts. Measure alerts per hour, not buildings, and staff to that.
Where CleanTrack360 fits
If you want the pieces described above without stitching together a spreadsheet and a group chat, CleanTrack360 covers them in one place. Geofenced GPS clock-in and clock-out runs in the phone browser, with a default radius of 150 meters that you configure per location. Drag-and-drop scheduling holds the recurring shifts and work orders the board reads from, quality inspections capture custom checklists with photo evidence and automatic scoring, and reports export to CSV so you can calculate your own on-time and duration numbers. The browser-based client dashboard shows clients their schedules, inspection reports and service requests, which is the client tier described above. Location is captured at clock-in and clock-out only, not between punches. The native mobile app is still in development, so crews work in the phone browser today, in English, Spanish or Portuguese.
Plans are priced per plan rather than per user: Starter at $99 per month for up to 5 team members, Pro at $199 for up to 20, and Business at $249 for up to 50. There is a 14-day free trial with no credit card, which is enough time to run the seven-day rollout above and get your first real baseline.