# Comparing your locations fairly: the numbers and the formulas

*Guides · Mays Team · October 11, 2026*

![Mays cover card: Comparing your locations fairly: the numbers and the formulas — Same definitions, same weeks, and the numbers each manager controls](https://mays-uploads.s3.us-east-2.amazonaws.com/site/blog__comparing-restaurant-locations-fairly__cover.bf3e0c9e2f.png)

*This is part 5 of 7 in our series* Running a multi-location restaurant group. *Earlier:* [*what changes for the owner*](https://www.mays.app/blog/second-restaurant-location-owner-role)*,* [*standardizing across stores*](https://www.mays.app/blog/standardizing-recipes-checklists-training-across-locations)*,* [*sharing staff*](https://www.mays.app/blog/sharing-staff-between-restaurant-locations-overtime) *and* [*hiring a general manager for each store*](https://www.mays.app/blog/hiring-general-manager-each-restaurant-location)*.*

Once you have two stores, you'll compare them. Everyone does. The trouble is that a raw comparison is usually unfair: a bigger store sells more, an older store has regulars, a store with higher rent makes less profit however well it's run. Compare raw numbers and you'll praise the manager with the easy store and blame the one with the hard one.

This post covers which numbers to compare, the formula for each, and six rules that keep the comparison fair. Every figure is hypothetical. For the weekly routine around these numbers, see [the owner's weekly check](https://www.mays.app/blog/multi-location-owner-weekly-check-template).

## The numbers to compare

| Number | Formula | What it tells you |
| --- | --- | --- |
| Net sales | Gross sales − discounts, comps and refunds (before tax and tips) | How much the store sold |
| Same-store sales growth | (This period's net sales − the same period last year) ÷ the same period last year | Whether a store open a full year is growing |
| Sales per open hour | Net sales ÷ hours open | Sales, adjusted for different opening hours |
| Average ticket | Net sales ÷ number of transactions | How much each guest spends |
| Labor % | Labor cost ÷ net sales | Labor against sales ([labor cost percentage](https://www.mays.app/blog/labor-cost-percentage-weekly-review)) |
| Sales per labor hour | Net sales ÷ hourly labor hours | Labor productivity that doesn't move with wage rates |
| Food cost % | Cost of goods sold ÷ net sales | What the food and drink cost against sales |
| Prime cost % | (Cost of goods sold + labor cost) ÷ net sales | The two biggest costs together ([weekly prime cost](https://www.mays.app/blog/prime-cost-restaurant-weekly)) |
| Occupancy % | Rent, common area charges and property costs ÷ net sales | A cost the store's manager mostly can't change |
| Store contribution | Net sales − cost of goods − labor − occupancy − other store costs | What the store earns before the group's shared costs |

For cost of goods sold with more than one store, use: **opening inventory + purchases + transfers in − transfers out − closing inventory**. The transfers matter more than they look. If North sends South $1,500 of milk and cups in a month and nobody records it, North's food cost looks $1,500 too high and South's $1,500 too low. On the sales below, that's 1.25 points on North and 1.79 points on South, enough to reverse the ranking.

Our post on [the manager's numbers](https://www.mays.app/blog/restaurant-manager-numbers-labor-food-cost-splh) covers labor %, food cost % and sales per labor hour for one store in more detail.

## Six rules for a fair comparison

1. **Write the definitions down, once, for every store.** What's in net sales (after discounts, before tax and tips)? What's in labor cost (wages only, or the manager's salary, payroll taxes and benefits too)? Which day are the counts done, and which invoices count in which week? A two-point gap in labor % can be a definition, not a performance.
2. **Compare the same periods.** The same weeks, with the same number of each weekday. Use four-week periods or a rolling 13 weeks for anything you'll act on; single weeks are noisy. Watch for a holiday that lands in one store's busy daypart and the other store's quiet one.
3. **Use per-hour and per-guest measures** when stores differ in size or hours. A store open 11 hours a day can't match the sales of one open 14, but it can match its sales per open hour.
4. **Judge young stores against their own plan,** not against mature ones. Decide when a store becomes comparable, for example after a full year open, and until then compare it with its forecast and its own month-to-month trend.
5. **Separate what the manager controls from what they don't.** Labor %, food cost %, waste, checklist completion and reviews are the manager's. Rent, the building and the trade area are yours.
6. **Act on trends.** One bad week is a question. Four weeks in a row is a conversation.

## A worked example

Four weeks at three hypothetical stores. North has been open three years, Old Town two, and South eight months.

|  | North | Old Town | South |
| --- | --- | --- | --- |
| Net sales | $120,000 | $96,000 | $84,000 |
| Hours open | 392 (14 a day) | 308 (11 a day) | 392 (14 a day) |
| Transactions | 9,600 | 7,000 | 6,000 |
| Hourly labor hours | 2,000 | 1,600 | 1,600 |
| Labor cost | $36,000 | $28,800 | $28,000 |
| Cost of goods sold | $34,800 | $27,840 | $25,200 |
| Occupancy | $9,000 | $7,200 | $12,000 |
| Other store costs | $12,000 | $9,600 | $8,400 |

The numbers that follow:

|  | North | Old Town | South |
| --- | --- | --- | --- |
| Sales per open hour | $306 | $312 | $214 |
| Average ticket | $12.50 | $13.71 | $14.00 |
| Sales per labor hour | $60.00 | $60.00 | $52.50 |
| Labor % | 30.0% | 30.0% | 33.3% |
| Food cost % | 29.0% | 29.0% | 30.0% |
| Prime cost % | 59.0% | 59.0% | 63.3% |
| Occupancy % | 7.5% | 7.5% | 14.3% |
| Store contribution | $28,200 (23.5%) | $22,560 (23.5%) | $10,400 (12.4%) |

What the raw numbers say: North sells the most, Old Town sells a fifth less than North, and South earns less than half of North's contribution.

What the fair comparison says:

- **Old Town isn't the weaker older store.** It sells more per open hour than North, at the same labor and food cost, and earns the same 23.5% contribution. It's smaller and open fewer hours, that's all.
- **Most of South's gap isn't the manager's.** Its occupancy is 6.8 points higher than North's, a lease decision. Its average ticket is the highest of the three.
- **But South's prime cost is 4.3 points higher,** and that part is the manager's. Sales per labor hour of $52.50 against $60.00 at the others says the schedule hasn't caught up with sales yet. That's the conversation for South's one-on-one, along with its sales against its own opening forecast.

## Shared costs: when to allocate them

The group also has costs no single store causes: your own salary, bookkeeping, a shared marketing budget, an area manager.

- **To compare how well stores are run,** leave shared costs out. They don't change with anything a store manager does.
- **To ask whether a store makes money for the group,** allocate them with a simple, written rule, such as each store's share of sales. With $12,000 of shared costs over the four weeks and $300,000 of total sales, North carries 40% ($4,800), Old Town 32% ($3,840) and South 28% ($3,360). South's $10,400 contribution becomes $7,040 after its share.

Use the same rule every period, or the comparison moves for reasons that have nothing to do with the stores.

## Where Mays fits

- **Insights by location.** **Prime Cost**, **Labor Cost** and **Vendor Spend** have a **Branches** list under **Filter data**. Ticking several stores adds them together, so to compare, look at one store at a time. Prime Cost needs your POS connected, and labor cost doesn't include payroll taxes or benefits. Insights is for admins by default. See [Prime cost](https://www.mays.app/help/reports-insights/prime-cost).
- **Reports in your inbox.** A scheduled report under **Insights → Alerts & Reports** goes out weekly or monthly. Pick **Specific locations** and make one report per store to compare them; one report with several stores shows their totals, and a report set to **All locations** currently arrives with zeros. See [Alerts and scheduled reports](https://www.mays.app/help/reports-insights/alerts-and-scheduled-reports).
- **Transfers in food cost.** Posted transfers appear in the **Transfers** column of **Inventory → Theoretical** at both stores, so each store's usage accounts for what it sent and received. See [Theoretical vs actual usage](https://www.mays.app/help/inventory/theoretical-vs-actual-usage).
- **Today at a glance.** The **Dashboard** opens on **All Locations**, and with Square connected, **Show per-location breakdown** splits today's sales by store.
- **Your own comparison.** **Insights → Custom Reports** builds a report from a sentence, such as *net sales by location for last month*. See [Custom reports with Mays AI](https://www.mays.app/help/reports-insights/custom-reports-with-ai).

What Mays doesn't do: there's no single page that puts every store's numbers side by side, so the comparison table above still lives in your spreadsheet.

## Your comparison checklist

- Written definitions of net sales, labor cost and cost of goods, the same for every store
- Transfers in and out recorded in each store's cost of goods
- The same periods, four weeks or longer, for anything you act on
- Per-hour and per-guest measures next to the totals
- Young stores compared with their own forecast and trend
- The manager's numbers kept apart from the owner's
- Shared costs left out, or allocated with one written rule

## Compare stores on the numbers that matter

Filter Insights by store, schedule a report for each one, and count transfers on both sides.

[**Start your free trial**](https://go.mays.app/register): 30 days, every module, no card needed. Or [book a walkthrough](https://www.mays.app/book?from=blog-comparing-restaurant-locations-fairly) and we'll set up a report for each of your stores.

## Related help articles

- Reports & insights: [Prime cost](https://www.mays.app/help/reports-insights/prime-cost) — Prime Cost puts each day's sales next to its labor cost and theoretical food cost, and shows the share of sales each one takes. Web app, admins by default.
- Reports & insights: [Labor cost insights](https://www.mays.app/help/reports-insights/labor-cost-insights) — Labor Cost compares staffing with sales hour by hour, scheduled hours with hours worked, and tracks labor cost as a share of sales over time. Web app, admins by default.
- Reports & insights: [Alerts and scheduled reports](https://www.mays.app/help/reports-insights/alerts-and-scheduled-reports) — Get a notification when labor runs hot, a vendor raises a price or a form reading is out of range, and have a labor, prime cost or vendor spend summary emailed every week or month.
- Getting started: [The operations dashboard](https://www.mays.app/help/getting-started/your-dashboard) — The Operations Dashboard is the web app's home page — today's checklists at every location and how far along they are, what your team just completed, and today's Square sales.
- Inventory: [Theoretical vs actual usage](https://www.mays.app/help/inventory/theoretical-vs-actual-usage) — Compare what your sales say you used with what you actually used. The Theoretical page shows each ingredient's deliveries, waste, transfers and recipe use.
- Reports & insights: [Custom reports with AI](https://www.mays.app/help/reports-insights/custom-reports-with-ai) — Describe the report you want to Mays AI, save the answer under Insights → Custom Reports and share it with your team. Building a report uses AI credits.

Canonical: https://www.mays.app/blog/comparing-restaurant-locations-fairly
