MOVE SUPPLY CHAIN
Are you paying to ship air?
The complete guide: grade how well your packaging fits your product, find out what it really costs you a year, and decide what is worth pricing with a supplier. Every formula, every input, every mistake we made.
A Move Supply Chain guide. Nothing hidden.
THE ANSWER, UP FRONT
| Illustrative 8oz candle · master carton | |
|---|---|
| Primary fit | Box is 1.85 times the product volume. Grade C. |
| Master carton utilisation | 45% of the carton is product. Grade D. |
| Dimensional weight | 6.4 kg billable against 5.7 kg actual. DIM applies. |
| Annual packaging spend | $10,830 across box, carton and insert. |
| Overall | D. The carton is the problem, not the box. |
I am going to walk you through how we built this, including the three times the tool was right and useless, because that is the part you can actually use.
We build supply chain systems for DTC brands. I have done this for 17 years, enterprise first, then ecommerce. Packaging is the cost line founders look at least, because it arrives as a small number on a supplier invoice. It is not a small number. It is a number you pay twice, once for the board and once for the space it takes up in a truck, and neither invoice tells you about the other.
Three things go wrong, and all of them are quiet.
You pay for air
The box is bigger than the product. You paid for the board. Then the carton is bigger than the boxes. You paid for that board too. Then the carrier weighs the carton and charges you for its volume instead, because the volume is worth more than the weight.
You pay for an insert nobody reads
A printed card in every box. Six cents. Eighteen thousand units. That is a thousand dollars a year for a thing the customer throws away with the tissue paper.
You pay for a spec you never chose
The board grade, the flute, the carton size. Your supplier chose them at your first order, when you had no volume and no idea. You have reordered the same spec ever since.
None of this is a marketing problem or a design problem. It is arithmetic, and nobody has ever put the arithmetic in front of you. So we built the check. Below is the whole thing in two tiers. Tier 1 is a spreadsheet you can build this afternoon. Tier 2 is how we turned that sheet into an app. Take whichever one you need.
What it does
You enter what your packaging physically is and what you pay for it. You get three things.
A grade on how well the packaging fits what is inside it. A to D, for the primary box and for the master carton separately.
A breakdown of annual packaging spend by line: primary, carton, inserts, protective. Every figure is arithmetic on what you entered.
A list of changes worth pricing with a supplier, each one only shown when your own numbers say it applies.
It does not quote you. It does not order anything. It does not talk to your supplier. It tells you which conversation to have and what to ask.
Two kinds of number. Your inputs and the arithmetic on them are yours and they are solid. The savings ranges are ours, and each one carries a stated basis and a named approver, or a label saying it does not yet. Keep the two apart in your head the whole way through.
The four checks behind the grade
None of these is clever. The value is in running all four against the same carton at the same time, before you reorder.
1 · Is the box much bigger than the product?
Box volume divided by product volume. Above about 1.3 you are paying for board and tissue. Above 2.5 the product is rattling around.
2 · Is the carton much bigger than the boxes?
Units per carton times box volume, divided by carton volume. This is utilisation. Under 55% and half your carton is air you paid to corrugate.
3 · Does the carrier charge you for the size or the weight?
Carton volume divided by the carrier's DIM divisor gives dimensional weight. If that is more than the carton actually weighs, you are billed on the bigger number.
4 · What does all of it cost a year?
Units times unit cost, per line, plus cartons times carton cost. The total is always bigger than the founder guessed.
Tier 1: Build it in a spreadsheet, nothing hidden
You need Google Sheets or Excel and a tape measure. The whole build is about an hour the first time, and fifteen minutes per SKU after that.
Start with your top three sellers, not everything. Three rows is enough to find out whether you have a carton problem, and those three are the ones that ship the most air.
Step 1: Get the data
Every number lives somewhere already. Here is exactly where, and what goes wrong when you get there.
Product dimensions and weight
Measure one. Do not take it from the spec sheet. Length, width and height in centimetres, at the widest point, including the lid or cap. Weight in grams on a kitchen scale, the product exactly as it goes into its box.
Trap: round products. A candle jar is a cylinder, but it takes up a rectangular space in a box. Measure the diameter and use it for both length and width. The formula treats everything as a box because the packaging does.
Primary packaging dimensions, weight and cost
The box the customer opens. Measure the outside: that is the space it takes in the carton. Weigh it empty. Cost per unit is on your packaging supplier's invoice, on the line for that box.
Trap one: internal versus external. Your supplier's spec sheet gives internal dimensions because that is what they design to. You need external for utilisation. Add roughly twice the board thickness, or just measure.
Trap two: per thousand. Packaging is often quoted per thousand units. $450 per M is $0.45 each. If your cost cell says 450 and your units cell says 1,500 a month, your annual spend is off by a thousand times and the sheet will not tell you.
Trap three: printed versus plain. The invoice line may be the plain box, with print, plates and setup on separate lines. Add them back in. A box that costs $0.32 plain and $0.45 printed costs $0.45.
Master carton dimensions, weight, units per carton and cost
The shipping carton your 3PL receives. External dimensions, measured. Weight empty. How many units go in one. Cost per carton from the supplier invoice.
Trap one: nominal versus actual. The spec sheet says 40 × 40 × 20. The carton on the pallet is 41 × 41 × 21 because corrugated bulges. Carriers measure the carton, not the spec sheet. Measure.
Trap two: which carton. If you ship to a 3PL in a master carton and they ship to the customer in a different mailer, you have two cartons and two DIM calculations. This guide covers the master. Run the mailer as a second row.
Inserts, protective materials, labels and tape
Anything else in the box or on the carton, and what each costs per unit. Printed cards, tissue, void fill, silica, labels, tape. Same invoice, separate lines. Most founders skip this section and most of the easy savings live in it.
Monthly units
Shopify: Analytics, then Reports, then sales by product variant, last 3 months, units column not revenue, divide by 3. If one of those months had a promo, note it. Use a normal month.
Trap: the promo month. A BFCM month in your average inflates every annual figure downstream by a third. Either take it out or accept that the sheet is optimistic.
DIM divisor
On your carrier's rate card, or ask your 3PL. It is the number they divide cubic centimetres by to get a billable kilogram. 5,000 is common for metric carriers and it is the working default in our tool. It is not signed off; check yours.
Step 2: Clean it
| Before | After |
|---|---|
| Diameter 8.5 cm in one cell, nothing in width | 8.5 in both length and width |
| Cost $450 (per thousand) | 0.45 per unit |
| Internal box dimensions from the spec sheet | External, measured |
| Plain box cost, print on a separate invoice line | One cost with print included |
| Blank cost cell for the insert | Placeholder, highlighted, until the invoice arrives |
Blanks are the dangerous one. A blank in a formula becomes zero, and zero cost means the sheet tells you the insert is free. It is not free. Put a placeholder in and highlight it yellow until you have the real number.
Step 3: Build the sheet
Settings block at the top, then one SKU per row from row 11. Google Sheets column letters and formulas; they work in Excel too.
SETTINGS, B1 TO B8
| Cell | Setting | Working value |
|---|---|---|
| B1 | DIM divisor, cm³ per kg | 5000 |
| B2 | Size ratio, grade A up to | 1.3 |
| B3 | Size ratio, grade B up to | 1.8 |
| B4 | Size ratio, grade C up to | 2.5 |
| B5 | Utilisation, grade A from | 85% |
| B6 | Utilisation, grade B from | 70% |
| B7 | Utilisation, grade C from | 55% |
| B8 | Your carton savings assumption | 20% |
ROW 11, COLUMNS A TO S: YOU TYPE THESE
| Col | Input | Illustrative |
|---|---|---|
| A | SKU | CANDLE-8OZ |
| B | Product | 8oz soy candle |
| C D E | Product L × W × H cm | 8.5 × 8.5 × 9 |
| F | Product weight g | 380 |
| G H I | Box L × W × H cm, external | 10 × 10 × 12 |
| J | Box weight g | 60 |
| K | Box cost per unit | 0.45 |
| L M N | Master carton L × W × H cm, external | 40 × 40 × 20 |
| O | Master carton weight g | 400 |
| P | Units per master | 12 |
| Q | Master carton cost | 1.10 |
| R | Insert cost per unit | 0.06 |
| S | Monthly units | 1500 |
Type into A to S only. Everything from T onward is a formula. Put these in row 11 and drag down.
COLUMNS T ONWARD: THE SHEET WORKS THESE OUT
T · How much space does the product take?
Length times width times height. For a round product, diameter in both length and width.
=C11*D11*E11Illustrative candle: 650 cm³
U · How much space does the box take?
=G11*H11*I11Illustrative candle: 1,200 cm³
V · How many times bigger is the box than the product?
This is the size ratio. 1.0 would be a box that fits exactly, which is impossible. Below 1.0 means the box is smaller than the product, which means you measured something wrong.
=U11/T11Illustrative candle: 1.85
W · Check 1: primary fit grade
Below 1 is an input error, not a grade. Then A, B, C, D against the boundaries in the settings block.
=IF(V11<1,"CHECK INPUT",IF(V11<=$B$2,"A",IF(V11<=$B$3,"B",IF(V11<=$B$4,"C","D"))))Illustrative candle: C. Above 1.8, below 2.5.
X · How much space does the master carton take?
=L11*M11*N11Illustrative candle: 32,000 cm³
Y · How much of the carton is actually product?
Units per carton, times box volume, divided by carton volume. Format as a percentage.
=P11*U11/X11Illustrative candle: 45%
Z · Check 2: carton utilisation grade
Above 100% means the boxes cannot physically fit in the carton, which is an input error, not a good grade. We got this wrong once. See the failure log.
=IF(Y11>1,"DOES NOT FIT",IF(Y11>=$B$5,"A",IF(Y11>=$B$6,"B",IF(Y11>=$B$7,"C","D"))))Illustrative candle: D. Under 55%.
AA · What does the carrier think the carton weighs?
Carton volume divided by the DIM divisor. This is dimensional weight, in kg.
=X11/$B$1Illustrative candle: 6.4 kg
AB · What does the carton actually weigh, full?
Units times product plus box weight, plus the empty carton, in kg.
=(P11*(F11+J11)+O11)/1000Illustrative candle: 5.68 kg
AC · Check 3: which weight are you billed on?
The bigger of the two. Always.
=MAX(AA11,AB11)=MAX(AA11,AB11)
Illustrative candle: 6.4 kg. DIM applies. You are billed for 0.7 kg of air per carton.
AD · DIM flag, in words
=IF(AA11>AB11,"DIM applies","actual weight")=IF(AA11>AB11,"DIM applies","actual weight")
Illustrative candle: DIM applies
AE · How many units a year?
=S11*12=S11*12
Illustrative candle: 18,000
AF · Annual spend on the primary box
=AE11*K11Illustrative candle: $8,100
AG · Annual spend on master cartons
Cartons per month rounded up, because you cannot ship a fraction of a carton, times twelve, times cost. Our tool rounds monthly, not annually; the difference is small but it is a choice, so here it is.
=ROUNDUP(S11/P11,0)*12*Q11Illustrative candle: 125 cartons a month, 1,500 a year, $1,650
AH · Annual spend on inserts
=AE11*R11Illustrative candle: $1,080
AI · Check 4: total annual packaging spend
=AF11+AG11+AH11Illustrative candle: $10,830
AJ · Overall grade
Worst of the two fit grades. A carton problem is a carton problem even if the box is perfect.
=IF(OR(W11="CHECK INPUT",Z11="DOES NOT FIT"),"FIX INPUTS",IF(OR(W11="D",Z11="D"),"D",IF(OR(W11="C",Z11="C"),"C",IF(OR(W11="B",Z11="B"),"B","A"))))Illustrative candle: D
AK · What might a right-sized carton save?
Carton spend times your own assumption in B8. Only when the carton grade is below A. This is the one line on the sheet that is an estimate, and it is your estimate.
=IF(Z11="A",0,AG11*$B$8/100)Illustrative candle: $330 a year at 20%. Change B8 and watch it move.
Campaign-style summary at the top, next to your settings. Worst SKU wins.
=IF(COUNTIF(AJ11:AJ100,"FIX INPUTS")>0,"FIX INPUTS",IF(COUNTIF(AJ11:AJ100,"D")>0,"D",IF(COUNTIF(AJ11:AJ100,"C")>0,"C",IF(COUNTIF(AJ11:AJ100,"B")>0,"B","A"))))And two totals: =SUM(AI11:AI100) for spend, =SUM(AK11:AK100) for the carton opportunity.
Step 4: Read one row by hand before you trust it
This is the step everyone skips and the one that catches every mistake. Take one SKU and work it out on paper.
The row below is the illustrative candle. Working it by hand checks that your sheet is built correctly. It does not check your packaging, because the candle is not real. Once your sheet matches these numbers, put your own row in and work that one by hand too.
| Step | By hand |
|---|---|
| Product volume | 8.5 × 8.5 × 9 = 650 cm³ |
| Box volume | 10 × 10 × 12 = 1,200 cm³ |
| Size ratio | 1,200 ÷ 650 = 1.85. Above 1.8. Grade C. |
| Carton volume | 40 × 40 × 20 = 32,000 cm³ |
| Utilisation | 12 × 1,200 = 14,400. ÷ 32,000 = 45%. Under 55%. Grade D. |
| DIM weight | 32,000 ÷ 5,000 = 6.4 kg |
| Actual weight | 12 × (380 + 60) = 5,280 g + 400 g = 5.68 kg |
| Billable | 6.4 kg. DIM applies. |
| Annual units | 1,500 × 12 = 18,000 |
| Primary spend | 18,000 × 0.45 = $8,100 |
| Carton spend | 1,500 ÷ 12 = 125 a month × 12 = 1,500 × 1.10 = $1,650 |
| Insert spend | 18,000 × 0.06 = $1,080 |
| Total | $10,830 |
| Overall | D. The carton, not the box. |
What the row is telling you: the box is a little roomy, the carton is half empty, and the carrier is charging you for the empty half. The box is a conversation. The carton is a decision.
Step 5: Add the AI, but only for the words
The sheet gives you the grades and the spend. What it does not give you is the email to your supplier, or which of three carton sizes to ask about first.
That is the only job the AI has. It reads the numbers. It never produces them.
Copy your graded rows, paste them into Claude or ChatGPT, and use this prompt exactly:
You are a packaging engineer reviewing a DTC brand's packaging data. Below is a table of measured dimensions, weights, costs and calculated grades. Do not recalculate or change any number. Using only these numbers: (1) explain in plain language what each grade below A means for this brand, (2) say which single change is worth pricing first and why, (3) draft a short email to the packaging supplier asking for a quote on that change, with the exact dimensions to quote, (4) list what the brand should measure or confirm before sending it. Be direct. No jargon. [paste your rows here]
Why not let the AI do the maths too? Because you cannot audit it. If you change a carton spec because a screen told you the utilisation was 45%, you need to be able to trace that 45% back to four numbers you measured. "The model said so" is not a packaging process, and it is definitely not something you send to a supplier.
Formulas calculate. AI explains. One direction only.
Tier 2: From the sheet to an app
Tier 1 gives you the answer for three SKUs, this afternoon. It is a photograph. Next quarter the carton changes, the volumes move, and you are measuring again.
We turned the sheet into an app so it runs for every SKU, keeps the history, and shows the savings ranges with their review state. Here is the thinking, and the decisions that changed the answer.
First: we decided what question it answers
The instinct is a dashboard. Show fill ratios, show spend, show a benchmark against other brands, let the founder work it out. We wrote down the only sentence that mattered instead: the founder needs to know whether their carton is the right size. Grade, spend, what to ask for. No score out of 100, no trend line, no benchmark chart.
Second: we drew a hard line around the AI
Same rule as the sheet. Dimensions, ratios, weights and spend are fixed formulas, boring and checkable. The AI reads the output and drafts the supplier email. It never touches a number, and in the app that is enforced, not requested.
Third: we put the savings ranges in a table with a name on each row
Every savings opportunity is a percentage range applied to one of your spend lines. Your spend lines are yours. The ranges are not. So each range lives in a table with three required fields: the value, the basis, and who approved it. Published rows show a reviewed badge with the approver's name. Unpublished rows show an unreviewed placeholder badge. Both are visible. Mixed is the normal state.
As of this guide, every range in the table is an unreviewed placeholder. Our packaging studio is working through them. We would rather show you an honest amber badge than a confident green one.
Fourth: we stopped the tool from grading impossible inputs
This one we learned the hard way. See below.
The three times the tool was right and useless
Three times the arithmetic was correct and the output was wrong. The fix was never in the formula. It was in what we let the formula say.
A box smaller than the product was graded A
A user entered a product 21 cm tall and a box 14 cm tall. The size ratio came out at 0.67, which is under the 1.3 boundary for grade A, so the tool said A. Excellent fit. The box would not close.
What we changed: any ratio under 1.0 is an input error. The tool now stops, names both numbers, and refuses to grade until one of them is corrected. A grade on an impossible input is not a grade.
A carton that could not hold its contents was called well-packed
Same record. Six units at 38,955 cm³ each in a master carton of 138,600 cm³. Utilisation 169%. The finding read "your cartons are well-packed." Grade A. The units did not fit.
What we changed: utilisation above 100% is not a good grade. It is physical impossibility. It now blocks the calculation with a message saying the units do not fit and asking which measurement is wrong.
A copy error was narrated as an insight
Packaging weight was entered as exactly 1,100 g. Product weight was also exactly 1,100 g. Almost certainly someone typed the same number twice. The tool said: "Your packaging weight is 100% of your product weight. Lighter materials could reduce shipping costs." A sustainability insight, generated from a typo.
SETTINGS, B1 TO B8
ROW 11, COLUMNS A TO S: YOU TYPE THESE
COLUMNS T ONWARD: THE SHEET WORKS THESE OUT
- T
How much space does the product take?
- U
How much space does the box take?
- V
How many times bigger is the box than the product?
- W
Check 1: primary fit grade
- X
How much space does the master carton take?
- Y
How much of the carton is actually product?
- Z
Check 2: carton utilisation grade
- AA
What does the carrier think the carton weighs?
- AB
What does the carton actually weigh, full?
- AC
Check 3: which weight are you billed on?
- AD
DIM flag, in words
- AE
How many units a year?
- AF
Annual spend on the primary box
- AG
Annual spend on master cartons
- AH
Annual spend on inserts
- AI
Check 4: total annual packaging spend
- AJ
Overall grade
- AK
What might a right-sized carton save?
What we changed: when two inputs match exactly in a way that suggests a copy error, the message is "check this value, it matches X exactly." A question, not a finding.
Being correct and being useful are different tests. Most tools only run the first one. Run both, on every row, by hand, at least once.
Try it
The same four checks, running in this page. Nothing is saved, nothing is sent, no signup. It is prefilled with the illustrative candle, so it opens on grade D. Change the carton dimensions to 32 × 42 × 14 and watch utilisation climb and the DIM flag clear. Change B8 and watch the savings line move, because that line is yours.
Build note for the page: the calculator implements columns T to AK exactly as written above, with the settings block editable. Prefill with the row 11 values. No other numbers.
Do this tomorrow
Pick your top three SKUs by units. 5 minutes.
Measure one of each: product, box, master carton. Tape measure and kitchen scale. 15 minutes.
Open your last packaging invoice and pull four costs per SKU. 10 minutes.
Open a sheet, put the settings block in B1 to B8, and type the three rows into A to S. 10 minutes.
Paste the formulas from Step 3 into row 11 and drag down. 10 minutes.
Work one row by hand. 10 minutes.
One hour. Then look at two numbers: your carton utilisation, and whether DIM applies. If utilisation is under 55% and DIM applies, you have your answer, and it is a carton conversation, not a box conversation.
Plain English glossary
| Term | What it means |
|---|---|
| Primary packaging | The box the customer opens. |
| Master carton | The shipping carton your 3PL receives, holding several units. |
| Size ratio | Box volume divided by product volume. How much of the box is air. |
| Utilisation | How much of the master carton is product. Units times box volume, over carton volume. |
| Dimensional weight | Carton volume divided by the carrier's divisor. What the carrier pretends the carton weighs when it is big and light. |
| DIM divisor | The number the carrier divides cubic centimetres by. On the rate card. Ask. |
| Billable weight | The bigger of actual and dimensional. You always pay the bigger one. |
| Internal vs external | Suppliers spec the inside. Carriers measure the outside. Use external for everything in this guide. |
| Per M | Per thousand. $450 per M is $0.45 each. |
| Flute | The wave inside corrugated board. Different profiles trade cushioning against thickness and stacking strength. Have your supplier's engineer confirm any flute change. |
| Board downgrade | A lighter board spec where the current one is stronger than the job needs. |
| Right-sizing | Changing the box or carton to fit the product. |
| Insert consolidation | Fewer separate pieces in the box. Usually the fastest line to cut. |
| Reviewed / unreviewed | Whether a savings range in our table has a named approver behind it, or is still a placeholder. |
| ROUNDUP | Sheet function that rounds up to a whole number. You cannot ship 124.3 cartons. |
| COUNTIF | Sheet function that counts cells matching a condition. Used to find the worst grade. |
The one thing to take home
Nobody needs a packaging dashboard.
What you need is four measurements and four questions, asked before you reorder, not after: how much of this box is air, how much of this carton is air, is the carrier charging me for it, and what does the whole thing cost a year.
The arithmetic is not hard. The reason it does not happen is that the box came from one supplier, the carton from another, the freight bill from a third, and none of them has ever seen the other two invoices.
Put them on one sheet and the answer takes about four seconds.
We graded a carton that could not close as excellent. We have been doing this for 17 years.
Measure yours.
Built and broken and rebuilt by Move Supply Chain.
