The Best KPIs for Window Cleaning Companies in 2027

Direct Answer

The key KPIs window cleaning owners actually need in 2027 are: jobs per crew per day, average ticket, recurring revenue percentage, gross margin, route density (stops per route-mile), revenue per truck, first-clean-to-repeat conversion rate, rework / call-back rate, and labor cost as a percentage of revenue.
The benchmark stack: residential crews hit 8-12 stops/day at a $285-$425 average ticket, 55-70% gross margin, 40-60% recurring revenue, $165k-$220k revenue per truck (Squeegee Squad system average $162,885/unit), labor at 32-38% of revenue, and call-backs under 3%.
Operators who pair route density above 1.4 stops per route-mile with >50% recurring contracts consistently clear 18-22% net margin — roughly 3-4x the 2% to 10% net the broader cleaning industry reports.
Why Window Cleaning Reports Differently
Window cleaning does not behave like a SaaS company, a generic janitorial company, or a one-time home-services business — and the KPIs reflect that. Three structural realities force the metric set:
First, the unit of production is the crew-hour, not the seat or the contract. A SaaS dashboard tracking MRR and CAC payback misses the entire operating reality: a two-person crew that completes 11 stops at $310 average ticket produces $3,410 of revenue in 8 hours. The same crew at 6 stops produces $1,860.
Jobs per crew per day is the master KPI — every other dollar moves through it.
Second, route density compounds margin nonlinearly. Drive time between stops is dead labor that still carries a fully-loaded technician cost of $42-$58 per hour in 2027. A route with stops 0.4 miles apart delivers 2.1x the gross margin of a route with stops 2.8 miles apart, even at identical ticket prices.
Route density is the only KPI on this list that, when improved 20%, can lift net margin 6-9 points without raising a single price.
Third, recurring revenue is the entire enterprise-value multiplier. A window cleaning company with 70% recurring (bi-weekly commercial + quarterly residential) trades at 3.5-4.5x SDE; the same company at 20% recurring trades at 1.8-2.2x SDE. Owners selling in 2027 are seeing this gap widen as private-equity-backed roll-ups (Threshold Brands, Authority Brands, Empower Brands) bid harder on contracted route books than on transactional one-time revenue.
The most important KPIs below are sequenced from most actionable (you can change it Monday) to most strategic (it moves over quarters).
The Most Important KPIs, In Depth
1. Jobs Per Crew Per Day
Definition: Completed paid stops divided by crew-days worked. A two-person truck running 5 days is 5 crew-days.
Formula: Completed stops in period / (Crews × Days worked)
Benchmark (2027): Residential 8-12 stops/day; commercial recurring 4-7 larger stops/day; mixed routes 9-11. Best-in-class operators (e.g., Labor Panes Charlotte under owner Joel Riddell) report 11-13 residential stops/day on tightly clustered routes.
Named example: Fish Window Cleaning corporate guidance to franchisees targets 10 residential stops per crew-day with a two-person team; their top quartile of 290+ U.S. Locations consistently hits 11-12.
Failure mode: Counting scheduled stops instead of completed paid stops. Cancellations, reschedules, and "we'll bill later" tickets inflate the number and hide route problems.
2. Average Ticket
Definition: Revenue collected per completed job (inside/outside, screens, tracks, sills bundled).
Formula: Total revenue / Completed stops
Benchmark (2027): Residential $285-$425; recurring commercial storefront $95-$185; one-time commercial mid-rise $1,400-$4,800. The residential bi-weekly average has risen 11% since 2024 as operators bundle screen cleaning, track detailing, and hard-water restoration into a single price.
Named example: Window Hero (multi-state, headquartered in Charlotte) publishes a $385 average residential ticket in 2026 marketing materials; their bundled "Crystal Clear" package at $545 lifts blended average to $418.
Failure mode: Discounting to fill a thin route. Every $25 discount on a 10-stop day costs $250 of revenue at near-100% marginal margin because the truck is already rolling.
3. Recurring Revenue Percentage
Definition: Share of trailing-12-month revenue from scheduled, repeat-billed contracts (monthly, bi-weekly, quarterly, semi-annual).
Formula: Recurring revenue / Total revenue × 100
Benchmark (2027): Industry median 35-45%. Top quartile 60-75%. Gitnux's 2025 industry report cited that 80% of window cleaning revenue comes from repeat customers — but "repeat" and "contracted recurring" are different; the contracted slice is what buyers pay for.
Named example: Squeegee Squad franchise system reports a network average of 52% recurring, with top units exceeding 70%.
Failure mode: Counting "called us twice" as recurring. Contracted recurring requires a signed agreement and a calendar slot held in advance — otherwise it's just retention luck.
4. Gross Margin
Definition: Revenue minus direct technician labor, vehicle fuel, supplies, and field-payroll taxes. Excludes overhead, owner pay, marketing, software.
Formula: (Revenue − Direct labor − Vehicle fuel − Supplies − Field-payroll tax) / Revenue × 100
Benchmark (2027): 55-70%. Specialty services (window, carpet) sit at the high end of cleaning because of premium pricing and low consumable cost — pure water systems, squeegees, and microfiber run 2-4% of revenue.
Named example: Sparkle Window Cleaning (Chicago, ~$4.2M revenue) discloses 64% gross margin in 2025 trade-show materials; this matches the IWCA-cited specialty-cleaning band.
Failure mode: Loading owner pay or overhead into COGS, which destroys comparability. Use a clean "direct field cost only" cut.
5. Route Density (Stops per Route-Mile)
Definition: Paid stops completed divided by total route miles driven (truck odometer in, odometer out).
Formula: Completed paid stops / Route miles driven
Benchmark (2027): 0.8-1.2 is average; 1.4+ is top decile; 2.0+ appears only in dense urban storefront routes (downtown Chicago commercial, midtown Manhattan).
Named example: Fish Window Cleaning Boston commercial route averages 1.7 stops per route-mile on Tuesday/Thursday storefront circuits; routes are rebuilt monthly via Workwave RouteManager or Jobber's 2025 auto-route feature.
Failure mode: Optimizing a route once and never resequencing as customers churn in and out. Routes decay 6-9% per quarter without active maintenance.
6. Revenue Per Truck
Definition: Trailing-12-month revenue divided by the number of revenue-producing trucks (not the fleet count — only trucks that ran routes).
Formula: TTM revenue / Number of revenue-active trucks
Benchmark (2027): $165,000-$220,000 per residential truck; $240,000-$340,000 per commercial truck. Squeegee Squad's average unit volume is $162,885 per FDD-derived analysis, anchoring the lower end of the residential band.
Named example: Labor Panes (Triad-Charlotte, NC) reports $210k-$245k per truck on 5-day residential routes; Window Genie (Neighborly brand) franchisees averaging $185k per truck per the 2025 FDD Item 19.
Failure mode: Adding a truck before the existing fleet hits the band ceiling. A second truck at $90k revenue is worse economics than one truck at $180k — owner just doubled fixed cost.
7. First-Clean-to-Repeat Conversion Rate
Definition: Share of first-time customers who book a second paid job within 9 months.
Formula: First-timers who rebooked within 270 days / Total first-timers in cohort × 100
Benchmark (2027): 22-32% for one-time residential; 45-60% if first appointment includes a "Lock in your next clean today" offer.
Named example: Window Hero publishes a 38% repeat conversion in their owner-handbook excerpts; Squeegee Squad system average is 31% per franchise-disclosure documents.
Failure mode: Not asking on-site. The technician — not a marketing email three weeks later — books the next appointment at the door. Operators who put the next-visit prompt in the technician's tablet checklist (Jobber, ServiceTitan, Housecall Pro, QuoteIQ) see conversion lift 10-14 points.
8. Call-Back / Rework Rate
Definition: Stops requiring a return visit for quality complaints within 14 days, as a share of completed stops.
Formula: Rework visits / Completed stops × 100
Benchmark (2027): <3% is healthy; 5%+ signals training or QC failure. Each call-back costs roughly $140-$210 in fully-loaded labor, drive time, and customer-trust erosion.
Named example: Fish Window Cleaning reports a 1.8% system call-back rate with mandatory 2-week post-clean photo audits on 100% of first cleans.
Failure mode: Treating call-backs as "free re-cleans" instead of counting them as KPIs. Operators who don't measure rework will not see the revenue ceiling it creates: a 6% rework rate cuts effective crew capacity by half a job per day.
9. Labor Cost as Percentage of Revenue
Definition: Direct field wages plus payroll taxes plus workers' comp, divided by revenue.
Formula: (Field wages + Payroll tax + Workers' comp) / Revenue × 100
Benchmark (2027): 30-38% healthy; >42% is a structural problem. Workers' comp on window cleaning is brutal — 4.5%-9.2% of payroll for ground crews, 12%-22% for high-rise rope-access work. 2027 minimum-wage moves in California ($17.50), Washington ($17.30), and New York City ($17.00) push the band upward.
Named example: Labor Panes discloses 34% labor cost at $210k revenue/truck — a function of piece-rate-flavored bonuses layered on hourly base.
Failure mode: Paying purely hourly with no production link. Crews paid 100% hourly hit roughly 8 stops/day; crews on a hybrid hourly-plus-per-stop bonus average 10.4 stops/day with no change in quality scores.
Real Operators
- Fish Window Cleaning (290+ U.S. Locations, founded 1978, St. Louis): system-average 10-12 stops/day, 1.8% call-back rate, $165k+ per truck, ~52% recurring commercial mix. Brand standard published in IWCA conference materials 2024-2026.
- Squeegee Squad (70+ locations, Maple Grove MN): average unit volume $162,885, 31% first-to-repeat, 52% recurring network-wide. FDD-derived figures via Franchimp/IFPG 2026 listings.
- Window Hero (multi-state, Charlotte HQ): $385-$418 residential average ticket, 38% repeat conversion, and route density of ~1.3 stops/route-mile on cluster-marketed neighborhoods.
- Labor Panes (Triad + Charlotte NC, owner Joel Riddell): publicly cited at 11-13 stops/day, $210k-$245k revenue per truck, 34% labor cost — a frequent IWCA convention speaker.
- Sparkle Window Cleaning (Chicago, est. $4.2M revenue): 64% gross margin, >70% commercial recurring on Loop storefront and mid-rise routes.
Failure Modes
- Tracking revenue but not stops per day. Owners who only watch the bank balance miss the single most actionable KPI. A 15% lift in jobs/crew/day usually requires only routing fixes and a paid-per-stop bonus — and adds $30k-$60k per truck per year.
- Discounting first-time customers without a repeat-booking play. A $99 first clean is fine if the technician closes a $345 quarterly contract on site. Without that close, the operator is buying $99 of revenue at $140 of cost.
- Confusing repeat customers with contracted recurring. Buyers pay 3.5-4.5x SDE for contracted recurring and 1.8-2.2x for "they call when they need us." The KPI must isolate the contracted slice.
- Adding a truck before the first one hits revenue band. A second truck at $80k of revenue is worse than one truck at $180k — fixed cost doubles, gross margin halves.
- Pricing on hourly rate instead of average ticket. Customers buy the outcome (clean windows, all-in), not the input (90 minutes of labor). Operators who switch from hourly quoting to flat-rate packaging lift average ticket 18-26% in the first 90 days.
- Ignoring workers' comp class-code optimization. A correctly-coded ground-only crew at WC code 9402 versus 5474 saves 3-5 points of payroll cost — pure margin recapture with no operational change.
Reporting Cadence
| Cadence | KPIs | Owner Action |
|---|---|---|
| Daily | Jobs per crew per day, completed stops, call-backs | 15-min huddle next morning; reroute stuck trucks |
| Weekly | Average ticket, route density, labor % of revenue | Friday 30-min ops review; pricing & route fixes |
| Monthly | Revenue per truck, gross margin, recurring % | First-Tuesday financial review; truck-add decisions |
| Quarterly | First-to-repeat conversion, recurring contract count | Sales playbook review; QBR with top 20 commercial accounts |
| Annual | All 9, plus valuation multiple modeling | Strategic plan + insurance/WC class-code audit |
The daily three are the operating heartbeat. The monthly three drive truck-add and pricing decisions. The quarterly two drive the enterprise-value story.
30 / 60 / 90 Day Implementation
Days 1-30 — Instrument: Pick a field-service platform (Jobber for <$1M, Housecall Pro for $1-3M, ServiceTitan for $3M+). Turn on per-job timestamping. Get 3 daily KPIs (stops/day, average ticket, call-backs) into one dashboard. Reconcile to bank weekly. Cost: $169-$415/mo software + 12-15 hours of owner setup time.
Days 31-60 — Rebuild route + pricing: Run monthly route resequencing in software. Convert hourly quotes to 3-tier flat packages (Standard / Premium / Complete) anchored at $285 / $385 / $545. Audit the recurring book — separate contracted from frequently-rebooks.
Push contracted recurring from baseline to 50%+ via on-site close.
Days 61-90 — Compensation + sales close: Move techs from pure hourly to hourly + $8-$18 per completed stop to lift jobs/crew/day by 20-30%. Add a next-clean booking step to every tablet checklist to lift first-to-repeat conversion to 35%+. Begin weekly call-back audits with photo review.
Owners who complete all 90 days typically see revenue per truck rise 22-34% and net margin move from 6-9% to 14-19% without adding headcount.
FAQ
Q: What's the single most important KPI for a small (1-2 truck) operator? A: Jobs per crew per day. It's the only KPI a 1-truck owner can move on Monday morning with no software change. Move it from 7 to 10 and revenue jumps 42% with zero new customers acquired.
Q: Is residential or commercial more profitable in 2027? A: Commercial recurring wins on margin and enterprise value; residential wins on average ticket. Best operators run a 60/40 commercial/residential mix to balance cash flow and exit multiple.
Q: How do I price route density into a quote? A: Build a 5-mile cluster grid. Charge full price outside clusters, 8-12% discount inside, and 18-22% premium for true one-off out-of-cluster jobs. Customers self-sort into your density math.
Q: What software actually reports these KPIs out of the box? A: None of them — fully. Jobber and Housecall Pro report 5 of 9 natively (stops, ticket, recurring %, call-backs via custom fields, labor % via timesheet export). The other 4 require a simple Google Sheet pull weekly — 25 minutes of owner time.
Q: When do I add the second truck? A: When truck #1 clears $180k TTM revenue, 65%+ recurring, and is turning away work. Adding a truck below that point starves both routes and crushes margin.
Sources
- International Window Cleaning Association (IWCA) — convention materials, safety/standards publications, member benchmarking (iwca.org)
- American Window Cleaner Magazine (AWC) — operator interviews and pricing surveys, 2024-2026 issues
- Squeegee Squad FDD / Franchimp analysis (2026) — average unit volume, recurring %, repeat conversion benchmarks
- Fish Window Cleaning corporate franchisee training materials and IWCA convention 2024-2026 talks
- Window Hero owner-handbook excerpts and 2026 marketing collateral (Charlotte, NC)
- Jobber 2025 Field Service Benchmark Report — stops/day, route density, average ticket data across home services
- Gitnux Window Cleaning Industry Statistics 2025 — 80% repeat-customer revenue share, market sizing
- BellaFSM 2026 Window Cleaner Salary Data — labor cost benchmarks by metro
- Housecall Pro 2026 Home Services Pricing Index — average ticket and labor % bands
- U.S. Bureau of Labor Statistics OEWS — 37-2011 (Janitors and Cleaners) wage data, 2025 release
