Pulse - Value Added
FRACTIONAL CRO · MARYLAND-BASED, NATIONWIDE · $0→$200M

Kory White

RevOps & Revenue Leadership

Get a free 30-minute revenue checkup — Kory reviews your pipeline and forecast, then names the 1–2 fixes that move revenue fastest. 25 yrs scaling teams $0→$200M.

Free 30-min revenue checkup →
Hire a Fractional CROHow We Help?LinkedInRésuméCRO Syndicate
← Library
Knowledge Library · pulse-tools
13/13 Gate✓ IQ Certified10/10?

How Many Employees Should I Schedule Each Shift at My Dry Cleaner?

Pulse ToolsHow Many Employees Should I Schedule Each Shift at My Dry Cleaner?
📖 3,134 words🗓️ Published Aug 5, 2026
Direct Answer

Divide each weekday's average gross profit by a per-employee daily gross-profit target to get headcount. For a dry cleaner running small tickets at high volume, roughly $180 per person per day is a reasonable floor. A Monday averaging $540 justifies three people; a $360 Wednesday justifies two. Then place those bodies on the morning drop-off and evening pickup peaks.

The job a shift-staffing method is actually hired to do

Most dry-cleaning owners think they have a scheduling problem. They don't. They have a *target* problem. The schedule is downstream of a number nobody in the shop has ever said out loud: how much gross profit one ordinary employee, working an ordinary day at ordinary effort, ought to produce. Until that number exists, every roster is an opinion — and opinions drift toward whatever the shop did last year, whichever counter clerk complains loudest about hours, and whichever manager wants Saturday off.

The job to be done is narrow and mechanical: convert a revenue reality into a headcount decision that survives argument. That means three things must be true at once. First, the target has to be public. A per-employee gross-profit floor whispered between owner and manager is worthless; announced to the whole crew, it becomes a shared ruler. Second, the input has to be historical, not aspirational. You divide by what the store *actually* rings on a normal Tuesday, not what you hope it rings after the new sign goes up. Third, the output has to be a number you're willing to defend on a slow day. If Wednesday's math says two and you staff three because it feels thin, the method is decorative.

Consider what the alternative costs. A cleaner running a fourth body on a $360 Wednesday is burning roughly six to eight paid hours against work that two people finish comfortably. At $15–18 an hour fully loaded, that's $100–140 of gross profit incinerated on a day that only generated $360 to begin with — call it a third of the day's margin, gone, on a schedule nobody ever re-examined. Run that one unnecessary body across two slow weekdays every week and you're looking at somewhere north of $10,000 a year in labor with no receipts attached to it. That is the entire annual profit of a modest wash-and-fold sideline, spent on habit.

The mirror failure is just as expensive and much harder to see. Understaff the 5-to-7 p.m. reclaim window and you don't get a line — you get a customer who waits eleven minutes, says nothing, and starts using the cleaner near their office. Nothing shows up in the labor report. The register just quietly gets smaller over eighteen months. This is why the method has two halves: division sets *how many*, and the hourly sales curve sets *when*. Get the first half right and the second half wrong and you've simply relocated the waste.

The method also has to be portable across the odd shape of a cleaning business. A dry cleaner is not one job — it's a retail counter bolted onto a light-manufacturing plant. Counter headcount tracks customer arrivals. Plant headcount tracks garment throughput, which lags arrivals by a day or two and smooths out entirely. If you run one blended number across both, you'll chronically overstaff the plant on Monday (when drop-off volume is high but yesterday's work is already done) and understaff it Wednesday (when Monday's intake finally hits the presser). Split them. Two targets, two curves, one arithmetic.

How this fits a RevOps stack, and what feeds it

The reason this looks like a small-business scheduling question and behaves like a RevOps question is that the inputs live in four different systems that mostly don't talk. Getting them to talk is the actual project.

Your point-of-sale holds ticket counts and revenue by hour. Your accounting system holds cost of goods — solvent, poly, hangers, tags, the utility load on the boiler — which is what turns revenue into *gross profit*, the only figure the formula accepts. Your time clock holds what you actually paid. Your scheduling tool holds what you intended to pay. Owners routinely run the division against revenue instead of gross profit and land on a headcount 25–40% too high, because on a $540 revenue day with 35% COGS you only have about $350 of gross profit to divide. That single substitution error is the most common way this method gets discredited by people who never actually ran it.

The stack does not need to be expensive; it needs to be reconciled monthly. Pull a weekday-by-weekday gross-profit average per location over a trailing three to six months. Three months is the minimum that survives a bad week; six months smooths seasonality but starts to lag genuine trend changes, so if you opened a competitor-adjacent location or lost a hotel account, restart the clock rather than averaging across the break. Recompute quarterly. Post the resulting grid where the crew can see it.

Two upstream levers change the answer more than any scheduling software will. The first is ticket mix. Alterations, leather, household goods, and wedding-gown work carry materially higher gross profit per labor minute than a shirt run. A store that pushes alterations lifts its daily gross profit without lifting garment count, which means the same headcount now clears a higher bar — or the same bar with fewer people. The second is automated intake: barcode tagging and self-serve drop lockers pull labor out of the peak window specifically, which is where labor is most expensive to add. Neither of these is a scheduling decision, and both change the schedule.

The downstream effect worth naming is retention. A crew scheduled to a published number stops experiencing cuts as personal. "Wednesday earns two" is arithmetic. "I'm cutting you Wednesday" is a grievance. Cleaners run on thin, hard-to-replace skilled labor — a good presser or a counter person customers ask for by name is not a commodity hire — so the political durability of the method matters as much as its accuracy.

What the tooling costs, and which billing model fits a cleaner

You can run this entire method in a spreadsheet for free, and plenty of single-store owners should. Software earns its keep on *delivery* — getting the finished roster onto every phone, handling swaps without three text threads, and capturing punches so you can compare planned labor to actual. Buy for that, not for the math.

The market splits cleanly into two billing models, and the right one depends on your physical shape rather than your size.

Per-user pricing typically runs in the low single digits per employee per month for basic scheduling, climbing toward the high single digits once time-and-attendance and labor-cost features are bundled. When I Work is the household name here and is genuinely good at the delivery job — clone last week forward, push to phones, handle swaps. Deputy sits in similar territory and adds the feature closest to this method: demand-based rostering that proposes staffing against a forecast when you connect a POS feed. Workforce.com aims at the multi-site operator who needs wage-cost forecasting and live labor-versus-sales tracking through the day. Per-user math works when each site runs a lean, stable crew.

Per-location pricing flips the arithmetic. Homebase bills by the storefront rather than the head, with a free tier covering scheduling and a time clock for a single location and unlimited staff. For a cleaner running a plant plus several drop-counters with part-timers rotating through, per-location billing can undercut per-user tools substantially — a 25-person operation across four sites pays four location fees instead of 25 seats. Findmyshift uses a related flat-rate-per-team model, which suits a settled roster where you'd rather not watch the invoice inflate every time you hire a summer counter kid.

Free and near-free tiers are real and worth using to prove the method before spending. Sling ships a functional free tier and folds in a newsfeed and task lists, which keeps counter and plant reading the same announcements on heavy days. Connecteam runs free up to a small user count and is unusually broad for the price — checklists, training modules, and a deskless-worker communication hub, so it doubles as your open/close checklist and machine-log app. Snap Schedule offers a one-time desktop license as an alternative to renting, which appeals if you run fixed plant rotations that rarely change. Shiftboard exists at the enterprise end by custom quote and is more machinery than a normal cleaner will ever touch; it's the right answer only for an industrial laundry spanning dozens of sites with credentialing and complex coverage rules.

Verify current pricing on each vendor's own page before you commit — plan names and tiers in this category change often, and annual-versus-monthly billing typically moves the number by 15–20%.

Budget honestly against the labor you're recovering. If disciplined scheduling saves one unnecessary body across two slow weekdays, you've freed several hundred dollars a month. A tool costing $30–60 a month clears that hurdle easily. A tool costing $400 a month for a two-store operation does not, no matter how good the forecasting module is.

How to evaluate and shortlist without wasting a quarter

Run a structured 30-day trial rather than a demo tour. Demos sell the calendar view; trials expose whether the thing survives a Saturday.

Week one — build the grid by hand. Before touching software, produce the weekday gross-profit averages per location in a spreadsheet and divide by your target. This is the deliverable. If you can't produce it, no tool will produce it for you; they schedule, they don't do your accounting. Write the resulting headcount per weekday per site on one page.

Week two — test the import path. Load your actual roster, roles, and availability. Count the minutes. If getting one location live takes more than an hour, multiply by your site count and ask whether you'll ever actually finish the rollout. Check specifically whether the tool distinguishes *roles* — you need counter and plant tracked separately or you'll lose the split that makes the method work.

Week three — break it on purpose. Have a presser call out at 6 a.m. Have two clerks swap a Saturday. Push a mid-week schedule change after publishing. The gap between good and mediocre tools is entirely in this week. Does the swap require manager approval? Does the change notify everyone or silently update a calendar nobody reopens?

Week four — reconcile. Pull planned hours against clocked hours. A variance above about 10% means either your target is wrong or your published schedule isn't what's actually happening on the floor, and you need to know which before you sign an annual contract.

Score candidates on five things, in this order of weight. Does it publish reliably to phones your crew actually carries? Does it handle swaps and callouts without the manager becoming a switchboard? Does it capture time so you can reconcile plan versus actual? Does it separate roles and locations? And only last: does it forecast? Forecasting is the flashiest feature and the least necessary one, because you're bringing the forecast — that's what the division already gave you.

Two disqualifiers are worth naming. Anything requiring a desktop login to view a schedule will not be used by pressers. And anything that bills per user with no cap will punish you precisely when you're growing, which is the worst possible time to be re-shopping software.

A decision framework for the shift itself

Headcount answers *how many*. It doesn't answer *when*, and the when is where most of the money hides. Cleaning demand is bimodal in a way almost no other retail category is: a hard 7-to-9 a.m. drop-off spike before work, a hard 5-to-7 p.m. reclaim spike after work, and a genuinely limp middle. Averaging staff evenly across a ten-hour day is the single most common and most expensive scheduling error in the trade.

The pattern that follows the curve: two on the early counter, drop to one through the midday trough while the plant runs, bring two back for the evening reclaim. Same total labor as three people evenly spread across the day, but the coverage is where the register fires. Saturday inverts this entirely — the peak flattens into a broad late-morning hump and the evening spike mostly disappears, so a Saturday roster built from a weekday template will be wrong in both directions on the same day.

A few judgment calls the arithmetic won't make for you. Never schedule below one plus a reachable float — a solo clerk who gets sick strands a store, and the math can't price a closed door. Round down, not up, on fractions. If Thursday computes to 2.4, staff two and let the owner or manager cover the overflow hour; rounding up every fraction reintroduces the exact padding the method exists to remove. Publish two weeks out and honor it. A method that produces a mathematically perfect roster nobody can plan their life around will lose to the sloppy schedule that's predictable. Exempt known events. The Monday after a long holiday weekend and the first cold week of fall are not normal Mondays; override them explicitly and label the override so it doesn't quietly become the new baseline.

The same framework transfers cleanly to neighboring bimodal-demand businesses — a coffee shop's morning rush and a restaurant's lunch-and-dinner split are the same structural problem with different peak shapes. What's specific to a cleaner is the throughput lag between counter and plant, which is why the split-target step matters more here than it does next door.

Related questions

What if I have no historical gross-profit data yet?

Start with a conservative estimate from comparable stores or trade-association benchmarks, staff slightly lean, and note the daily gaps. Replace estimates with your own trailing averages after three months. Accuracy compounds fast once real data lands.

Should the per-employee target be the same for counter and plant?

Blended works for most single-store cleaners. If your presser output and counter output diverge sharply, set two targets and two curves — plant labor tracks garment throughput, counter labor tracks customer arrivals, and they peak on different days.

How often should I recompute the weekday averages?

Quarterly. More often and you chase noise; less often and you're staffing last year's business. Restart the trailing window entirely after any structural change — a new competitor, a lost commercial account, a price increase.

Does this method work for a wash-and-fold or laundromat sideline?

Yes, with one adjustment. Wash-and-fold demand is flatter and less bimodal than garment cleaning, so the headcount division holds but the intraday placement changes — expect broader, lower coverage rather than two hard peaks.

What if my computed headcount is consistently one person?

Then your constraint isn't scheduling, it's volume or margin. Focus on ticket mix — alterations and household goods lift gross profit per labor minute — before you spend anything on scheduling software.

FAQ

What if my average daily gross profit is well below $180 per person?

The $180 figure is a starting floor for a typical dry cleaner, not a universal constant. If a normal Tuesday clears $300 in gross profit, the arithmetic gives you one to two people, and that's the correct answer for that store. Adjust the per-employee target to your own realistic output — but set it once, publish it, and stop renegotiating it weekly.

How do I handle wide seasonal swings in profit?

Use a trailing three-to-six-month average to smooth the noise, then override known events explicitly. If summer Mondays clear $700 and winter Mondays clear $400, the blended figure gives you a stable baseline for ordinary weeks, and you consciously add a body for the fall rush rather than letting seasonal peaks permanently inflate the standing roster.

Do morning and evening need the same headcount?

No. The division produces a total for the day; the hourly sales curve decides placement. Cleaning runs on two hard spikes — roughly 7-to-9 a.m. and 5-to-7 p.m. — with a soft middle. Weight the peaks, thin the trough to one person handling light counter work while the plant runs, and don't spread evenly.

Should I schedule to gross profit or to revenue?

Gross profit, always. Revenue overstates capacity because it ignores solvent, poly, hangers, tags, and the utility load. A $540 revenue day with 35% cost of goods leaves roughly $350 to divide, not $540 — and dividing the wrong number is the most common way owners end up 25–40% overstaffed while believing they followed the method.

How do part-timers and split shifts fit the math?

The formula produces full-time-equivalent heads, not bodies. If Monday earns three, that can be two full-timers plus a part-timer covering the evening reclaim, or three overlapping partials. What matters is that the hours land on the peaks and the total roughly matches the computed FTE count.

Won't the crew read this as a quota?

It's a floor, not a ceiling, and saying so out loud is the whole trick. People chasing more hours don't stall at the target and clock out — they clear it on ordinary work and go after alterations and household goods for the next dollar past it. One published ruler applied to owner, manager, counter, and plant alike removes the favoritism argument entirely.

Sources

flowchart TD A["POS: hourly tickets and revenue"] --> D[Weekday gross profit average] B["Accounting: COGS, solvent, poly, utilities"] --> D C["Time clock: actual paid hours"] --> G D --> E[Divide by per-employee daily GP target] E --> F[Headcount per weekday per location] A --> H["Hourly sales curve: AM drop-off, PM pickup"] H --> I[Shift placement within the day] F --> I I --> J[Published schedule] J --> G["Variance review: planned vs actual labor"] G --> K{Variance over 10 percent?} K -->|Yes| L[Re-check target or re-check curve] K -->|No| M[Hold the roster, recompute quarterly] L --> E
flowchart TD A[Weekday gross profit average] --> B[Divide by per-employee GP target] B --> C{Result under 2?} C -->|Yes| D[Staff 1 plus owner or manager float] C -->|No| E{Multiple roles on site?} E -->|Counter only| F[Place all heads on AM and PM peaks] E -->|Counter plus plant| G[Split into two targets] G --> H[Counter tracks arrival curve] G --> I[Plant tracks garment throughput] H --> F I --> J[Flat coverage, lags intake 1 to 2 days] F --> K[Publish 2 weeks out] J --> K D --> K K --> L{Callout or swap?} L -->|Yes| M[Backfill only if peak window affected] L -->|No| N[Run the shift] M --> N N --> O[Reconcile planned vs actual weekly]

Related on PULSE

Download:
Was this helpful?  
⌬ Apply this in PULSE
Gross Profit CalculatorModel margin per deal, per rep, per territoryRecruiting CalculatorHow many reps you need before you hireRep Scheduling MatrixProtect high-value selling time