Skip to content

Analysis

A list of problems is not a plan

A frozen-food brand was paying for ads to bring in orders that, once shipped by air, lost money. Six findings ranked by impact, what we fixed first, and what we made wait.

The owner wanted more online orders. They were already paying for social ads, the store was live, the product was good. The ask was reasonable: turn it up.

We didn't start there.

A frozen-food brand sells at local markets, to a few wholesale accounts, and nationally from its online store. Online was the smallest slice of revenue and the fastest growing, which is exactly the slice an owner wants to pour fuel on. Before touching the fuel, we did what a decent doctor does with a new patient. Take the history. Run the tests. Rank what you find. Treat in that order.

The history

The history is what the owner believes is happening. It's sincere, it's useful, and it's usually wrong in ways you can't predict. Three numbers came up in the first meeting. Here they are next to the order export for June through August.

The owner's estimateThe records
Orders shipped by two-day airabout 80%69% (86 of 124 paid orders)
Repeat customers2 to 3%7% (8 of 111 paid customers)
Online share of revenueabout 10%about 15%

All three were off. Not in the same direction. The owner guessed high on air and low on everything else, which is not the pattern of someone fooling themselves. Nobody here was careless. Memory is just a bad instrument for ranking levers, and ranking levers was the whole job.

The tests

One order export, June through August, plus the carrier's published rates and the business profile data from Google. A spreadsheet and an afternoon. What came out, ranked by what each item was worth, is below. The ranking is the point. The list is just the list.

1. Shipping ate the margin on most orders

Every order paid a flat $14.99 for shipping. Nearby states could go ground for close to that. Everywhere else needed two-day air so the food arrived frozen, and two-day air for a cold box runs about $38.

Shipping only$38 air label minus $14.99 collected, about $23 short per air order

With 69% of orders going air, that's about $1,900 a quarter in shipping the customers didn't pay for, pending the carrier invoices. The first number I calculated was $2,800. It was too high: the carrier refunds reships of late deliveries, and some of the $0 shipments were samples or split orders, not paid sales. The first number you calculate is usually not the number.

Did the food cover the gap? Mostly. By the owner's own cost sheet, an air order cleared about $10 after food, packaging and the label. That $10 then had to absorb two things the sheet didn't model: free replacements (finding 2) and the cost of the ad that brought the order in, which ran $25 to $40 on social. One in three orders came from those ads, and most of those went air.

So the honest version: the average air order was about break-even, and every air order bought with an ad lost money. That's why this went first. More paid marketing wouldn't have grown the business. It would have bought more of the orders that lose.

2. Free replacements were the most expensive line in the channel

Boxes that thawed or arrived late got reshipped free. In the quarter that was 17 free replacement orders against 124 paid ones, 13.7%. A carrier refund on a late box doesn't make the second batch of food and packing free.

Nobody had that number before, because the free orders used the same coupon as samples and looked like noise. Once they were their own line, the treatment was obvious: ship only early in the week so boxes don't sit in a truck over a weekend, look at the box and the dry ice, and track the replacement rate monthly. Goal: under 5%.

3. The repeat-business engine was built and switched off

The abandoned-cart email and the 30-day restock email had been set up in their email tool months earlier. Neither was turned on. One hundred and three customers bought once in the quarter and never heard from the brand again.

Zero build cost, biggest lever on repeat purchases, sitting there the whole time. This happens more than anyone admits. Tools get bought, flows get drafted, and the switch never gets flipped because launch week got busy.

One finding here stayed honest longer than I wanted it to. The site's own system emails were failing. The owner said customer order emails were going out fine. Both could be true if order emails route differently, so we didn't call it either way until we tested it with a real order. Good diagnosticians don't announce a result before the test comes back.

4. Their warmest buyers were being sent to someone else

Search the product by name on Google and the only shopping results were a reseller's listings of their own product. Nothing from their own store. Free Google Shopping listings were available and off.

Meanwhile about $1,300 a month went to social ads and their management. Interruption advertising, aimed at people who weren't looking, while the people who were looking got handed to a reseller for free. Their business profile said the same thing: 154 searches in three months, every one for the brand's own name. Nobody found them by searching for what they sell.

Capture the people already searching for your product, which costs nothing, before you pay to interrupt people who aren't. Whether to keep the agency was the owners' call. We put the numbers side by side and let them read.

5. The store had silent bugs

The checkout defaulted every customer to California. The main shop page was dead. Checkout cheerfully accepted addresses in states a frozen box can't reach. All three were settings. No rebuild, no developer invoice.

6. Housekeeping

An old business name on one social profile, a duplicate account, a stale address on a review site. Real, small, last on purpose.

What we made wait

Paid Google Ads. Subscriptions. A site redesign. Any increase in social spend.

Every one of those is a fine idea for a store that makes money on each order, and none of them is for a store that doesn't. They stay on the shelf until the top of the list is fixed. Finding more things to work on is easy. Deciding which ones get the owner's attention and money next is the work.

The treatment for number one

Three options, modeled:

  1. Raise the flat rate.
  2. Price by zone, so ground stays cheap and air pays its own way.
  3. Fold shipping into the product, with an offer built to carry it.

The owners didn't get there in one step, and I'd have been suspicious if they had. When the shipping math went up on the screen, the owner said it before I could.

The more I sell, the more money I lose.
The owner, when the shipping math went up on the screen

The pushback was on price. He was at about $12 a bag with shipping folded in, grocery store brands sit under $10, and a few reviews had already mentioned price. His first counter was a smaller air charge that still lost about $12 a box.

The turn came near the end of the call, when he reframed it himself: a box with a slightly higher price per bag and shipping priced for what it costs. He asked for a way to revert if sales fell. We kept one.

They chose the third option. One box, eight bags, priced a little over $100, free shipping anywhere in the lower 48. Free shipping applies only when that box is in the cart; anything else pays its way. The average online order before was about $80, as the owners reported it, so the box asks for a little more and gives a lot more.

The math, from the owner's own cost sheet using the most expensive flavor: after food, packaging, dry ice, card fees and the air label, an air order now clears roughly $20 to $25 instead of $10, and a ground order about twice that. Blended across their mix it lands in the high twenties as a percentage, before advertising and replacements. The new box also fits under the carrier's oversize threshold, which ends a surcharge the old box kept tripping.

The caveat

Ranking by impact can mislead in three ways.

A small fix can unblock a big one. Fixing the dead shop page was a five-minute setting change and worth very little on its own, but every other change on the list ran through that page. It went first in execution even though it was fifth in impact.

A lever you can't measure yet is not a lever worth zero. The free listings on Google showed no revenue because they were off. The ranking says "turn them on, then measure," not "ignore them because the cell is blank."

And when the price change gets judged, order count alone won't settle it. Fewer orders can leave more money; a better margin per order can still leave less in total. The number to watch is what all the orders leave after their costs, replacements and advertising included.

How to run this on your own store

Start with an order you're paying to bring in.

  1. Count what the customer pays, product and shipping.
  2. Subtract product, packing, delivery, payment fees, and an allowance for replacements.
  3. Compare what's left with what the ad cost.
  4. Keep orders with different delivery costs separate, and check your repeat rate before assuming a customer will make up the difference later.

Then take the history and run the tests anyway. The owner's three numbers were all wrong, in different directions, and they were closer to their business than anyone. Yours will be too.

A list of problems is not a plan. The order of the work is the recommendation.

Methods and assumptions

How the numbers were estimated. One order export covering June through August 2026, all statuses, with $0 and cancelled orders separated from paid orders. Repeat purchase means a second paid order within that quarter. The replacement ratio is free replacement orders divided by paid orders. Air share and the shipping gap use the carrier's published two-day rate for a cold box of this size; the figures are pending the actual carrier invoices. Margin per order comes from the owner's own cost workbook, after correcting three formula errors in it, using the most expensive flavor as the cost per bag. Ad cost per order is the owners' reported monthly spend divided by orders the store attributed to those ads. The business profile numbers are Google's own, for the same three months.

What was deliberately left out. The brand's cash position and financing. Exact product prices. Any results since the new box launched, which are too recent to mean anything and belong to the owners. A single combined loss figure, because adding the shipping gap to the replacement cost would count some boxes twice.

What would change the ranking. Carrier invoices showing a materially different air rate, or a refund rate on late deliveries high enough to shrink the shipping loss below the replacement cost. Either would swap items one and two. Nothing in the data suggests it, but it hasn't been checked against invoices yet.

What this is not. A before-and-after result or a measured return on any of it. The treatment is a few days old. Comparing modeled margin per order with reported ad cost per order says whether an ad-bought order paid for itself; it doesn't measure what the ads did for the brand overall or what a customer is worth over a year. This is the diagnosis and the reasoning behind the order of operations, which is the part that transfers to other businesses.

Writing · diagnosis · ecommerce · small business