FDM print pricing with a 20% failure probability

Estimate the cost of one successful FDM print from filament, power, machine wear, active labor and repeated failed attempts. Find a price with generic editable fees, then hand off to Etsy-specific pricing.

Illustrative manual assumptions in USD unless units are stated. This is a reproducible example, not a marketplace settlement or carrier quote.

Inputs

Filament used
100 g
Filament price per kg
20 $
Extra material allowance
0 %
Print time
2 hours
Average power draw
100 W
Electricity price per kWh
0.2 $
Wear & maintenance per hour
0.5 $
Setup time per attempt
0 min
Finishing time per successful item
15 min
Your hands-on hourly rate
12 $
Failed attempt probability
20 %
Packaging per item
1 $
Shipping you pay
4 $
Other fulfillment cost
0 $
Target margin
30 %
Generic selling fee
10 %
Fixed selling fees
0.2 $
Shipping charged to buyer
0 $

Calculation

  1. Material = 100 ÷ 1,000 × $20 = $2. Power = 2 × 100 ÷ 1,000 × $0.20 = $0.04. Machine wear = 2 × $0.50 = $1.
  2. Repeatable cost = $3.04. Expected repeatable cost = $3.04 ÷ (1 − 20%) = $3.80.
  3. Finishing = 15 ÷ 60 × $12 = $3. Production = $6.80; add $1 packaging and $4 postage once to get $11.80 fulfillment.
  4. Required price = ($11.80 + $0.20) ÷ (1 − 10% − 30%) = $20. Profit = $20 − $11.80 − $2 − $0.20 = $6, a 30% margin.

Result: $20.00 suggested item price.

Assumptions and limits

Independent failures repeat full material, power and machine costs. Finishing happens once. Pricing uses generic 10% + $0.20 example fees; recalculate actual Etsy fees in the Etsy tool. No listing eligibility or design rights are implied.

One successful FDM item, one material. No slicer files, resin, multi-color purge or batch optimization. Suggested price uses generic editable selling fees; the Etsy handoff recomputes Etsy-specific rules. Cost calculation does not establish Etsy listing eligibility or design rights.

Model references

Open 3D Print Etsy Pricing Calculator to enter these inputs. The tool opens with its standard defaults; enter the inputs above to reproduce this case.