How Do I Decide How Many Reps to Schedule at Each Store in My Mattress Retail Chain?
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. ```mermaid
flowchart TD A[Pull each store gross profit by day of week] --> B[Set a per rep daily gross profit target] B --> C[Divide store daily gross profit by the target] C --> D[Headcount per store per day] D --> E[Overlay the hourly receipt curve] E --> F[Weight bodies to weekend and evening peaks] F --> G[Publish shift by shift schedule] G --> H[Review actuals monthly and re-tune the target] H --> B
- 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. ```mermaid
flowchart TD A[Daily headcount from the division] --> B{Whole number or fractional} B -->|Whole| C[Schedule that many reps] B -->|Fractional| D[Schedule the floor count all day] D --> E[Add a partial rep only for the peak window] C --> F[Overlay the hourly receipt curve] E --> F F --> G{Single rep store} G -->|Yes| H[Add a break coverage plan] G -->|No| I[Stack extra bodies into peak hours] H --> J[Publish shifts with advance notice] I --> J
- 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/
Related on PULSE
- [Related CRO Pulse Tools tl0006](/tools/tl0006)
- [Related CRO Pulse Tools tl0007](/tools/tl0007)
- [Related CRO Pulse Tools tl0008](/tools/tl0008)
- [Related CRO Pulse Tools tl0004](/tools/tl0004)
- [Related CRO Pulse Tools tl0003](/tools/tl0003)










