Knowledge Library · Tools
🏆 13/13 · Claude Code Audited
How Do I Decide How Many Reps to Schedule at Each Store in My Mattress Retail Chain?
PULSEKNOWLEDGE LIBRARYpulserevops.com
Pulse Tools

Direct Answer Mattress retail runs on lean floors — most stores hold one or two reps at a time — so getting the headcount right at each location matters *more* than it does in high-headcount retail, not less. One extra body on a slow store can wipe out that store's entire daily profit; one body short on a busy Saturday can cost you a a retainer sale that walks out unhelped. The method that resolves both risks is a single line of division: > Reps to schedule for a store on a given day = that store's average gross profit for that day ÷ your agreed gross-profit-per-rep target. Here is how to run it end to end: 1. Set a per-rep daily gross-profit target with leadership. This is the amount of gross profit one average rep, giving average service on an average day, should be expected to produce. Because mattress margins are high (often 40–55% of ticket), this number sits well above what you'd use in grocery or apparel. A common working range for high-margin furniture and bedding floors is roughly 250 to 400 of gross profit per rep per day. Pick a specific number — say 300 — and treat it as a floor, not a stretch goal.
- Pull each store's trailing gross profit by day of week. Use three to six months of data so seasonality and one-off spikes wash out. You want an average for *this store's* typical Monday, Tuesday, Saturday, and so on — not a chain-wide blended number.
- Divide. A flagship averaging a retainer of Saturday gross profit needs a retainer ÷ 300 = 5 reps. A quiet satellite averaging 600 on a Wednesday needs 600 ÷ 300 = 2 reps (round to the nearest whole body, with a bias toward covering peak hours). Repeat for every store, every day.
- Convert headcount into shifts by overlaying your receipt-time curve. The division tells you *how many* bodies the day can support; your hourly sales data tells you *when* to place them. Mattress traffic clusters on weekend afternoons and weeknight evenings, so you weight coverage there rather than carrying two reps flat from open to close. That's the whole method. A reader who stops here can go run it today: set the target, pull the data, divide, then schedule the resulting bodies against the hours your registers actually ring. Everything below deepens each step — how to set the target defensibly, how to get clean data, how to turn counts into humane shifts, how to handle tiny stores and holidays, how to audit the model, and which software will run the math and publish the roster. ## The Formula That Sets Each Store's Headcount Most staffing arguments in retail are really arguments about which *proxy* for demand you trust. Owners often schedule to square footage, to gut feel, to "we've always had two on Saturday," or to fairness ("everyone gets similar hours"). Every one of those decouples labor from the money the store actually makes. Gross profit is the honest proxy because it already blends traffic, ticket size, close rate, and margin into one number — the exact number your labor has to earn against. Why gross profit and not revenue? Two stores can post identical revenue while one sells a stack of 499 mattresses-in-a-box and the other moves a retainer adjustable sets with protectors and frames. The second store generates far more gross profit per transaction, which means it can support — and *needs* — more selling hands to work the floor without abandoning waiting customers. Scheduling to revenue would understaff the high-margin store. Scheduling to gross profit corrects for that automatically. Why per store, per day, and not one chain-wide ratio? Because a mattress chain's stores are rarely alike. A mall-adjacent flagship, a strip-center satellite, and an outlet in a secondary market have completely different traffic shapes. A chain-wide "two reps per store" rule overstaffs the outlet on Tuesdays and understaffs the flagship on Saturdays — the two most expensive mistakes you can make on a lean floor. The division is deliberately granular: each store is measured against its own history, and each day of the week is measured separately because a store's Saturday and its Tuesday are effectively two different businesses. A worked example across a small chain. Say you run four stores with a 300 per-rep target: - Store A (flagship): Saturday gross profit averages a retainer → 5 reps. Tuesday averages 520 → 2 reps.
- Store B (strong satellite): Saturday averages 980 → 3 reps. Tuesday averages 310 → 1 rep.
- Store C (outlet): Saturday averages 640 → 2 reps. Tuesday averages 290 → 1 rep.
- Store D (new/secondary market): Saturday averages 450 → 1–2 reps. Tuesday averages 180 → 1 rep. Notice what falls out of this without any debate: nobody schedules two people at Store D on a Tuesday just because "a store should have two." The math says one, and one is right. The discipline is trusting the division even when it contradicts habit. Rounding rules. When the quotient lands between whole numbers, round toward the number that best protects your peak selling window, not toward the average of the whole day. If a store computes to 2.6 reps for Saturday, you don't schedule "2.6 bodies" — you schedule two reps all day and add a third only for the afternoon peak. That single decision (whole-body counts plus a partial-day overlap) is what separates a spreadsheet number from a real schedule, and it's covered in the shift-timing section below. ## Setting a Per-Rep Gross-Profit Target for High-Margin Mattress Retail The target is the fulcrum of the whole system, so set it deliberately and defensibly rather than plucking a round number. Start from your own P&L, not a benchmark. The cleanest way to anchor the number is to look backward: take a recent healthy period, sum the gross profit each rep produced, and divide by the days they worked. That gives you the *actual* gross-profit-per-rep-day your floor already runs at when it's performing. Your target should sit at or slightly below that observed average — you're defining what an *average* rep on an *average* day should clear, not what your top closer does on a holiday weekend. If your best reps clear 500/day and your median clears 320, a target near 300 is defensible; setting it at 500 would chronically understaff you because you'd be assuming every shift is your best person's best day. Why mattress numbers run higher than most retail. Bedding is a considered, high-ticket, high-margin purchase. A single sold set can carry more gross profit than an entire shift's worth of transactions at a convenience store. That's why the per-rep target for mattress retail lands in the hundreds of dollars of gross profit per day rather than the tens. It also means the *penalty for overstaffing is severe*: adding an unneeded rep to a small store doesn't just add wage cost, it splits the same handful of daily "ups" (walk-in prospects) across more people, dragging down individual close rates and morale. Bake in a service floor, not just a math floor. Pure division can, on a very slow day at a tiny store, suggest fewer than one rep — which is impossible and also unsafe. Every open store needs at least one person for coverage, breaks, restroom runs, and simple physical security (you generally don't want a single employee alone with a cash drawer and a delivery dock all day). So the true rule is: max(1, gross profit ÷ target), with a minimum-coverage policy layered on top. More on that in the edge-cases section. Revisit it quarterly. Margins move — a mattress vendor changes wholesale cost, you run a promotional quarter, a new competitor pressures your close rate. Because the target is a divisor, a change in it re-scales every store's headcount at once. Put a standing quarterly review on the calendar: recompute the observed gross-profit-per-rep from the last 90 days, compare it to your target, and adjust if the two have drifted more than ~15% apart. Don't tune it monthly on noise; do tune it when the underlying margin structure genuinely shifts. Guard against gaming. If reps or managers know the target, there's a temptation to protect hours by inflating attributed gross profit — misattributing sales, discounting less to pad margin at the cost of volume, or "banking" delivered-but-not-recognized revenue into a slow day. Keep the target a floor for *scheduling*, keep gross-profit reporting tied to your POS and accounting system of record, and don't let the same person who builds the schedule also define how gross profit is booked. ## Getting Clean Store-Level Data and Reading It Right The method is only as good as the gross-profit-by-day numbers you feed it. Most of the failure modes here are data problems, not math problems. Pull from the system of record. Your POS or ERP should be able to export, per store, the gross profit (revenue minus cost of goods) by transaction date. If your system reports revenue but not COGS at the line level, approximate gross profit by applying each category's known margin — but do it consistently across stores so comparisons stay fair. Use three to six months, and mind what's inside the window. A three-month window is responsive; a six-month window is more stable. Whichever you choose, watch for contamination: - Promotional spikes. A President's Day or Labor Day mattress event can triple a normal Saturday. If a holiday weekend sits inside your window, it will inflate that store's "average Saturday" and over-schedule every ordinary Saturday. Either exclude known promotional dates from the baseline and staff them separately, or use a median rather than a mean so outliers pull less weight.
- Delivery vs. sale date. Mattresses are frequently sold one day and delivered another. Decide whether gross profit lands on the *sale* date (better for staffing the selling floor, since that's when the rep did the work) and apply it consistently.
- Returns and comfort exchanges. Bedding has a meaningful return/exchange rate. Net your gross profit of returns so a store isn't credited for sales that came back.
- Store-count and remodel disruptions. A store that was closed for a remodel or had a manager transition mid-window will show artificially low numbers. Flag those and either extend the window or hand-adjust. Segment by day of week first, then by daypart. Day-of-week is the primary axis because traffic patterns are weekly. But keep the hourly detail too — you'll need the intraday receipt curve to convert counts into shifts. Most POS systems can export sales by hour; if not, a two-week manual traffic count (tally ups per hour) is enough to see the shape. Sanity-check against traffic, not just dollars. If you have a door counter or can pull "ups" from your CRM, compare gross profit per up across stores. A store with high gross profit but very high traffic may actually be *under*-converting and needs coaching more than bodies; a store with modest gross profit but few, high-quality ups may be running near its ceiling. Gross profit sets headcount; the traffic overlay tells you whether the constraint is staffing or selling. ## Turning Headcount Into Shifts: Coverage versus. When Sales Happen Headcount is a daily quantity; a schedule is a set of start and end times. Bridging the two is where lean mattress floors win or lose margin, because you rarely want your computed bodies spread evenly across an 11-hour day. Read the receipt curve. Mattress showrooms typically see light morning traffic, a build through midday, a strong late-afternoon-to-evening peak on weekdays (after work), and a sustained afternoon peak on weekends. Your own hourly data will confirm the exact shape. Schedule *to that shape*, not to store hours. A concrete weekday pattern. Suppose a store computes to 2 reps for a Wednesday and is open 10 a.m.–8 p.m. Carrying two people flat means 20 paid rep-hours to cover a day whose selling is concentrated in maybe five of those hours. Instead: - One rep opens at 10 a.m. and works to close, holding coverage and catching the occasional morning shopper.
- The second rep comes in around 1–2 p.m. and overlaps the 3–8 p.m. peak, then leaves at close. That's roughly 10 + 6.5 = 16.5 rep-hours instead of 20 — a ~17% labor reduction on that store's Wednesday with *zero* loss of coverage during selling hours, because the cut came entirely out of the dead morning. A concrete Saturday pattern. A flagship computing to 5 reps on Saturday shouldn't put five people on the floor at 10 a.m. Stack them into the peak: two on at open, a third mid-morning, and the fourth and fifth arriving early afternoon to run the 1–6 p.m. crush, with the openers rolling off before close. You're spending the five bodies where the five bodies earn. Protect the "second up." The reason understaffing peak hours is so costly in bedding: when two prospects walk in and there's one rep, one gets ignored and often leaves. On a high-margin ticket, the abandoned up is a multi-hundred-dollar gross-profit loss — far more than the wage of the peak-hour rep you didn't schedule. This asymmetry is why you round *up* into the peak even when the daily average rounds down. Respect humane, legal shifts. Match the coverage to real people: - Build shifts of sensible length (many floors favor shorter, denser shifts over long flat ones — a rested closer at 6 p.m. outsells a drained one).
- Honor meal and rest break law for your state; a single-rep store needs a plan for how the floor is covered during that rep's break (a floating manager, a staggered second rep, or a posted "back in 15" policy for the true minimum-traffic hour).
- Watch overtime thresholds — pushing a rep past 40 hours to cover a peak can cost more than a scheduled part-timer.
- Avoid "clopening" and last-minute schedule churn. Predictable schedules measurably improve retention and sales in retail, and several jurisdictions now legally require advance-notice scheduling. The overlap window is your lever. In practice you'll manage the whole chain through two dials per store per day: the *base* count (the whole-body number from the division) and the *overlap* window (the hours a partial extra rep is added for peak). Tuning those two dials store by store is the entire job once the target is set. ## Edge Cases: Tiny Stores, New Locations, Seasonality, and Minimum Coverage The clean division covers the average store on an average day. Real chains have exceptions, and each has a standard handling. Very low-traffic stores. When a store's average daily gross profit is below your per-rep target, the math wants "less than one rep," which is impossible. Apply the coverage floor: schedule exactly one rep, and consider shortening hours or splitting the day around the store's true peak (open at noon instead of 10 a.m. if mornings are genuinely dead and your lease allows it). The honesty test is whether the store's gross profit covers even one rep's fully-loaded labor cost; if it chronically can't, that's a real-estate and viability question, not a scheduling one. Brand-new stores. A store open under a quarter has no reliable trailing baseline. Staff it from a *comparable* store's curve (a similar-format, similar-market location) for the first 60–90 days, then switch to its own data once you have a clean window. Expect to over-invest in bodies early — new stores need presence to build reputation — and taper as real numbers arrive. Seasonality and holiday events. Mattress demand is peaky around the big furniture/bedding sale weekends (Presidents' Day, Memorial Day, Fourth of July, Labor Day, Black Friday) and often soft in mid-winter and late summer. Don't let a promo weekend poison your baseline; staff those events off a *separate* event plan (typically your maximum feasible floor), and staff the ordinary weeks off the de-seasonalized baseline. A rolling window naturally adapts to slow seasons — as trailing gross profit dips, computed headcount dips with it — which is exactly what you want as long as you keep the coverage floor. Manager and non-selling roles. Decide whether the store manager counts as one of the computed selling bodies or sits on top. On a two-rep floor a working manager usually *is* one of the two; on a five-rep flagship the manager may be non-selling overhead. Be explicit, because double-counting the manager silently understaffs the floor. Deliveries, warehouse, and non-floor labor. The gross-profit division sizes *selling* coverage. If reps also handle receiving, staging, or loading, either fold that into the count (a busier store legitimately needs the extra hands) or staff it separately so floor coverage isn't quietly eaten by back-of-house tasks during peak. Minimum service and safety coverage. Beyond the one-body floor, some owners set a two-body minimum during specific high-liability windows (late evenings, single-female-employee-alone concerns, cash-heavy periods). That's a legitimate policy overlay — just recognize it as a *safety* decision layered on top of the economic one, and account for its cost deliberately rather than letting it creep across every store and every hour. ## Auditing and Adjusting the Model Over Time A staffing model isn't set-and-forget; it's a control loop. Build a light monthly review so the numbers stay honest. Track labor as a percent of gross profit, by store. The cleanest single health metric is scheduled (and actual) labor cost divided by gross profit, per store per week. If a store's labor-to-gross-profit ratio is climbing, you're either overstaffed or the store's selling has softened; if it's unusually low, you may be leaving sales on the floor by understaffing peaks. Compare stores against each other and against their own trend. Watch conversion during peak hours. Pull close rate (sales ÷ ups) for your peak windows specifically. If close rate sags exactly when traffic is highest, that's the signature of understaffed peaks — prospects arriving faster than reps can greet them. That's your cue to add peak overlap even if the daily average didn't demand it. Re-pull the trailing window monthly. Because you schedule off trailing gross profit, refreshing the window each month lets the model breathe with the business — a store trending up earns more bodies automatically, a fading store sheds them. Automate the export so this is a five-minute task, not a project. Re-tune the target quarterly, tools and data in hand. Recompute observed gross-profit-per-rep-day from the last 90 days and compare to your target. Persistent, large gaps mean the divisor is wrong — margins shifted or your assumption about "average rep, average day" no longer holds. Adjust the single target and let it re-scale the chain. Keep a change log. When you move a store's base count or overlap window, note why and what happened to that store's sales and labor ratio over the next few weeks. Over a couple of quarters this log becomes your evidence base — it turns "I think we need another Saturday body at Store B" into "here's what happened the last three times we tried it." ## Tools to Run the Math and Publish the Roster You need two capabilities, and they're often two different tools: something to compute each store's per-day headcount from gross profit, and something to publish and manage the actual shifts (roster, swaps, time clock, mobile access). Keep the distinction clear when you shop. Compute layer. The division itself is simple enough to run in a spreadsheet: one row per store, columns for each day's trailing gross-profit average, a target cell, and a formula that divides and applies the max(1, …) floor. PULSE also offers a free browser-based Rep Scheduling Matrix built around exactly this method — you enter each store's trailing gross profit by day and your per-rep target, and it outputs the per-store, per-day headcount and lets you weight the result to peak hours. Whether you use a spreadsheet or a purpose-built calculator, the important thing is that the *headcount comes from gross profit*, not from habit. Publish-and-manage layer. Most general workforce-scheduling apps do not compute headcount to sales for you — you bring the numbers, they handle rosters, swaps, notifications, and time tracking. For lean multi-store bedding chains, the practical selection criteria are: - Pricing model that fits tiny crews. Per-*user* pricing tends to stay cheap when each store carries only one or two reps (tools like *When I Work* and *Sling* are commonly used here, and several offer free or low-cost tiers for small teams). Per-*location* pricing (as with *Homebase*, which offers a free single-location tier) can be more economical when you have many small stores and don't want the bill to rise every time you add a light second rep — but per-location fees add up as store count grows.
- Demand-aware scheduling, if you want the software to help staff to sales. A few platforms (for example *Deputy* and *Workforce.com*) connect to your POS and propose coverage against forecast demand. That's the closest off-the-shelf approximation of the gross-profit method, useful once you're managing many stores and want the tool to suggest deeper weekends and leaner weekdays automatically. It costs more and takes integration effort.
- Multi-site reporting. District managers need to compare stores and see labor-vs-sales from one screen. Lighter tools publish rosters well but report thinly; heavier multi-site platforms report deeply but are more than a two- or three-store chain needs.
- All-in-one operations breadth. Some apps (such as *Connecteam*) bundle scheduling with checklists, training, and messaging, doubling as a store-operations app — handy for onboarding new reps and coordinating deliveries, though scheduling is one feature among many rather than the core.
- Enterprise scale. Very large showroom groups with complex coverage rules and formal labor budgets sometimes move to enterprise workforce platforms (e.g., *Shiftboard* or Fourth's *HotSchedules*), which enforce labor budgets to target and forecast deeply — overkill for a small chain, appropriate once you run many high-volume locations. The rule of thumb: compute the headcount from gross profit first (spreadsheet or the free Matrix), then pick the lightest publishing tool that covers your store count and reporting needs. Don't buy a demand-forecasting platform to avoid doing the one line of division — the division is the part that makes the schedule *right*, and no tool does it better than your own gross-profit data.

Sources
- Pavilion — revenue leadership community: https://www.joinpavilion.com/
- RevOps Co-op — practitioner resources: https://www.revopscoop.com/
- SaaStr — scaling go-to-market: https://www.saastr.com/
- Harvard Business Review — leadership & org design: https://hbr.org/
flowchart TD
S["How Do I Decide How Many Reps to Sched"]
S --> N0["Assess"]
N0 --> N1["Plan"]
N1 --> N2["Build"]
N2 --> N3["Measure"]
N3 --> N4["Improve"]
flowchart LR
C["How Do I Decide How Many Reps to Sched"]
C --> H0["Assess"]
C --> H1["Plan"]
C --> H2["Build"]
C --> H3["Measure"]
C --> H4["Improve"]
Related on PULSE
- [How Many Cashiers Should I Schedule Each Shift at My Convenience Store Chain?](/knowledge/tl0061)
- [How Many Employees Should I Schedule Each Day at My Grocery Store?](/knowledge/tl0062)
- [How Many Salespeople Should I Schedule Each Day at My Sporting Goods Store?](/knowledge/tl0074)
- [How Many Salespeople Should I Schedule Each Day at My Shoe Store?](/knowledge/tl0075)
- [How Do I Know Where, When, and How Many People to Schedule at Each of My Multi-Unit Retail Locations?](/knowledge/tl0001)
- [How Do I Figure Out How Many Reps to Schedule at Each of My Multi-Unit Cell Phone Stores?](/knowledge/tl0006)
Download:
Was this helpful?
Want this on your phone?
Download the whole page as a PDF to keep — just $1.
Read it free — or make it yours for $1.
Send $1 on Venmo
Then the full PDF — all 10 with pictures — opens right away.
Pay $1 with Venmo →@Kory-White- · if Venmo asks, the last 4 of my number are 2012
Changed your mind? Use your browser’s back button.









