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 CrossFit Box?

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

Divide each class block's average gross profit by a per-staff gross-profit target you set with your head coach — commonly around $250 per block. A 5:30 AM block averaging $500 gets two staff; a $1,000 evening block gets four. Then place those shifts against actual check-in timing, never habit.

Signals you actually need this

Most box owners do not go looking for a staffing formula. They arrive at it because something on the floor started hurting, and the symptoms are consistent enough that you can diagnose yourself in about ten minutes of honest looking.

The 6 PM class has a coaching ratio you would not accept as a member. One coach, twenty-eight bodies, three of them on day four of an on-ramp, and someone is pulling a heavy deadlift with a rounded back in the back corner while the coach is on the opposite wall cueing a scaled pull-up. That is not a coach problem — that is a scheduling arithmetic problem. If a block generates two, three, or four times what a single working staffer should cover, you are underspending on labor at exactly the moment your highest-value members are on the floor watching.

Your 10 AM has a coach on the clock for four attendees. The inverse symptom, and the one owners rationalize hardest. "We keep it open for the retirees and the shift workers." Fine — that is a legitimate retention decision. But make it a *decision* rather than an accident. Right now you are probably paying the same hourly rate to cover a block generating one-fifth the gross profit of your evening peak, and you have never quantified the gap.

You cannot answer "why is this person on the schedule Tuesday?" without saying "they always are." Habit-based schedules calcify. A coach who took the 11 AM slot in 2023 because it worked with their day job still has it in 2026, even though attendance in that block halved and the 4:30 PM slot doubled. Nobody is doing anything wrong. There is just no mechanism that forces the schedule to re-fit reality.

How Many Employees Should I Schedule Each Shift at My CrossFit Box — figure 1

Labor as a percentage of revenue drifts without anyone noticing. Boxes tend to discover this quarterly, at tax time, in a spreadsheet, with a sinking feeling. The drift is rarely one bad decision — it is fourteen small ones, each defensible in isolation, that collectively moved coaching payroll several points relative to membership revenue while you were focused on retention and the leaky retail cooler.

You are about to add a second location, a specialty program, or a coach. Every one of those decisions requires a defensible baseline. "We add a coach when a block clears $500" is a policy you can hand to a general manager. "We add a coach when it feels crowded" is a policy that only you can execute, which means you can never leave.

Adjacent signal worth noting: if you also run a smoothie bar, a pro shop, or a physical-therapy sublease, the same symptom set appears on the retail side with different vocabulary — sales per labor hour instead of gross profit per block. The underlying math is identical. Anyone who has worked RevOps in a multi-unit retail or restaurant environment will recognize the pattern immediately: you are solving a coverage-versus-contribution problem, and the fact that the unit of coverage happens to be a WOD rather than a dinner rush changes nothing structural.

What good looks like versus what bad looks like

Bad staffing is not usually chaotic. That is what makes it durable. Bad staffing looks *orderly* — a clean grid, every block covered, nobody double-booked — while quietly mismatching labor to value in both directions at once.

How Many Employees Should I Schedule Each Shift at My CrossFit Box — figure 2

Bad looks like a flat schedule. One coach per class, every class, all week. It is easy to publish, easy to explain, and it systematically under-serves your two revenue peaks while over-serving your dead midday. A flat schedule is the scheduling equivalent of charging every member the same price regardless of what they use — defensible in a spreadsheet, wrong on the floor.

Bad looks like a schedule built around coach preference. Availability is a real constraint and you must respect it, but constraint and driver are different jobs. When preference drives the grid, your strongest coach ends up on the block that fits their commute rather than the block that carries the most gross profit and the most at-risk new members.

Bad looks like a headcount with no stated target. If you cannot say the number — "a working staffer should cover $250 in gross profit per block" — then every staffing conversation becomes a negotiation about vibes. With the number stated out loud, the conversation becomes arithmetic, and arithmetic is not personal.

How Many Employees Should I Schedule Each Shift at My CrossFit Box — figure 3

Good looks like a stated per-staff target, agreed with the people it governs. Sit down with your head coach and set it explicitly: *in our box, if you run a clean class, scale every member, and keep the energy up, you should be covering no less than $250 a block in gross profit.* That is a floor, not a ceiling. Coaches who want real hours cover their block and then help fill the next one through retention and referrals. The number gives everyone — you, your lead, and every coach on the schedule — the same yardstick.

Good looks like trailing averages, not last week. Pull three to six months of gross profit per block, per day of week. Three months responds fast enough to catch a genuine shift; six months smooths out a holiday week, a competition weekend, and the January surge that always deflates by March. Pick one window, write it down, and re-pull quarterly.

Good looks like a floor and a ceiling. If a block divides out to 0.4 staff, you still schedule one — you cannot run a class with 40% of a coach, and the arithmetic result below one is telling you something about pricing or programming, not about staffing. If a block divides out to 4.6, decide deliberately whether the fifth body is a second heat, a door/front-desk cover, or a signal that you should split the block into two classes.

Good looks like the count driving placement, not the reverse. The division tells you *how many*. Check-in timing tells you *when*. Those are two separate questions and conflating them is how you end up with three coaches parked at noon.

How Many Employees Should I Schedule Each Shift at My CrossFit Box — figure 4

Good looks like a schedule that changes. If your grid has not moved in a year, either your box is unnaturally stable or nobody is re-running the math. Quarterly re-pulls should shift at least one or two blocks every cycle. That churn is the system working, not failing.

Real cost and ROI ranges

The honest framing here is that the method itself is free and the tooling is cheap. What costs money is running the schedule wrong — and the size of that leak is usually larger than every scheduling tool on the market combined.

The labor side. Coaching payroll is typically the single largest controllable line item in a box's P&L, ahead of rent for many affiliates once you count all part-time hours. That means a few percentage points of misallocation is real money, and it recurs every single week whether or not anyone looks at it. The point of the division method is not to cut labor — it is to *move* labor from blocks that cannot carry it to blocks that are starving for it. In most boxes that run the exercise for the first time, the net headcount barely changes; the distribution changes a lot.

Tooling costs, actual ranges. Per-user schedulers cluster low: When I Work starts around $2.50 per user per month on its entry tier and climbs to roughly $8 per user per month once you add attendance and labor tools. Deputy runs about $4.50 per user per month for scheduling and around $6 for the premium tier that adds time and attendance. Sling offers a genuinely usable free tier, with paid plans in the $1.70–$3.40 per user per month range.

How Many Employees Should I Schedule Each Shift at My CrossFit Box — figure 5

Per-location pricing is the other shape, and for a box with a long roster of part-time coaches it is usually the cheaper one. Homebase is free for a single location with unlimited employees on its scheduling and time-clock tier, with paid tiers priced per location — roughly $24.95, $59.95, and $99.95 per location per month as you move up. 7shifts has a free tier for one location and paid plans running from about $34.99 to $76.99 per location per month, and it ties scheduling to sales and labor-percentage targets, which matters if part of your floor is a retail counter.

Do the per-user versus per-location math before you buy. A box with eighteen part-time coaches on a $4.50 per-user plan is paying roughly $81 a month; the same box on a free or $24.95 per-location plan is paying $0–$25. That gap is not enormous in isolation, but it is the clearest example of a decision people make by brand recognition rather than by shape of their own roster. Small, stable coaching crew of four? Per-user wins. Long tail of part-timers who each coach two blocks a week? Per-location wins, decisively.

Gym-platform costs sit in a different bracket. Mindbody bundles class scheduling, membership billing, and a staff calendar, starting at a higher monthly commitment and climbing with add-ons. Wodify is purpose-built for CrossFit boxes and functional-fitness gyms — class booking, performance tracking, billing, coach schedule — with tiered plans. Both are legitimately more expensive than a pure scheduler, and both are worth it *if* you are consolidating booking and billing rather than adding a fifth system. Neither will hand you a per-staff gross-profit target; you still supply that.

Where the return actually comes from. Three places, in rough order of size:

How Many Employees Should I Schedule Each Shift at My CrossFit Box — figure 6
  1. Retention on peak blocks. A member who joins in January and quits in March costs you the difference between what they paid and what a full year would have paid. The single most common reason a new member quits is feeling invisible and unsafe in a crowded class. Adding a second staffer to a packed evening block is a retention intervention disguised as a scheduling change, and retention math dwarfs labor math at almost any box size.
  1. Reallocation, not reduction. Pulling half a coach out of three dead midday blocks and putting that labor into two peak blocks is roughly cost-neutral on payroll and materially positive on service. This is the change most boxes can make in week one.
  1. Decision speed. Once "add a coach when a block clears the target" is written down, you stop re-litigating it monthly. That is not a line item, but ask any owner who has spent a year avoiding a staffing conversation what it was worth to have the number decide instead.

What to be honest about. If a block's gross profit is consistently below your per-staff target, the formula is telling you something uncomfortable: that block may be a pricing problem or a programming problem, not a staffing problem. You can absolutely choose to run it at a loss as a member-retention or community cost — a lot of good boxes keep a 5:30 AM alive for exactly that reason. Just call it what it is and put a number on it, so it stays a choice.

How Many Employees Should I Schedule Each Shift at My CrossFit Box — figure 7

How it plugs into your existing workflow

The method is not a system you adopt. It is four inputs and one division, and it slots into whatever you already run — a whiteboard, a gym-management platform, or a spreadsheet you have kept alive since 2021.

Input one: gross profit per class block. Most gym platforms will export attendance and revenue per class. If yours will not, approximate: average revenue per attending member per visit, times attendance for that block, minus the direct variable cost of running it. You do not need accounting-grade precision. You need a number stable enough to compare Monday 5:30 AM against Tuesday 6:30 PM, and a rough consistent method beats a precise inconsistent one every time.

Input two: the per-staff target. This is the conversation, not the calculation. Set it with your head coach, say it out loud, and write it where coaches can see it. Set it too high and you chronically understaff peaks; set it too low and you bloat the schedule and train coaches to expect coverage they have not earned. Sanity-check it against your labor-percentage goal: if your target implies a coaching payroll well outside the range you can sustain, the target is wrong, not the box.

Input three: the check-in curve. Pull raw check-in timestamps for a representative month. You are looking for when bodies physically walk in — the dawn crowd, the lunch drop-in, the after-work surge. Attendance timing determines placement; the division determines count.

How Many Employees Should I Schedule Each Shift at My CrossFit Box — figure 8

Input four: coach availability and certification constraints. Some blocks require a specific credential. Some coaches genuinely cannot do 5:30 AM. Treat these as filters applied *after* the count, never as the thing that generates the count.

Where each tool sits in that loop. When I Work, Sling, and Connecteam handle the publish-and-notify leg — getting the finished grid onto every coach's phone with reminders, swaps, and mobile clock-in. Connecteam is free for up to ten users and inexpensive up to thirty, and it bundles checklists, training, and a deskless-employee communication hub, which makes it double as an operations app for a box where coaches never touch a computer. None of these will tell you the 6 PM needs four staff — you bring the headcount math, they run the logistics.

Deputy is the closest off-the-shelf cousin to the method: connect a sales or check-in feed and it suggests staffing against projected demand, plus it handles break rules and overtime alerts once you run enough coaches to trip labor thresholds. Mindbody and Wodify keep the coach schedule next to the class roster and the member payments, so attendance and revenue per block live on the same screen where you assign coverage — genuinely useful, since it collapses inputs one and three into one export. 7shifts ties scheduling to sales and labor-percentage targets, which is the right fit if you run a counter alongside classes. Shiftboard is enterprise workforce scheduling by custom quote — credential-based scheduling, multi-site coverage, heavy compliance — overkill for a single box, plausible for a large multi-site gym group with intricate certification rules.

How Many Employees Should I Schedule Each Shift at My CrossFit Box — figure 9

Adopt it in this order. Week one: agree the target and pull one month of block-level gross profit. Week two: run the division for every block and every day, and compare it to your current grid — do not change anything yet, just look at the deltas. Week three: move labor on the two or three blocks with the largest gaps. Week four onward: re-pull trailing averages quarterly, and treat any block that moves more than one full staffer as worth a five-minute conversation about why.

Failure modes to watch. Re-pulling too often makes the schedule thrash and erodes coach trust — quarterly is the right cadence for most boxes. Setting the target unilaterally instead of with your head coach converts a shared yardstick into an edict. And letting the schedule drive the count instead of the other way around reintroduces exactly the habit-based grid you were trying to escape.

Adjacent scenarios the same math covers

The division generalizes further than most box owners expect, and seeing where it holds clarifies why it works.

Other class-based fitness. Yoga, cycling, pilates, and group personal training are the same structure with different overhead and coach pay — divide the block's gross profit by a per-staff target calibrated to your own costs. The target number changes; the method does not. A cycling studio with a fixed bike count has a hard capacity ceiling, which means blocks cluster tightly around a max gross profit and the division produces a flatter, more predictable schedule than a box where a 6 PM can swell to thirty-five.

How Many Employees Should I Schedule Each Shift at My CrossFit Box — figure 10

Multi-affiliate groups. Run the division per location, then compare per-staff targets across sites. A wide spread usually means pricing differences or genuinely different cost bases, both of which are worth knowing. What you should not do is impose one target across sites with materially different rent and wage markets.

The retail counter inside the box. Smoothie bar, apparel, supplements — schedule that to sales per labor hour rather than gross profit per block. Same shape, different denominator, and 7shifts handles the hybrid natively.

Non-class duties. Cleaning, equipment maintenance, admin, and social content are staffed by time required, not by gross profit, because they generate no block revenue to divide. Keep them out of the class-block math entirely. If a staffer is already on the floor for a class, quick tasks between heats — wiping bars, resetting rigs — ride along without changing the arithmetic.

Where the analogy stops. This is a coverage-allocation method, not a demand-generation method. It will tell you precisely how to distribute the labor you have across the demand you have. It will not fill a 10 AM. If every block divides out below one staffer, the answer is not a better schedule — it is pricing, programming, or marketing, and no amount of scheduling discipline substitutes for that.

Related questions

What if my per-staff target is wrong?

You will know within a quarter. Too high and peaks stay visibly understaffed while labor percentage looks great; too low and payroll bloats with coaches on dead blocks. Adjust in one increment, not a jump, and re-check after a full quarter of trailing data.

Should the target differ for a lead coach versus a newer coach?

Keep one target for headcount math — mixing rates into the division muddies it. Handle experience differences in placement instead: put your strongest coach on the block with the most new members and the most gross profit at risk, not on the block that fits their commute.

How do I handle a block that spikes seasonally?

Use a trailing three-to-six-month average to smooth normal variation. For genuinely seasonal blocks — summer afternoons, January surge — pull the same period from the prior year instead, and staff to that. Update averages quarterly so the plan tracks reality rather than memory.

Does this work if I coach every class myself?

Yes, and it is arguably more valuable. The division tells you exactly which block first justifies paying someone else, and roughly what that costs against the gross profit it carries. That is the number that decides when you stop being the bottleneck.

What about front-desk coverage?

Count it separately from coaching headcount unless the same person genuinely does both. If a block's division returns four and one of those is realistically door and check-in cover, label it that way in the grid so future-you knows the fourth body was not a coaching decision.

FAQ

What if my average gross profit per class block is lower than my target?

Then either the target is too high for your cost base or the block has a pricing or attendance problem. Look at both honestly. The $250-per-block figure is a common starting floor, not a law — your local wages, rent, and class sizes determine yours. Agree a realistic number with your coaches and hold it for at least a quarter before adjusting.

Can I use this formula if I only run one coach per class?

Yes, if the block's gross profit sits at or below your per-staff target. If a block averages $200 against a $250 target, one coach is right. If it averages $500, you are under-serving a full class — the second staffer improves scaling, safety, and retention on your most valuable block.

How do I handle consistently low-attendance blocks like early mornings?

Schedule one coach as the floor and treat the shortfall as an explicit member-retention cost. The division still works: if the result is below 1.0, you round up to one. What matters is that you priced the decision rather than stumbled into it.

How often should I re-run the numbers?

Quarterly for most boxes. Monthly makes the schedule thrash and erodes coach trust; annually lets drift accumulate for three quarters before anyone notices. Re-pull trailing averages every quarter, and expect one or two blocks to shift each cycle — that movement is the system working.

Do I need to factor in cleaning and admin time?

Not in this formula. Class blocks get staffed by gross profit divided by target; non-class work gets staffed by hours required. Keep the two accounting streams separate or the division stops meaning anything. Quick between-heat tasks handled by a coach already on the floor need no adjustment.

Is this method only for CrossFit boxes?

No. Any class-based facility works — yoga, cycling, group training. Beyond fitness, the same coverage-versus-contribution logic drives staffing in retail and restaurants, where the denominator becomes sales per labor hour instead of gross profit per block. Adjust the target to your overhead and pay structure and the arithmetic transfers cleanly.

Sources

flowchart TD S["How Many Employees Should I Schedule E"] S --> N0["Signals you actually need this"] N0 --> N1["What good looks like versus what bad l"] N1 --> N2["Real cost and ROI ranges"] N2 --> N3["How it plugs into your existing workfl"]
flowchart LR C["How Many Employees Should I Schedule E"] C --> H0["What good looks like versus what bad l"] C --> H1["Real cost and ROI ranges"] C --> H2["How it plugs into your existing workfl"] C --> H3["Adjacent scenarios the same math cover"]

Related on PULSE

Download:
Was this helpful?  
⌬ Apply this in PULSE
Gross Profit CalculatorModel margin per deal, per rep, per territoryRep Scheduling MatrixProtect high-value selling timeHow-To · SaaS ChurnSilent revenue killer playbook