Portfolio project 02 · Small business operations
Willow Café
Finding the hours and the waste hiding in a weekly report
Sample project using synthetic data. Willow Café is a fictional café, and every number on this page is made up to show how I work.
The situation
Willow Café is a small café that is open from 7 am to 2 pm, seven days a week. Sales were growing, but the owner could not tell whether the business was getting healthier. Labor felt expensive. Waste felt random. The numbers lived in three places: the point of sale, the schedule, and a waste log on a clipboard.
I built one weekly review from those three sources, then looked for the few things worth changing.
What I looked at
Eight weeks, from the week of September 7 to the week of October 26:
- Hourly sales and transactions
- Scheduled staff for every hour
- Daily waste cost in four categories: bakery, dairy, produce, and prepared food
I used a labor cost of $20 per labor hour, a labor target of 30% of sales, and a weekly sales goal of $18,000. These are example numbers for this project. A real café would use its own.
What I found
1. Sales were growing faster than labor cost was shrinking
Weekly sales rose from $16,900 to $18,400, up 8.9%. Labor as a share of sales moved from 35.6% to 34.0%. That is real progress, but the café was still about four points above the 30% target in its best week, and it reached the $18,000 sales goal only once.
Sales grew 8.9% in eight weeks, and labor share fell only 1.6 points
Weekly sales and labor cost as a percent of sales (synthetic data)
2. The same crew was too big for some hours and too small for others
The schedule looked almost the same from hour to hour: about five people on shift from 7 am to 1 pm every day. Sales do not look like that. On weekdays at 10 am, labor cost was 55% of sales. On weekends at 10 am, it was 17%. Weekday mid-mornings were overstaffed, and weekend mornings, when the café is busiest, were running thin.
At 10am, labor is 55% of sales on weekdays and 17% on weekends
Labor cost as a percent of sales by hour, 8-week totals (synthetic data)
3. Waste had a pattern, and a recent spike had a cause
Weekly waste stayed between $370 and $440 for seven weeks, then hit $460 in week 8. Bakery accounted for $83 of the $90 increase. Waste also leaned toward slow days: Tuesday and Wednesday made up 41% of waste cost, while Saturday and Sunday, which bring in more than a third of sales, made up 20%. That points to baking for a busy day on a slow one.
Waste jumped $90 in week 8, and bakery was almost all of it
Weekly waste cost by category (synthetic data)
What I would change
I tested one scenario: size the crew to the average sales in each hour, keep at least 3 people and at most 6 on shift, and leave prep and close hours alone.
Drop from 5 people to about 3
Go from 5 people to 6
Fall from 313 to 291, which is 22 fewer
Falls from $6,260 to $5,820, a saving of $440
On week 8 sales, labor as a share of sales falls from 34.0% to 31.6%. The scenario does not reach the 30% target, and I would not pretend it does. Getting there would take other changes too, such as pricing, menu mix, or more weekday traffic.
Matching staff to demand frees up about 22 labor hours a week
Average staff on shift by hour: current schedule and scenario schedule (synthetic data)
What the owner gets each week
A one-page weekly review with five numbers: sales against goal, labor percent of sales, the hours that were over or under staffed, waste cost with the biggest category, and what changed since last week. The supporting workbook recalculates when new data is pasted in, so the review takes minutes, not an evening.
What I would check before acting
- Whether weekday mid-morning really is slow in the café’s own experience, or whether prep and cleaning work happens then that the sales numbers do not show
- Whether a smaller weekday crew still keeps wait times where the owner wants them
- Whether the week 8 bakery spike was a one-off, such as a large bake for an event that did not happen, or a new habit
- Whether the example $20 labor rate and 30% target match the café’s real costs
Tools
Excel (live formulas and weekly summaries), Python (pandas, matplotlib), and a written weekly summary in plain language.
Want a weekly review like this for your business?
I work with small businesses that have the data but not the time to read it. Tell me what you track today and what you wish you knew, and I will send back a project quote.
Request a project quote →This case study uses synthetic data for a fictional business. It shows my method, not results from a real client.