← Back to case studies
Multi-Site Childcare Group Cut labor to 42%

The Labor Benchmark Engine

The Nightmare

Procare time entries and BambooHR pay rates lived in separate worlds with mismatched employee names. Directors skipped days on the clock, PTO and training sat in their own exports, and leadership had no daily view of true labor cost against revenue.

The System

I built a Google Drive intake layer with Apps Script that normalizes employee names, merges hours, pay, PTO, and training data, and outputs a weekly cost breakdown per location against a configurable revenue benchmark.

How daily labor visibility helped a $1.2M school group cut its average labor ratio from 60% to 42%.

Scale: Multi-location childcare group (~$1.2M group annual revenue)
Stack: Google Drive, Google Sheets, Apps Script

The Challenge

The client runs childcare centers where labor is the largest controllable expense. On paper, the data sources were straightforward:

  • Procare — the industry-standard US platform for end-to-end childcare operations. Directors and salaried staff clock hours here.
  • BambooHR — the system of record for pay rates and payroll filing.

Connecting the two should have been easy. It was not.

  • The naming mismatch: BambooHR requires legal names for filing and compliance. Procare lists whatever a employee goes by — nicknames, shortened names, inconsistent spelling. A simple VLOOKUP between exports failed constantly.
  • Incomplete time entry: Directors are salaried — PTO is already baked into their pay — but they do not clock in every day in Procare. Some weeks they track hours; some weeks they do not. Raw Procare exports alone could not produce a reliable daily labor picture for people paid on salary, not punches.
  • Scattered cost inputs: Hourly payroll hours, PTO balances, and training time each arrived as separate file drops. Leadership needed one number — total cost to the company per location, per week — with a clear split between regular payroll, PTO, and training.

Without that view, labor drifted. The group was averaging roughly 60% of revenue in labor — with no way to catch overruns until weeks later.

Before & After

Visualizing the shift from disconnected exports to a single weekly labor view.

The Strategy: “Drop, Don’t Rebuild”

I could have pushed for a new timekeeping platform or a paid integration between Procare and BambooHR. Neither was realistic — Procare is deeply embedded in daily center operations, and the client already lived in Google Workspace.

Instead, I designed around how the team already worked: files dropped into Drive, reviewed in Sheets. Apps Script became the glue — not a replacement for Procare or BambooHR, but a normalization and calculation layer that turned weekly exports into actionable numbers.

The Solution

  1. Dedicated Drive intake: Three folders — time entry, payroll, and training hours. Staff drop exports on their existing rhythm; nothing new to log into.
  2. Name-resolution layer: Apps Script maps Procare display names to BambooHR legal names via a maintained lookup table. New hires or nickname changes get fixed in the table once, not re-chased every payroll cycle.
  3. Unified cost engine: The script reads each drop, applies BambooHR pay rates to hourly Procare entries, allocates salaried director cost by weekday (see below), folds in PTO and training hours, and calculates total cost to the company per employee, rolled up by location and week.
  4. Benchmark comparison: Each school carries a configurable labor-to-revenue target (default 45%). The output flags daily and weekly spend against that benchmark — over, under, or on track — so directors see problems while they can still fix them.

The Key Hurdle

The hardest part was not hourly payroll math. It was salaried directors with spotty Procare entries.

Directors are paid on salary — PTO is already included — so missing clock-ins did not mean they worked for free. The fix was to stop treating Procare as the source of truth for salaried staff and instead allocate cost by calendar:

Daily director cost = (salary ÷ total working days in the period) × weekdays in the range

For a standard week, that means five weekdays of salary spread evenly across the date range — regardless of whether the director logged hours in Procare that day. Hourly staff still run off actual punches and separate PTO exports. That split kept the weekly total honest without forcing directors into a timeclock habit they were never going to follow consistently.

The Result

  • Speed: Weekly labor cost by location — payroll, PTO, and training separated — generated automatically from Drive drops instead of manual reconciliation across three systems.

  • Clarity: Daily benchmark flags against a per-school target (default 45%) replaced gut-feel staffing decisions with a number directors could check every morning.

  • Impact: Over time, the group traced labor trends location by location and drove its group-wide average labor ratio from ~60% down to ~42% across roughly $1.2M in annual revenue.

    At 60%, group labor implied roughly $720K in annual people cost. At 42%, roughly $504K — an estimated ~$216K/year in labor cost improvement (18 percentage points on $1.2M group revenue), enabled by finally seeing the number daily instead of discovering it at month-end.

Ready for similar results?

Book a Workflow Audit