Labor-management

All Help Topics

Labor Management

The full labor workflow — set the weekly projection, distribute hours across the day, post the schedule, check the matrix, then cut/add intraday as sales come in.


How labor flows through the app

Labor is six steps in order. Each step feeds the next, so doing them in sequence is what keeps the schedule, the model, and the day-of decisions talking to each other.

  1. Schedule Guidance — set the weekly sales projection per store.
  2. Suggested Distribution — get the hours-per-hour deployment.
  3. GM builds the schedule in 7Shifts.
  4. Schedule Matrix — check the posted schedule for over/under days.
  5. Schedule vs Model — drill into a flagged day to find where it's off.
  6. Intraday Labor — cut or add as sales come in.

1. Schedule Guidance — set the weekly sales projection

This is where every week starts. You set (or accept) the weekly sales projection per store. Everything downstream — daily hours, suggested distribution, schedule matrix, intraday cut/add — is anchored to it.

Steps:

  • Open Labor Management → Schedule Guidance.
  • For each store, click Edit to adjust the weekly sales projection. Three reference values are shown to help you decide:
    • L7Last 7 days actual sales (what the store just did).
    • N7Next 7-day forecast (the upcoming week from the weather-demand model, weather-adjusted).
    • F7Forecast days 8–14 (the week after — useful for spotting a trend, holiday lift, or storm).
  • Adjust the projection if you have context the forecast can't see — an event, school break, local closure, big weather event, etc. If nothing's special, N7 is usually a safe default.
  • Hit Save and Submit to write it to the DB.
  • Click 📄 Generate Report to see the daily hour projection — your weekly projection broken down day by day, using the labor model and your store's day-of-week (DOW) weights. This is the per-day hour budget every downstream view consumes.

Math reference: Key Formulas → Schedule-guidance weekly sales target and DOW weights.

2. Suggested Distribution — deploy the hours across the day

Now that each day has a total hour budget, Labor Management → Suggested Distribution tells you how to spread those hours across the open hours of the day.

The model uses your store's hourly sales distribution curve — store- specific, season-aware (offseason Sep–Apr / summer May–Aug), and shaped per day-key (Sun / Mon–Thu / Fri / Sat). So labor is concentrated in the hours your store actually does business, not on a flat curve.

This is the GM's deployment guide: "you have 50 hours today — here's roughly how to lay them across the day."

Math reference: Key Formulas → Hourly sales distribution and Pace by hour — sample curve.

3. GM builds the schedule

The GM uses the suggested distribution as the starting point and builds the actual schedule in 7Shifts — accounting for who's available, role requirements, training shifts, minimum coverage at peak, etc.

The suggested distribution is guidance, not a hard rule. The GM applies real-world judgment for service quality, role mix, and minimums. The model's job is to anchor the numbers; the GM's job is to make the floor work.

4. Schedule Matrix — spot day-level errors

After the schedule is posted in 7Shifts, come back to Labor Management → Schedule Matrix. The matrix lays out every day of the week side-by-side showing:

  • Planned hours (what the GM scheduled).
  • Model target hours (what the model says is needed at the projected sales level).
  • Variance — how far over or under plan each day is.

Days that are over or under tolerance are flagged so you don't have to hunt. Run this check before the week starts — it's much cheaper to fix the schedule on Sunday night than to scramble cuts and adds mid-day.

5. Schedule vs Model — diagnose where the GM is off

If a day shows up flagged on the schedule matrix, drill into the Schedule vs Model table — same Labor Management area, beneath Suggested Distribution.

This table breaks the flagged day down hour by hour: each row shows scheduled hours vs the model's suggested hours for that hour. Common things it surfaces:

  • Too many hours in the morning lull.
  • Not enough hands at the lunch peak.
  • Closing crew over-scheduled.
  • A coverage gap mid-afternoon.

The schedule matrix tells you how much a day is off; the schedule-vs-model table tells you when — exactly which hours are over or under.

6. Intraday Labor — cut or add as the day unfolds

Once the day starts, Labor Management → Intra Day Labor watches actual sales come in and tells you in real time whether to cut or add labor versus the schedule. This is the day-of decision tool.

Intra Day Labor — Store 02 The Village, late evening

What every number means

Numbers below match the screenshot — Store 02 (The Village) shown at 8:40 pm, near close.

The three top cards

  • ADJ DAILY · $3,558 @ 8:40pm · 99% — the adjusted daily projection. The model's best guess at today's total sales given everything known so far. It blends real-time pace (sales-so-far extrapolated for the rest of the day) with the morning's weather forecast, weighting toward pace as the day progresses.

    The 99% is the fraction of the day's typical sales that should be in the till by this hour — basically how confident the pace number is. At 8:40 pm there's almost no day left, so ADJ DAILY is essentially the pace.

    Formula: Key Formulas → Intraday adjusted projection.

  • ACTUAL SALES · $3,536 (Revel @ 8:30pm) — the raw actual-sales total from Revel at the timestamp shown. If the source were 7Shifts instead of Revel, this number would be grossed up by 5% before any downstream math (7Shifts under-reports vs Revel by about that much). The "@ 8:30pm" is the freshness of the Revel cache — anything older than 25 minutes falls back to 7Shifts with a stale warning.

    Formula: Key Formulas → 7Shifts → Revel actual-sales gross-up.

  • FORECASTED · $2,483 (weather adjusted) — the weather-demand forecast for today's total sales, computed this morning before opening. "Weather adjusted" means it's already factored in today's temp, cloud cover, and rain. This is what the pace-vs-forecast blend leans on early in the day; by close it's almost irrelevant. If ADJ DAILY and FORECASTED are far apart, the day is running very differently from what the model expected.

The Sales / Cut–Add table

A bracketed lookup: "if the day lands at sales level X, you should be this many hours above or below the baseline schedule." The bracket nearest your ADJ DAILY is highlighted — that's the recommendation the rest of the screen is anchored to.

  • Numbers in red parentheses = cut amounts. (1.75) means "cut 1.75 hours below baseline."
  • Numbers in green = add amounts. +0.75 means "add 0.75 hours above baseline."
  • +0.00 is the neutral row (the baseline sales level for the day-key). Below it the table cuts; above it the table adds.

The bracket values are pre-computed per store from the DOW weights and the store's bracket table — they're not made up on the fly.

Formula: Key Formulas → Labor cut/add.

Labor Stats (right column)

  • TOT SCHEDULED · 54.5 hrs — total hours currently on the 7Shifts schedule for today, summed across all roles. The raw "what's on the floor today."

  • BUDGET HRS · 50.5 hrs — the budgeted hours for today, derived from the weekly sales target in Schedule Guidance (step 1). It's the bracket- lookup answer to "based on the week we planned, how many hours should today get?" Stable — doesn't move as today's sales come in.

  • SCHEDULE TARGET · 51.00 hrs — the model's target hours for the ADJ DAILY sales level, i.e. the live, smoothed bracket lookup. Unlike BUDGET HRS this does move during the day as ADJ DAILY moves. This is the number the cut/add recommendation is computed against.

    Formula: Key Formulas → Labor cut/add (scheduleHourTarget).

  • SALES TARGET · $23,000 — the weekly sales target for this store from Schedule Guidance (step 1). What you planned the week to do.

  • ADJ DAILY DOW · $23,301 — today's adjusted daily grossed up to an implied weekly using today's DOW share. If every day this week paced like today, the week would land near this number. Compare it to SALES TARGET — if it's well above, the week's running hot; well below, cold.

    Formula: Key Formulas → Labor cut/add (impliedWeekly = adjDailySales / (dowPct / 100)).

  • STARTING ADJ · +0.00 — any carryover adjustment from earlier in the day. Usually +0.00 at start of shift.

Weather Recovery Alert

An amber banner appears above the three top cards when today's weather is projected to swing materially between AM and PM at this store. It only fires when the swing would change the noon/4pm cut decision — small or ambiguous swings are ignored.

  • HOLD PM LABOR — AM weather suppresses demand, PM recovers. Don't cut PM staff on the morning's pace alone; the afternoon's about to come back.
  • CONSIDER CUTTING PM EARLIER — the inverse. AM is strong, PM fades.

The banner reads e.g. "AM −27.6% · PM −9.9% · Δ +17.7%" where the numbers are percentage-point swings vs. that store's seasonal demand baseline (temp 40%, cloud 50%, rain 10% weighting — the same weather-demand model that produces the FORECASTED card). Tap the banner to open an hourly audit showing per-hour temp, cloud %, rain mm, and the demand adjustment for each hour from open to close.

The trigger threshold is ±12 percentage points of AM→PM swing, and the suppressed side must be at least −8 to fire. Smaller swings don't move the cut/add call enough to be worth flagging.

Formula: Key Formulas → Weather recovery alert.

Suggested Shift Moves

When today calls for a cut, a sparkle chip appears next to the page title — e.g. "13.50 hr · 3 moves". Tapping it opens a modal with concrete shift-edit suggestions: "Push 9am → 11am · saves 2.0 hr". The modal has a List/Visual toggle in the header — List shows shift cards with role and reason, Visual renders a Gantt diff (dotted = original bounds, filled = adjusted bounds).

The algorithm follows the distribution rules and a few additional operational guardrails:

  • Peak lock (2pm–4pm) — never touched. Hard rule.
  • Floor — minimum 2 people at any moment outside peak, 3 during peak. Sub-hour resolution: a 11:30am-ending shift creating a 11:30am–12pm one-person gap is detected and blocked.
  • Opener buffer — opener (earliest start) can't be pushed later. The 1.0hr pre-open and 1.5hr post-close buffers stay intact.
  • Closer floor (≥ 2 at close) — the closing hour must always carry at least 2 staff. End-earlier cuts on closer shifts ARE allowed when 3+ closers exist (cutting one still leaves ≥ 2). With exactly 2 closers the cut is blocked. Cardinal "always 2 at close" rule.
  • AM-up / PM-down monotonic ramp — moves can't create a new dip in the AM ramp or a new bump in the PM ramp that wasn't already there.
  • Pre-9am-start shifts locked — staff who started before 9am are on the clock; the algorithm won't propose moves on those shifts.
  • GM and Supervisor never moved — managers carry open/close and MOD accountability. Hard skip in both directions.
  • Team Lead deprioritized when alone — if no GM/Supervisor is on shift through the entire proposed cut window, Team Lead moves are weighted at 0.4× so the senior body stays on the floor. Soft: a TL move can still appear if no Employee alternative fits.
  • Min shift 4 hr — resulting shift can't drop below 4 hours.
  • 15-min increments.

When the weather recovery alert fires, the algorithm biases its choice of moves to match the alert direction (Hold-PM → favor pushing AM starts; Cut-PM-Early → favor ending PM earlier). It does not change the total cut amount — that still comes from the bracket table on the weather-adjusted projection.

Each accepted move updates the schedule's cumulative state before the next candidate is checked, so a plan of three individually-safe moves can't combine to drop the floor below 2 people.

If every candidate move violates the rules, the modal opens with a per-rule rejection breakdown (e.g. "AM monotonic: 8 blocked, Floor: 2 blocked") instead of an empty list — telling you which rule is biting so the manual adjustment is targeted.

Formula: Key Formulas → Shift-move suggestion algorithm.

How to read this whole screen together

The day-of question: do I cut or add hours right now?

  1. Look at ADJ DAILY — that's where today is heading.
  2. Find that sales bracket in the table — the highlighted row shows the recommendation.
  3. Compare TOT SCHEDULED to SCHEDULE TARGET — that's the raw gap between what's on the floor and what the model wants.
  4. The bracket's (cut) or +add value is the adjustment to make.

If TOT SCHEDULED ≫ SCHEDULE TARGET → cut. If TOT SCHEDULED ≪ SCHEDULE TARGET → add. Apply judgment for service quality, training shifts, and minimums.

Weekly and monthly labor vs budget

After the day, week, or month closes, the Weekly and Monthly Labor views compare actual labor against the budget — green = under budget, red = over.

Two adjustments can appear:

  • Sr GM Adj — Senior GM hours removed from the store's labor actual (Sr GM payroll runs at the corporate level). Fetched live from 7Shifts so it stays clean across month boundaries.
  • Manual Adj — a hand-entered adjustment that moves labor dollars to or from corporate.

Formulas: Key Formulas → Senior GM hours adjustment, Labor delta vs budget, Midweek labor budget pacing, Monthly labor budget annualization.

New hire dashboard

Tracks employees still in their onboarding window so you can keep an eye on training and ramp-up.

Tip: do steps 1 → 5 at the start of the week (Sunday night is a great time), and check step 6 the same times you check the Dashboard — start of shift, mid-day, and a couple hours before close.