
Guides
A monthly KPI routine for a coffee shop for first-year owners
A monthly KPI register for a coffee shop: each measure with its formula, its data source, and the specific action it should trigger when it moves.
What to take away
- A measure that changes no decision is not a measure. Every row below names the action it triggers.
- Track by block, not by day. Daily averages hide the morning, which is where the business is.
- Nine numbers is enough for a single shop. More than that and none get read.
- Write the formula and the source down once, so this month is comparable to last month.
- Every figure is yours. No benchmarks appear here, because a borrowed benchmark carries somebody else's rent and volume.
The register
Fill the last two columns from your own systems. The middle columns are the part that transfers.
Monthly KPI register
- Transactions per open hour, by block
- Average sale value, by block
- Contribution per transaction
- Peak queue clearing time
- Theoretical against actual usage
- Waste by item and reason
- Labor cost per open hour
- Second visit rate within fourteen days
| Measure | Formula | Source | Triggers |
|---|---|---|---|
| Transactions per open hour, by block | Transactions divided by hours in block | Timestamped sales export | Staffing and opening hours |
| Average sale value, by block | Net sales divided by transactions | Sales export | Menu layout and bundles |
| Contribution per transaction | Average sale minus ingredient and packaging cost | Sales export plus recipes | Pricing and mix |
| Peak queue clearing time | Stopwatch, weekly, same day and hour | Manual | Layout, staffing, menu speed |
| Theoretical against actual usage | Recipe usage minus counted usage | Recipes plus stock count | Pour discipline, receiving |
| Waste by item and reason | Sum of waste log | Waste log | Order sizes, training, rotation |
| Labor cost per open hour | Loaded labor cost divided by open hours | Payroll plus schedule | Scheduling and hours |
| Second visit rate within fourteen days | Repeat customers divided by new customers | Loyalty timestamps | Service and recognition |
| Occupancy cost per open hour | Fixed occupancy cost divided by open hours | Lease and bills | Opening hours, and whether to renew |
Nine rows. Print it, fill it monthly, and keep the sheets in order so a trend is visible without building anything.
Read them in pairs
Single numbers mislead. Pairs tell you what actually happened.
KPI pairs and what they mean
Measure pair
- Transactions per hour + queue time
- Rising sales, slower queue = capacity ceiling
- Contribution + usage gap
- Falling contribution, wider gap = pour problem
- Labor cost + transactions by block
- Shows if a quiet block should be shorter
- Second visit rate + average sale
- Rising sale, falling return = priced past demand
What it tells you
- Transactions per hour + queue time
- Contribution + usage gap
- Labor cost + transactions by block
- Second visit rate + average sale
- Transactions per open hour with peak queue clearing time. Rising transactions and a slower queue means you are at the ceiling, and the answer is capacity rather than marketing.
- Contribution per transaction with theoretical against actual usage. A falling contribution with a widening usage gap is a pour problem, not a supplier problem.
- Labor cost per open hour with transactions per open hour, by block. This is what tells you whether a quiet block should be shorter.
- Second visit rate with average sale value. A rising average sale and a falling return rate usually means you have priced or upsold past what people came for.
The second pair is the one that saves the most money, because repricing to cover a pour problem raises the price and leaves the problem in place.
What each measure needs from your systems
None of this works without timestamped transaction export and recipes entered by weight or volume. Those two are the foundation, and a system that lacks either cannot produce four of the nine rows. That specification is set out in what a coffee shop system has to record.
System requirements for KPI data
- Timestamped transaction export
- Recipes entered by weight or volume
- Stock counts taken on a routine
- Waste log kept by a named person
Stock counts and the waste log are manual inputs, taken on a routine by a named person. The routine is in how a shop counts stock and logs waste, and the discipline matters more than the frequency: two counts taken differently are two numbers, not a trend.
Records behind the numbers
Keep the sales exports, invoices, counts and payroll records that the register rests on. The Internal Revenue Service page on what kind of records to keep sets out the general expectation that a business supports its figures with documents. It is also what lets you answer, six months later, whether a cost actually moved.
Where a measure depends on a certificate or a permission remaining valid, keep that in the register of permissions the shop holds rather than in the KPI sheet. They are different documents with different review cycles.
Protecting the data the register uses
Sales and customer records make a shop worth attacking, and small businesses are targeted because they are assumed to be unprotected. The National Institute of Standards and Technology publishes small business quick-start guides aimed at exactly this position.
Apply the basics they describe, and limit who can see what. A part time employee needs the till, not the reporting, and access levels belong in induction alongside the standard a new starter is taught.
The specifications that are not KPIs
Product information sits outside the register but must be findable during service. The FDA's questions and answers on food allergens covers the federal framework for labeled packaged food.
Your health department sets what you must disclose about drinks assembled at a shared bar. Whoever works the counter should check rather than guess.
Reviewing the register itself
Once a year, ask of each row whether it changed a decision in the last twelve months. If it did not, either the measure is wrong or nobody is acting on it, and both are reasons to remove it.
Add a row only when you can name the action it triggers. A shop considering a second site will need a small number of new rows about the second bar, since the two do not share a peak, which is part of what expansion actually demands.
Common questions
Should I compare my numbers against industry benchmarks?
Sparingly. Rent, wages, volume and menu differ so much between shops that a benchmark is mostly noise. Your own trend is the useful comparison.
How long before the numbers mean anything?
Three months gives you a shape and six gives you seasonality. Until then, read them for obvious faults rather than for trends.
Who should fill the register in?
One named person, at the same point each month, from the same sources. Rotating the job produces inconsistent numbers that look like changes in the business.







