DEV Community

Black
Black

Posted on

What does a 3D print really cost? Spreadsheet formulas for pricing prints

Most people who sell 3D prints price them as "filament cost times three" and hope. I wanted real numbers, so I built a spreadsheet that works out what a print actually costs and what to charge. These are the formulas behind it. They work in Excel and Google Sheets.

The five costs of one print

Your slicer gives you two numbers: grams and print hours. Almost every cost hangs off those two.

Cost Formula
Filament grams × (spool price ÷ spool grams)
Electricity hours × watts ÷ 1000 × price per kWh
Printer wear hours × (printer price ÷ expected life in hours + maintenance per hour)
Your time hands-on minutes ÷ 60 × hourly rate
Extras paint, magnets, heat-set inserts, as entered

A worked example: a 62 g silk PLA dragon, 4.6 hours on a P1S.

  • Filament: 62 × $18.99/1000 = $1.18
  • Electricity: 4.6 × 110 W / 1000 × $0.17 = $0.09
  • Wear: 4.6 × ($699 / 5000 h + $0.06) = $0.92
  • Time: 10 min at $20/h = $3.33

Two things surprised me. Electricity is close to nothing; people worry about it more than it deserves. Printer wear is ten times bigger than power, and almost nobody counts it. A $699 printer that lasts 5,000 hours costs you 14 cents every hour it runs, before you replace a single nozzle.

The biggest cost by far is your own time. If you don't pay yourself for prep, support removal and packing, the "profit" is really your wage at a discount.

A failure buffer, not a guess

Some prints fail. Instead of padding the price by feel, multiply the machine costs by your real failure rate:

Failure buffer = (filament + power + wear + time) × failure %
Enter fullscreen mode Exit fullscreen mode

The tracker gets that failure % from your own log. Every job row has a Result column (Sold, Stock, Failed, Personal), and failed rows count as pure cost:

Profit = IF(OR(Result="Sold", Result="Failed"), Revenue - Fees - JobCost, 0)
Enter fullscreen mode Exit fullscreen mode

Stock prints are left out until they sell, so a shelf of unsold dragons doesn't look like a loss.

Pricing so the margin survives platform fees

The common mistake is cost × markup, then the platform takes 9.5% (Etsy) or 13.6% (eBay) off the top and the margin is gone. Solve for the price instead:

price = (cost + postage + fixed fee) / (1 - fee % - target margin) - shipping charged
Enter fullscreen mode Exit fullscreen mode

In a cell, rounded up to the next .99:

=MAX(0, CEILING((F12 + C14 + fixed) / MAX(0.05, 1 - pct - C15), 1) - 0.01 - C13)
Enter fullscreen mode Exit fullscreen mode

MAX(0.05, ...) stops a division by zero if someone enters a 95% margin. For the dragon on Etsy at a 35% margin, with $4.50 shipping charged and $4.80 postage, that gives $15.99. Check: the buyer pays $20.49, Etsy takes $2.40, cost plus postage is $10.76, profit is $7.34, which is 36%.

Run the same formula for each row of a platform fee table and you get the price for every marketplace side by side. eBay needs $17.99 for the same print, a local sale only $12.99.

Spools that track themselves

Each job picks a spool from a dropdown. The Filament tab then just sums the job log:

Used (g) = SUMIFS(Jobs!F:F, Jobs!E:E, B6)
Left (g) = spool grams - Used
Status   = IF(Left<=0, "Empty", IF(Left<=150, "Low", "OK"))
Enter fullscreen mode Exit fullscreen mode

The same trick with SUMIFS on the printer column gives hours per printer, failure rate per printer, and "has this printer paid for itself": profit from its jobs divided by what you paid for it.

The template

If you want all of this ready-made, with a quote calculator, a 2,000-row job log, spool inventory, printer payback, and a monthly dashboard, it is here: 3D Print Shop Tracker (Excel + Google Sheets).

I post more templates, tools and printable models on Patreon.

Top comments (0)