BOM & Unit Cost Modelling
This use case explains how to model bill of materials (BOM) structures and unit production costs for manufacturing and production businesses in Model Reef.
You will:
Build an ingredient or component library with costs per unit.
Define BOMs for finished goods and intermediates.
Compute unit cost per SKU or product family.
Connect unit costs to production volumes, COGS and margins.
When to use this pattern
Use this pattern when:
You manufacture physical products with identifiable components or ingredients.
Unit economics and gross margins are key decision drivers.
You need to test cost changes, supplier changes or product redesigns on margin.
You want a clean bridge from operations assumptions into P&L and Cash Waterfall.
Often you will combine this with:
Capacity and Production Planning
Inventory Turnover and Working Capital
Multi Plant Consolidated Forecasting
Architecture overview
The BOM and unit cost structure has four layers. Use the stepper below to explore each layer.
Step 1: Build a component cost library
In the Data Library, create entries for each key component or material, for example:
Component - Steel Sheet - Cost per kgComponent - Plastic Resin - Cost per kgComponent - Motor Assembly - Cost per unitComponent - Packaging - Cost per unit
For each component, specify:
Unit of measure (kg, litre, unit, metre, etc.)
Cost per unit of measure
Tags for product family, plant or supplier if useful
Update these drivers as supplier prices change. You can import updated price lists from CSV exports to avoid manual edits.
Step 2: Define BOMs for finished and intermediate products
Decide which SKUs or product families you want to cost in detail. Start with the most important products by volume or margin.
For each SKU or product family, create drivers representing BOM quantities per finished unit, for example:
BOM - Product A - Steel Sheet kg per unitBOM - Product A - Plastic Resin kg per unitBOM - Product A - Packaging units per unit
If you use intermediate products, create hierarchical BOMs:
BOM - Subassembly Xdefined from components.BOM - Product Bdefined fromSubassembly Xplus other components.
Maintain these BOM drivers in Model Reef or import them periodically from another system.
Step 3: Compute material cost per unit
Create a driver/variable for each SKU such as Material Cost per Unit - Product A.
Use formulas that multiply component quantities by component costs and sum the results. Example formula structure:
Material Cost per Unit - Product A = BOM Steel Sheet × Cost per kg Steel Sheet
BOM Plastic Resin × Cost per kg Plastic Resin
BOM Packaging × Cost per unit Packaging
Handle scrap/wastage by either:
Increasing BOM quantities to account for expected scrap, or
Applying a wastage multiplier: Total Material Cost × (1 + Scrap Percentage)
This produces a time series for material cost per unit that responds to changes in component prices and BOM assumptions.
Step 4: Include labour and overhead if needed
To produce a fuller unit cost, add:
Direct labour cost per unit
Factory overhead per unit
Approaches:
Labour Hours per Unit - Product A× hourly labour rate for the plant/lineAllocate factory overheads based on machine hours, labour hours or volume
Resulting drivers:
Conversion Cost per Unit - Product ATotal Cost per Unit - Product A = Material Cost per Unit + Conversion Cost per Unit
For planning-level costing, a single average overhead per unit for a product family is often sufficient.
Step 5: Link unit cost to production volumes and COGS
For each SKU or product family create:
A driver for production volumes per period, e.g.
Units Produced - Product ARevenue and COGS variables, e.g.
Revenue - Product A,COGS - Product A
Example formulas:
Revenue - Product A = Units Sold × Selling Price per Unit - Product A
COGS - Product A = Units Sold × Total Cost per Unit - Product A
If production and sales are tracked separately:
Use units produced for capacity and cost modelling
Use units sold for revenue and COGS, with inventory changes modelled separately in Inventory Turnover and Working Capital
COGS variables typed as COGS will flow into gross margin in the P&L and into Cashflow and Cash Waterfall via model timing.
Step 6: Build margin and sensitivity views
With unit cost and revenue per unit in place, compute:
Unit Margin = Selling Price per Unit − Total Cost per Unit
Unit Margin Percentage = Unit Margin / Selling Price per Unit
Use dashboards to display:
Unit cost components (materials, labour, overhead) per product or family
Unit margin and gross margin percentage per product
Sensitivity of margin to component costs or selling price changes
For scenario analysis, clone the model and adjust:
Component prices (raw material shocks)
BOM structure (design changes)
Selling prices
Compare effects on gross margin and cashflow across scenarios.
Step 7: Connect to pricing, capacity and working capital
Once BOM and unit cost are wired into the model:
Use unit margin and gross margin analysis to support pricing decisions
Feed production volumes into Capacity and Production Planning to verify deliverability with existing plant
Feed production and sales volumes into Inventory Turnover and Working Capital to approximate stock levels and working capital needs
This connects engineering and operations assumptions back to financial outcomes for product and portfolio decision-making.
Check your work
Component costs and BOM quantities are realistic and match engineering data or management expectations.
Unit costs and margins per product line look plausible compared to historical margin analysis.
Changes in component prices or BOM structure behave as expected and clearly show up in margin outputs.
The level of detail is manageable for your team to maintain over time.
Troubleshooting
Related guides
Last updated