numbers and benchmarks

How do I figure out my true cost per bar of soap when I buy oils in bulk?

Bulk oil pricing, cure loss, packaging and rejected bars all move your real unit cost. This walks through building a per bar figure you can price against with confidence.

Cut soap bars curing on a wooden rack beside a kitchen scale and a jug of oil in bright daylight
The Pour Room, the working notebook behind WickAndWax.

Your true cost per bar is the total money that leaves your account to produce one saleable, packaged, labeled bar, divided by the number of bars from that batch you can actually sell. Both halves of that sentence get fudged. Makers count the oils and forget the shrink band, and they divide by the number of bars they cut rather than the number that survived cure and inspection.

Do it properly and the figure usually lands thirty to sixty percent above the number people carry in their heads. That gap is why a wholesale order can feel busy and end the month with nothing in the bank.

What follows is the arithmetic, in the order you should build it, using a single worked example: a five pound oil batch of a plain olive, coconut and shea bar, cut into twelve bars.

Converting a drum or pail price into cost per ounce of oil

Bulk oil is priced by the container, and the container is rarely a round number of ounces. Work in ounces because your recipe is in ounces.

A 35 pound pail of coconut oil at $89 delivered is 560 ounces, so $0.159 per ounce. A 7 pound jug of olive oil at $31 is 112 ounces, so $0.277 per ounce. A 5 pound block of shea at $34 is 80 ounces, so $0.425 per ounce. Those prices are illustrative, but the method is the point: divide the delivered price, freight included, by the ounces in the container.

Freight matters more than people expect on oils. A pail that costs $89 at the supplier and $28 to ship is a $117 pail, and using the $89 figure understates every bar you will ever make from it. If you drove to pick it up, put the mileage in.

Now the recipe. Five pounds is 80 ounces of oil, split 40 olive, 25 coconut, 15 shea.

OilOuncesPer ounceCost
Olive40$0.277$11.08
Coconut25$0.159$3.98
Shea15$0.425$6.38
Oil total80$21.44

Keep reading: Do I need cosmetic facility registration under MoCRA if I only sell soap and lotion bars?

Assigning lye, water, additives and fragrance to the batch

Sodium hydroxide at a five percent superfat for this blend runs near 11 ounces. At a bulk price of $2.40 per pound that is $1.65. Distilled water at 30 percent of oil weight, 24 ounces, costs pennies from a gallon jug, call it $0.20.

Fragrance is where the cost concentrates. At a five percent fragrance load on oil weight, this batch takes 4 ounces. A fragrance oil at $28 per pound is $1.75 per ounce, so $7.00 of fragrance in one small batch. That single line is a third of the oil cost.

Colorant, clay, oats or exfoliant get costed the same way: price per unit of the container, times what the recipe uses. Small quantities feel free and are not. A tablespoon of a $22 mica jar is real money when you make it forty times a year.

Running total for the batch so far: $21.44 plus $1.65 plus $0.20 plus $7.00, which is $30.29 in raw materials.

Water loss during cure and why yield weight beats batch weight

The batch leaves the mold heavier than it will ever be again. Cold process soap loses water over a four to six week cure, commonly in the range of eight to fifteen percent of bar weight depending on your recipe water discount, your room and your rack spacing.

This does not change your material cost. It changes the weight you can legally declare on the label, and that is where makers lose money without noticing. If you cut twelve bars at 5.0 ounces wet and label them as 5 oz, then after cure they weigh 4.4 ounces and every bar is underweight against its own declaration.

The fix is to cut heavier and declare cured weight. Cut at 5.6 ounces, cure, weigh the batch, and declare 4.8 or 5 oz based on what the lightest bars actually hold. Your cost per bar rises because you get fewer bars from the same oil, and that rise was always real. You were just hiding it inside a wrong label.

Measure your own loss once

Weigh three marked bars the day you cut them and the day you wrap them. Average the percentage drop. Use that percentage for that recipe until you change the water discount. You only have to do this once per formula.

Keep reading: Should I use soy, a coconut blend or paraffin wax for the candles I sell at markets?

Packaging, labels and shrink band cost per unit

Packaging is priced per thousand and consumed per bar, which makes it easy to ignore. Convert everything to a per bar figure and add it up.

  • Kraft wrap or box, bought at 250 for $62: $0.248
  • Front label, sheet printed, 30 per sheet at $0.55 a sheet: $0.018
  • Ingredient panel label: $0.018
  • Shrink band or paper belly band: $0.09
  • Twine and adhesive, apportioned: $0.02

That is $0.394 per bar, so $4.73 across twelve bars. Add it to $30.29 and the batch stands at $35.02.

Building in a rejection rate for cosmetic seconds

Not every bar goes out at full price. Ends are thin, a swirl breaks, one bar sits against the mold wall and cures with a soft face. Those become seconds sold at a discount, staff soap, or samples.

Assume, and this is an assumption you should replace with your own tally, that one bar in twelve does not sell at full retail. Your saleable yield is 11, not 12.

$35.02 divided by 11 is $3.18 per saleable bar, before any overhead. Divided by 12 it would have been $2.92. That nine percent difference is exactly the size of the margin most makers think they have on a wholesale line.

Keep the tally for a quarter. If your real rejection rate is one in twenty, use that. If it is one in eight, you have a process problem that is costing you more than any price increase would earn.

See how WickAndWax handles this for candle and soap making businesses

Allocating studio overhead without overloading small batches

Overhead is rent or garage space, insurance, utilities, the label printer, the software, the market fees, the website. It does not belong inside the batch cost, and it cannot be ignored either.

The clean method is an annual pool divided by annual output.

Say your fixed costs run $410 a month, so $4,920 a year. Say you produce 3,800 saleable bars a year. That is $1.29 of overhead per bar. Add it to $3.18 and the loaded cost is $4.47 per bar.

Two cautions. Do not include your own labor in overhead, because labor scales with volume and overhead does not; cost labor separately as minutes per bar times a real hourly rate you would pay someone else. And recalculate the allocation whenever output changes by more than a quarter, because a fixed pool spread over a bad year makes every bar look unprofitable and tempts you into raising prices at the wrong moment.

Turning unit cost into wholesale and retail price floors

With a loaded cost of $4.47, work outward.

  1. Wholesale floor. Wholesale buyers expect to double to retail. If you need a 40 percent margin on wholesale, the floor is $4.47 divided by 0.60, which is $7.45. Round to $7.50.
  2. Retail from that wholesale. The shop will price near $15, so your own retail should be $15 too. Undercutting your stockists is how you lose them.
  3. Market retail. At $15 with a loaded cost of $4.47, gross margin is $10.53 a bar. A $60 booth fee needs six bars before you have covered the table.

If your wholesale floor lands above what buyers in your region pay, the answer is upstream: a cheaper fragrance at the same load, a larger oil container, a mold that yields fourteen bars instead of twelve, or a lower rejection rate. Discounting below the floor is not a strategy, it is a subsidy you pay to your customers.

Keeping the number current

Every input in that calculation moves. Oil prices move with the harvest, fragrance houses reformulate, shipping surcharges appear, and your yield changes the day you switch molds. A cost per bar figure worked out last spring is a historical document.

WickAndWax keeps it live by holding the numbers where you already do the work. Each ingredient lot carries the delivered price and the container size, so when you log a batch it prices itself from the lots you actually used. Record the cured yield and the bars you set aside as seconds, and the per bar cost updates against real output rather than an intention. When an oil pail costs eleven dollars more than the last one, you see the effect on your wholesale floor the same week, not at year end.