TL;DR
- A should-cost model independently rebuilds a factory selling price from the part, route, and volume instead of starting with the supplier quote, consistent with DFMA's method.
- Model material, setup, cycle, labor, tooling, yield, quality, overhead, and profit as separate sourced rows, then test documented drivers one at a time.
- Treat the result as a hypothesis, not the supplier's books, landed cost, customs value, technical approval, or proof that a quote is high or low.
- Use the workbook to identify the next driver to clarify, then move the reconciled quote into comparison, readiness, or a Tandom sourcing project.
Choose the right use case before building the model
Build a detailed should-cost only when the decision can justify the work. It is most useful when a recurring custom part has a wide quote spread, limited competition, a proposed increase, or a design and volume tradeoff that past prices cannot explain.
FAR 15.404-1 separates price analysis from analysis of individual cost elements and profit. Those federal rules do not govern private industrial purchases. The distinction is still useful: compare market prices when comparable evidence is enough; build the cost when price evidence cannot explain the decision.
| Situation | Use | Reason |
|---|---|---|
| Recurring custom component | Build the model | The route and assumptions can be reused across releases. |
| Wide acceptable quote spread | Build the model | The cost stack can expose the driver behind the difference. |
| Transparent catalog item | Use price analysis | Comparable market evidence may answer the question faster. |
| Changing design | Fix the baseline first | A detailed model will explain a version that may never be made. |
Situation
Recurring custom component
- Use
- Build the model
- Reason
- The route and assumptions can be reused across releases.
Situation
Wide acceptable quote spread
- Use
- Build the model
- Reason
- The cost stack can expose the driver behind the difference.
Situation
Transparent catalog item
- Use
- Use price analysis
- Reason
- Comparable market evidence may answer the question faster.
Situation
Changing design
- Use
- Fix the baseline first
- Reason
- A detailed model will explain a version that may never be made.
Freeze one technical and commercial baseline
The model and supplier quote must describe the same thing. Record each field below before a rate or percentage enters the workbook.
| Field | Record | Failure if omitted |
|---|---|---|
| Technical authority | Part, drawing, model, BOM, specification, and revision hierarchy | The estimate can use a requirement the supplier did not quote. |
| Manufacturing route | Operations, site, equipment class, outside processes, and controls | Cycle, setup, yield, and rate assumptions lose their physical basis. |
| Demand scenario | Release, attempted batch, expected good units, annual volume, and horizon | Setup and one-time cost can be divided by the wrong quantity. |
| Quality and packaging | Inspection, tests, records, traceability, preservation, and pack | A low model can omit work included in the supplier price. |
| Price boundary | Exact factory handoff and included cost layers | Freight, tooling, or scope can become a false quote gap. |
Field
Technical authority
- Record
- Part, drawing, model, BOM, specification, and revision hierarchy
- Failure if omitted
- The estimate can use a requirement the supplier did not quote.
Field
Manufacturing route
- Record
- Operations, site, equipment class, outside processes, and controls
- Failure if omitted
- Cycle, setup, yield, and rate assumptions lose their physical basis.
Field
Demand scenario
- Record
- Release, attempted batch, expected good units, annual volume, and horizon
- Failure if omitted
- Setup and one-time cost can be divided by the wrong quantity.
Field
Quality and packaging
- Record
- Inspection, tests, records, traceability, preservation, and pack
- Failure if omitted
- A low model can omit work included in the supplier price.
Field
Price boundary
- Record
- Exact factory handoff and included cost layers
- Failure if omitted
- Freight, tooling, or scope can become a false quote gap.
If the quote uses another revision, quantity, route, or quality scope, request a controlled clarification or requote. Do not repair a technical mismatch with a spreadsheet premium. The quote comparison guide shows how to preserve quoted values and normalize supported commercial differences.
Build the model from physical cost drivers
Start with material and the plausible operation sequence. Add commercial percentages only after direct inputs are visible. The DFMA manufacturing-cost guide separates material, machine time, labor, setup, tooling, secondary operations, and yield. It also warns against double-counting labor or overhead already included in a burdened rate.
Model material from input, not finished weight
Record the grade, stock form, gross input, purchased components, date-stamped rate, and supported scrap recovery. A machined part can begin with more material than remains in the finished component.
Route every manufacturing operation
Put one operation on each row. Separate setup from per-attempt cycle. Separate unattended machine time from attended labor when the resource model supports it. Name outside processing, inspection, testing, and packaging instead of hiding them in overhead.
Apply loss where it occurs
Yield changes the attempted units needed for one good unit. Apply supported loss at the operation where it occurs. A late reject carries more accumulated material and variable operation cost than an early reject. Keep fixed setup cash outside the yield cascade and divide its total once by the final good-unit release quantity. If only cumulative yield is available, disclose and test that shortcut.
Separate recurring tool wear from one-time cash
Allocate recurring wear over demonstrated good-unit life. Keep dedicated tooling and NRE visible by payment milestone. This workbook does not amortize one-time cash into repeat unit economics; each Volume row adds the full one-time amount to first-order cash instead.
Add overhead once
Write what machine and labor rates include. A burdened machine rate may already cover depreciation, utilities, maintenance, floor space, and indirect support. Adding the same items again inflates the model.
Choose markup or sales margin
A sustainable supplier price includes profit, but the convention must be explicit. A 20% markup on a 100 cost base produces 120. A 20% sales margin produces 125 because cost is 80% of price.
Should-cost model formulas
Material input cost per attempt
= input quantity x dated unit rate
- supported recoverable scrap quantity x recovery fraction x scrap unit value
Total fixed setup cash per release
= sum of setup hours per release x setup resource rate across operations
Fixed setup cost per final good unit
= total fixed setup cash / final good-unit release quantity
Operation cost per attempt excluding setup
= cycle hours x machine rate
+ attended labor hours x labor rate
+ operation consumables
Sequential cumulative cost after operation n
= (prior cumulative cost + variable operation cost per attempt)
/ operation yield + downstream outside processing + rework
fixed setup is not included in this yield cascade
Price using profit markup
= supported cost base x (1 + markup rate)
Price using sales margin
= supported cost base / (1 - sales margin)
Quote gap
= normalized quoted factory price - modeled factory selling priceFormal government should-cost reviews are broader than this workbook. FAR 15.407-4 can involve contracting, pricing, audit, and engineering specialists. Use that as a reminder to involve the right buyer functions, not as a rule governing private purchasing.
Make uncertainty visible and reviewable
A defensible model explains what is known, estimated, and open. The goal is not more decimal places. It is to identify the assumptions that deserve evidence.
Measured
Observed or calculated from the controlled part, sample, drawing, process study, or buyer record.
Supplier-provided
Returned for the named site, route, quantity, and date. It remains a claim until reviewed.
Corroborated benchmark
Supported by a dated primary market source, comparable history, or relevant observations.
Buyer estimate
A working assumption with an owner, reason, range, and closure action.
Open
Unknown or materially mismatched. It cannot silently become zero, included, or approved.
Test one driver at a time
Build low, base, and high cases from supported alternatives or dated inputs. Change one driver at a time and treat the lowest and highest outputs as a tested envelope rather than a combined forecast. Do not apply an arbitrary percentage to every row. The GAO Cost Estimating and Assessment Guide recommends changing one factor at a time, documenting the source of variation, and identifying which assumptions move the result most.
- Rank cost elements by their share of the modeled total.
- Identify the uncertain input behind each large element.
- Set low and high values from traceable evidence.
- Recalculate one input at a time while holding others fixed.
- Record the output change and the next evidence action.
Normalize currency before using the workbook
Choose one model currency and convert every material, resource, tooling, outside-process, quality, and packaging input before pasting it into a model-currency field. Retain the original currency, conversion direction, source, and observation date in the source columns or evidence log. The Federal Reserve H.10 release is one public source for bilateral rates, but it does not cover every company policy or currency need. This workbook intentionally has no global FX multiplier because one factor cannot safely normalize mixed source currencies.
Copy this ten-sheet should-cost workbook
Create tabs with these exact names and paste the matching section into cell A1: Baseline, Material, Routing, Tooling, Quality, Volume, Quote_Gap, Sensitivity, Evidence_Log, and Summary. The executable formulas use those tab names and will break if they are changed.
Paste all ten sheets before entering data. Fill blank input cells and the documented low and high cases; do not overwrite columns that begin with =. Enter percentages as decimals such as 0.12 for 12 percent. Protect formula cells, validate evidence status, pre-normalize cost inputs into the Baseline model currency, retain source currency and dates, and assign every decision-relevant Open row.
1. Baseline (tab name: Baseline)
Baseline worksheet
Copies 11 columns and 12 starter rows as tab-separated cells for Excel and Google Sheets.
Columns
- 1
field - 2
controlled_value - 3
unit_or_convention - 4
source_or_document - 5
observation_date - 6
evidence_status - 7
owner - 8
low_case - 9
base_case - 10
high_case - 11
notes
Starter-row preview (12 rows; copy includes every cell)
buyer part numberunit_or_convention: text · evidence_status: Open
drawing specification and BOM revisionunit_or_convention: text · evidence_status: Open
manufacturing legal entity and siteunit_or_convention: text · evidence_status: Open
release quantity batch pattern and annual volumeunit_or_convention: units · evidence_status: Open
quality test records and packaging scopeunit_or_convention: text · evidence_status: Open
model currency and factory price boundaryunit_or_convention: currency and named handoff · source_or_document: buyer policy · evidence_status: Open
overhead allocation basecontrolled_value: direct manufacturing subtotal · unit_or_convention: named cost base · source_or_document: buyer cost policy or reviewed factory basis
overhead ratecontrolled_value: =I9 · unit_or_convention: decimal rate · evidence_status: Open
profit conventioncontrolled_value: markup · unit_or_convention: markup or sales margin · source_or_document: buyer policy or supplier evidence
profit markup ratecontrolled_value: =I11 · unit_or_convention: decimal rate on factory cost · evidence_status: Open
sales margin ratecontrolled_value: =I12 · unit_or_convention: decimal share of selling price · evidence_status: Open
active profit multipliercontrolled_value: =(B10="markup")*(1+B11)+(B10="sales margin")/(1-B12) · unit_or_convention: calculated multiplier · source_or_document: calculated from rows 10 to 12
2. Material (tab name: Material)
Material worksheet
Copies 20 columns and 3 starter rows as tab-separated cells for Excel and Google Sheets.
Columns
- 1
item_id - 2
material_or_component - 3
specification - 4
input_form - 5
input_quantity_per_attempt - 6
unit - 7
net_quantity_in_good_part - 8
source_unit_rate - 9
source_currency - 10
rate_source - 11
rate_date - 12
recoverable_scrap_quantity - 13
scrap_recovery_fraction - 14
scrap_unit_value_model_currency - 15
low_unit_rate_model_currency - 16
base_unit_rate_model_currency - 17
high_unit_rate_model_currency - 18
evidence_status - 19
notes - 20
base_cost_per_attempt_model_currency
Starter-row preview (3 rows; copy includes every cell)
MAT-001material_or_component: primary material · evidence_status: Open · notes: enter O through Q only after currency normalization
MAT-002material_or_component: purchased component · evidence_status: Open · notes: enter O through Q only after currency normalization
MAT-003material_or_component: process consumable · evidence_status: Open · notes: enter O through Q only after currency normalization
3. Routing (tab name: Routing)
Routing worksheet
Copies 26 columns and 4 starter rows as tab-separated cells for Excel and Google Sheets.
Columns
- 1
operation_no - 2
operation - 3
site_or_subcontractor - 4
resource - 5
setup_hours_per_release - 6
setup_resource_rate_model_currency - 7
setup_rate_source_currency - 8
setup_rate_source - 9
setup_rate_date - 10
setup_rate_evidence_status - 11
cycle_hours_per_attempt - 12
machine_rate_model_currency - 13
machine_rate_inclusions - 14
attended_labor_hours_per_attempt - 15
labor_rate_model_currency - 16
labor_rate_inclusions - 17
consumables_per_attempt_model_currency - 18
outsourced_cost_per_good_unit_model_currency - 19
operation_yield - 20
rework_cost_per_good_unit_model_currency - 21
source_currency - 22
rate_source - 23
rate_date - 24
evidence_status - 25
setup_cost_per_release_model_currency - 26
operation_cost_per_attempt_excluding_setup_model_currency
Starter-row preview (4 rows; copy includes every cell)
10operation: prepare material · setup_rate_evidence_status: Open · operation_yield: 1.00
20operation: primary conversion · setup_rate_evidence_status: Open · operation_yield: 1.00
30operation: secondary conversion · setup_rate_evidence_status: Open · operation_yield: 1.00
40operation: outside process · setup_rate_evidence_status: Open · operation_yield: 1.00
4. Tooling and NRE (tab name: Tooling)
Tooling worksheet
Copies 12 columns and 3 starter rows as tab-separated cells for Excel and Google Sheets.
Columns
- 1
tool_id - 2
description - 3
one_time_cash_model_currency - 4
source_currency - 5
payment_milestone - 6
replacement_or_refurbishment_cost_model_currency - 7
demonstrated_good_unit_life - 8
recurring_cost_per_good_unit_model_currency - 9
ownership_location_and_use_basis - 10
source - 11
source_date - 12
evidence_status
Starter-row preview (3 rows; copy includes every cell)
TOOL-001description: dedicated fixture · recurring_cost_per_good_unit_model_currency: =IF(G2="","",F2/G2) · evidence_status: Open
TOOL-002description: cutting tool or insert · recurring_cost_per_good_unit_model_currency: =IF(G3="","",F3/G3) · evidence_status: Open
NRE-001description: programming or engineering · recurring_cost_per_good_unit_model_currency: =IF(G4="","",F4/G4) · evidence_status: Open
5. Quality and packaging (tab name: Quality)
Quality and packaging worksheet
Copies 15 columns and 3 starter rows as tab-separated cells for Excel and Google Sheets.
Columns
- 1
requirement_id - 2
inspection_test_or_pack_step - 3
frequency_or_sample_basis - 4
resource_time_per_event - 5
events_per_batch - 6
batch_good_units - 7
resource_rate - 8
outside_or_pack_cost_per_good_unit - 9
records_required - 10
cost_per_good_unit - 11
source - 12
currency - 13
source_date - 14
evidence_status - 15
notes
Starter-row preview (3 rows; copy includes every cell)
Q-001inspection_test_or_pack_step: in-process inspection · batch_good_units: 1 · cost_per_good_unit: =D2*E2*G2/F2+H2
Q-002inspection_test_or_pack_step: final inspection and records · batch_good_units: 1 · cost_per_good_unit: =D3*E3*G3/F3+H3
P-001inspection_test_or_pack_step: unit and shipment packaging · batch_good_units: 1 · cost_per_good_unit: =D4*E4*G4/F4+H4
6. Volume scenarios (tab name: Volume)
Volume scenario worksheet
Copies 26 columns and 4 starter rows as tab-separated cells for Excel and Google Sheets.
Columns
- 1
scenario - 2
release_quantity - 3
material_input_cost - 4
operation_10_variable_cost_per_attempt - 5
operation_10_cumulative_variable_cost_per_good_unit - 6
operation_20_variable_cost_per_attempt - 7
operation_20_cumulative_variable_cost_per_good_unit - 8
operation_30_variable_cost_per_attempt - 9
operation_30_cumulative_variable_cost_per_good_unit - 10
operation_40_variable_cost_per_attempt - 11
operation_40_cumulative_variable_cost_per_good_unit - 12
total_fixed_setup_cash_per_release - 13
fixed_setup_cost_per_final_good_unit - 14
tool_wear_unit_cost - 15
quality_pack_unit_cost - 16
direct_manufacturing_subtotal - 17
overhead_rate - 18
overhead_amount - 19
factory_cost_per_good_unit - 20
active_profit_multiplier - 21
modeled_factory_selling_price - 22
one_time_tooling_nre_cash - 23
first_order_cash - 24
repeat_order_unit_economics - 25
owner - 26
notes
Starter-row preview (4 rows; copy includes every cell)
prototypematerial_input_cost: =SUM(Material!T$2:T$4) · operation_10_variable_cost_per_attempt: =Routing!Z2 · operation_10_cumulative_variable_cost_per_good_unit: =IF(D2="","",(C2+D2)/Routing!S2+Routing!R2+Routing!T2)
first production releasematerial_input_cost: =SUM(Material!T$2:T$4) · operation_10_variable_cost_per_attempt: =Routing!Z2 · operation_10_cumulative_variable_cost_per_good_unit: =IF(D3="","",(C3+D3)/Routing!S2+Routing!R2+Routing!T2)
repeat releasematerial_input_cost: =SUM(Material!T$2:T$4) · operation_10_variable_cost_per_attempt: =Routing!Z2 · operation_10_cumulative_variable_cost_per_good_unit: =IF(D4="","",(C4+D4)/Routing!S2+Routing!R2+Routing!T2)
annual planning casematerial_input_cost: =SUM(Material!T$2:T$4) · operation_10_variable_cost_per_attempt: =Routing!Z2 · operation_10_cumulative_variable_cost_per_good_unit: =IF(D5="","",(C5+D5)/Routing!S2+Routing!R2+Routing!T2)
7. Supplier quote gap (tab name: Quote_Gap)
Supplier quote-gap worksheet
Copies 16 columns and 2 starter rows as tab-separated cells for Excel and Google Sheets.
Columns
- 1
supplier - 2
quote_number_and_revision - 3
part_revision - 4
quantity - 5
currency - 6
price_boundary - 7
normalized_quoted_factory_price - 8
modeled_factory_selling_price - 9
absolute_gap - 10
premium_to_model - 11
supplier_explanation - 12
buyer_disposition - 13
owner - 14
status - 15
quote_date - 16
model_scenario
Starter-row preview (2 rows; copy includes every cell)
Supplier Amodeled_factory_selling_price: =Volume!U3 · absolute_gap: =IF(G2="","",G2-H2) · premium_to_model: =IF(OR(I2="",H2=0),"",I2/H2)
Supplier Bmodeled_factory_selling_price: =Volume!U3 · absolute_gap: =IF(G3="","",G3-H3) · premium_to_model: =IF(OR(I3="",H3=0),"",I3/H3)
8. Sensitivity (tab name: Sensitivity)
Sensitivity worksheet
Copies 17 columns and 5 starter rows as tab-separated cells for Excel and Google Sheets.
Columns
- 1
input_id - 2
driver - 3
input_cell - 4
base_value - 5
low_value - 6
high_value - 7
range_source - 8
source_date - 9
evidence_status - 10
output_metric - 11
output_at_low - 12
output_at_base - 13
output_at_high - 14
absolute_swing - 15
decision_effect - 16
owner - 17
closure_action
Starter-row preview (5 rows; copy includes every cell)
S-001driver: primary material unit rate · input_cell: Material!P2 · base_value: =Material!P2
S-002driver: primary conversion cycle time · input_cell: Routing!K3 · base_value: =Routing!K3
S-003driver: primary conversion yield · input_cell: Routing!S3 · base_value: =Routing!S3
S-004driver: first production release quantity · input_cell: Volume!B3 · base_value: =Volume!B3
S-005driver: overhead rate · input_cell: Baseline!B9 · base_value: =Baseline!B9
9. Evidence log (tab name: Evidence_Log)
Evidence log
Copies 12 columns and 5 starter rows as tab-separated cells for Excel and Google Sheets.
Columns
- 1
input_id - 2
input_name - 3
evidence_status - 4
source_type - 5
source_or_document - 6
observation_date - 7
applicability - 8
reviewer - 9
review_date - 10
open_question - 11
due_date - 12
version_notes
Starter-row preview (5 rows; copy includes every cell)
E-001input_name: material rate · evidence_status: Open
E-002input_name: process route · evidence_status: Open
E-003input_name: cycle and setup resource rate · evidence_status: Open
E-004input_name: yield and rework · evidence_status: Open
E-005input_name: rate inclusions overhead and profit · evidence_status: Open
10. Summary (tab name: Summary)
Decision summary worksheet
Copies 9 columns and 17 starter rows as tab-separated cells for Excel and Google Sheets.
Columns
- 1
output - 2
formula_or_basis - 3
calculated_value - 4
currency - 5
input_or_source_cell - 6
observation_date - 7
evidence_status - 8
review_owner - 9
notes
Starter-row preview (17 rows; copy includes every cell)
material input costformula_or_basis: sum normalized Material base cost per attempt · calculated_value: =Volume!C3 · currency: =Baseline!B7
sequential material and variable routed costformula_or_basis: each operation yield applies to accumulated material and variable upstream cost · calculated_value: =Volume!K3 · currency: =Baseline!B7
total fixed setup cash per releaseformula_or_basis: sum fixed setup cash without yield adjustment · calculated_value: =Volume!L3 · currency: =Baseline!B7
fixed setup cost per final good unitformula_or_basis: total fixed setup cash divided once by final good-unit release quantity · calculated_value: =Volume!M3 · currency: =Baseline!B7
recurring tool wear per unitformula_or_basis: sum Tooling recurring cost per good unit · calculated_value: =Volume!N3 · currency: =Baseline!B7
quality and packaging unit costformula_or_basis: sum Quality cost per good unit · calculated_value: =Volume!O3 · currency: =Baseline!B7
direct manufacturing subtotalformula_or_basis: sequential variable routed cost plus setup allocation tool wear and quality · calculated_value: =Volume!P3 · currency: =Baseline!B7
overhead amountformula_or_basis: named overhead rate applied once to direct subtotal · calculated_value: =Volume!R3 · currency: =Baseline!B7
factory cost per good unitformula_or_basis: direct subtotal plus overhead · calculated_value: =Volume!S3 · currency: =Baseline!B7
modeled factory selling priceformula_or_basis: factory cost times active profit multiplier · calculated_value: =Volume!U3 · currency: =Baseline!B7
one-time tooling and NRE cashformula_or_basis: full cash amount by milestone · calculated_value: =Volume!V3 · currency: =Baseline!B7
first-order cashformula_or_basis: release quantity times selling price plus one-time cash · calculated_value: =Volume!W3 · currency: =Baseline!B7
repeat-order unit economicsformula_or_basis: modeled selling price without one-time cash · calculated_value: =Volume!X3 · currency: =Baseline!B7
Supplier A quote gapformula_or_basis: normalized quote minus modeled selling price · calculated_value: =Quote_Gap!I2 · currency: =Baseline!B7
lowest tested one-factor selling priceformula_or_basis: minimum output across individual low and high driver tests · calculated_value: =IF(COUNT(Sensitivity!K2:K6,Sensitivity!M2:M6)=0,"",MIN(Sensitivity!K2:K6,Sensitivity!M2:M6)) · currency: =Baseline!B7
base modeled selling priceformula_or_basis: controlled first production release scenario · calculated_value: =Volume!U3 · currency: =Baseline!B7
highest tested one-factor selling priceformula_or_basis: maximum output across individual low and high driver tests · calculated_value: =IF(COUNT(Sensitivity!K2:K6,Sensitivity!M2:M6)=0,"",MAX(Sensitivity!K2:K6,Sensitivity!M2:M6)) · currency: =Baseline!B7
The summary shows first-order cash and repeat-order economics separately. It does not add freight, duty, tariffs, inventory, warranty, or downtime. Its lowest and highest tested values are an envelope of individual one-factor tests, not a combined forecast. Continue with the quote-comparison and landed-cost workflow after the factory-price boundary is reconciled.
Worked example: one bracket, one explainable model
A US industrial buyer is evaluating machined bracket BRKT-042 Rev C. The repeat release is Q good units. The model and quote include the same material, finish, inspection, records, packaging, and named factory handoff. International freight and import costs are excluded.
Map the route and evidence
| Operation | Driver | Evidence | Open question |
|---|---|---|---|
| Material blank | Input weight, grade rate, recovery | Drawing, stock form, dated source | Bar, plate, or near-net blank? |
| CNC machining | Setup, cycle, attendance, inserts, yield | Process plan, study, tool-life basis | Which labor and overhead are in the rate? |
| Anodizing | Outside charge and lot basis | Current subcontract quote | Are minimum-lot charges included? |
| Inspect and pack | Frequency, records, protection, quantity | Quality plan and pack specification | Which checks occur by unit, sample, or lot? |
Operation
Material blank
- Driver
- Input weight, grade rate, recovery
- Evidence
- Drawing, stock form, dated source
- Open question
- Bar, plate, or near-net blank?
Operation
CNC machining
- Driver
- Setup, cycle, attendance, inserts, yield
- Evidence
- Process plan, study, tool-life basis
- Open question
- Which labor and overhead are in the rate?
Operation
Anodizing
- Driver
- Outside charge and lot basis
- Evidence
- Current subcontract quote
- Open question
- Are minimum-lot charges included?
Operation
Inspect and pack
- Driver
- Frequency, records, protection, quantity
- Evidence
- Quality plan and pack specification
- Open question
- Which checks occur by unit, sample, or lot?
Roll up the good-unit cost
Symbolic worked-example formulas
M = material input cost after supported scrap recovery
C0 = M
S = total fixed setup cash across operations
Qrelease = final good-unit release quantity
Rn = cycle machine labor and consumables for operation n
Yn = supported yield at operation n
Dn = downstream outside processing and rework after operation n
T = recurring tool wear per good unit
Q = inspection and packaging per good unit
H = supported factory overhead applied once to its named base
p = supplier profit markup on the stated cost base
C1 = (C0 + R1) / Y1 + D1
C2 = (C1 + R2) / Y2 + D2
Continue once per operation so later loss carries every upstream cost
Factory cost per good unit = final Cn + (S / Qrelease) + T + Q + H
Modeled factory selling price = factory cost per good unit x (1 + p)
Absolute quote gap = quoted factory price - modeled factory selling price
If profit is expressed as sales margin m instead:
Modeled factory selling price = factory cost per good unit / (1 - m)Each low or high test changes one documented material, cycle, yield, rate, or quantity input while holding every other base input fixed. The lowest and highest outputs form a one-factor envelope. They are not the result of combining every favorable or unfavorable input.
Turn the quote gap into questions
- If material is higher, ask about stock form, purchase lot, input weight, yield, and preparation.
- If conversion is higher, reconcile route, equipment, setup, cycle, attendance, rate inclusions, and subcontracting.
- If the quote is lower, confirm the same revision, material, finish, inspection, records, and pack.
- If one-time cash explains the gap, keep it separate from repeat-order economics.
- If no row explains the gap, preserve it as unresolved instead of forcing overhead or profit to fit.
Stop before customs value
The model is not an import declaration. Under 19 CFR 152.103, transaction value starts with the price actually paid or payable and can require specified additions. The importer and its broker or qualified adviser must review the actual transaction facts.
Common pitfalls and what they break
Costing the wrong revision
A Rev B route cannot validate a Rev C quote. Reopen the estimate or obtain a controlled requote before award.
Using finished weight as material input
The model omits the difference between starting stock and the good part, net of supported recovery.
Double-counting labor or overhead
A burdened rate plus the same cost again overstates every affected machine hour.
Applying final yield to every cost
The sheet can charge finishing or packaging to units rejected before those operations.
Mixing markup and margin
On a 100 cost base, 20% markup produces 120 while a 20% sales margin produces 125.
Amortizing one-time cash out of sight
The unit view looks smooth while the full tooling or NRE payment remains due.
Comparing different price boundaries
Included inspection, packing, or outside processing becomes a false supplier premium.
Inventing regional rate tables
An unsourced average cannot prove one factory's equipment, attendance, utilization, or overhead.
Publishing one point estimate
The decision can reverse when a supported material, cycle, yield, volume, or normalized currency input moves.
Treating a low quote as proof of efficiency
An omitted requirement, wrong revision, or unapproved substitution can create the same result.
Using the model as customs value
A sourcing hypothesis replaces the actual price-paid-or-payable analysis and required additions.
Refreshing only convenient inputs
The gap changes because of timing rather than manufacturing economics.
Glossary
- Should-cost
- A buyer's independent estimate of plausible cost or selling price under explicit assumptions.
- Clean-sheet costing
- A bottom-up estimate built from current physical and process drivers.
- Price analysis
- Evaluation of offered price without evaluating every separate cost element.
- Cost analysis
- Evaluation of separate cost elements and profit behind a proposed price.
- Technical baseline
- The controlled part, revision, material, process, quality, and other requirements.
- Manufacturing route
- The ordered operations, resources, sites, outside processes, and controls.
- Cycle time
- Processing time attributed to one attempted unit for a named operation.
- Setup time
- Time required to prepare a resource for a stated batch or run.
- Machine rate
- Cost per unit of machine time with its inclusions stated.
- Burdened rate
- A rate that includes named indirect costs in addition to direct resource cost.
- Yield
- Good output divided by attempted input on a defined basis.
- Scrap recovery
- Supported value recovered from material that does not remain in the good part.
- NRE
- Non-recurring engineering, programming, development, or validation work.
- Markup
- Profit divided by its cost base.
- Sales margin
- Profit divided by selling price.
- Factory-price boundary
- The production, quality, packaging, overhead, profit, and handoff layers included in price.
FAQ
Practical answers for US industrial buyers building and reviewing a manufacturing should-cost model.