Build a Cost of Goods Model

This guide explains how to build a structured Cost of Goods Sold (COGS) model in Model Reef using cost per unit drivers, COGS variables and timing rules. The objective is to link volumes to direct costs and understand gross margin clearly.

Model Reef does not implement formal inventory accounting, but it supports COGS timing and payables that behave similarly to many practical inventory flows.

Before you start

You should have:

  • A model with unit or revenue drivers.

  • At least an initial idea of direct cost components, for example:

    • Materials.

    • Direct labour.

    • Third party services.

  • An understanding of COGS variables and how they affect P&L and Cashflow.

If needed, review:

  • Build a Unit Economics Model

  • Build a Pricing Model

What you will build

  • Drivers for cost per unit by product or service line.

  • COGS variables that scale with volume.

  • Timing rules for when costs are paid.

  • A clear gross margin picture in P&L and Cash Waterfall.

1

Step 1: Break down your cost structure

List direct cost components, for example:

  • Product companies:

    • Raw materials.

    • Manufacturing labour.

    • Packaging and freight.

  • Service companies:

    • Delivery labour.

    • Third party platform fees.

    • Royalties.

Decide which costs are materially linked to units or revenue and belong in COGS rather than Opex.

2

Step 2: Create cost per unit drivers

In the Data Library:

1

For each important cost component, create Economic drivers, for example:

  • COGS per Unit - Materials

  • COGS per Unit - Packaging

  • COGS per Unit - Delivery Labour

2

Set initial cost levels and any expected inflation or efficiency gains.

3

If costs differ by product or segment, create separate drivers for each.

These drivers will be multiplied by units to generate cost forecasts.

3

Step 3: Build COGS variables by product or segment

For each product, service or segment:

1

Create one or more COGS variables, for example:

  • COGS - Product A - Materials

  • COGS - Product A - Packaging

2

Link them to units, for example:

3

Choose variable frequencies and timing consistent with how costs arise.

4

If you prefer a simpler structure, you can aggregate all direct costs into a single COGS variable per product.

These variables reduce gross profit and create payables when delays are applied.

4

Step 4: Configure payment timing

To approximate real world payment behaviour:

1

For each COGS variable, set a delay representing payment terms, for example:

  • 30 days for suppliers.

  • 45 days for manufacturers.

2

This will:

  • Recognise cost in P&L when goods or services are consumed.

  • Create Accounts Payable until suppliers are paid.

  • Show cash outflows in the Cashflow Statement and Cash Waterfall when cash is actually paid.

This timing is a key component of working capital.

5

Step 5: Review gross margin and COGS mix

Open the P&L and review:

  • Revenue by product or segment.

  • COGS by product or segment.

  • Gross Profit and Gross Margin percentage.

Check that:

  • Margins match expectations.

  • Changes over time reflect planned cost efficiencies or mix shifts.

You can also create custom charts to show:

  • COGS breakdown by component.

  • COGS as a percentage of revenue.

  • Margin by product line.

6

Step 6: Stress test cost assumptions with scenarios

Because scenarios are separate models, create variant models for COGS stress testing, for example:

  • Model - COGS - Base

  • Model - COGS - Higher Input Costs

  • Model - COGS - Improved Efficiency

In each:

  • Adjust cost per unit drivers.

  • Change payment terms to see working capital effects.

  • Evaluate impact on margins, cash and valuation.

This helps you understand exposure to supplier price changes or cost saving initiatives.

Check your work

  • Cost drivers per unit are realistic and well documented.

  • COGS variables correctly multiply units by cost drivers.

  • Payment terms reflect supplier arrangements.

  • Gross margin and working capital behave as expected under different scenarios.

Troubleshooting

chevron-rightGross margin is negative or extremely lowhashtag

Confirm that costs allocated to COGS are not double counted in Opex and that prices cover total direct cost per unit.

chevron-rightCash impact of COGS feels disconnected from P&Lhashtag

Recheck delays and ensure that supplier payment terms are modelled correctly.

chevron-rightToo much detail in COGShashtag

If the model becomes unwieldy, aggregate minor cost components into fewer variables or drivers.

Last updated