> For the complete documentation index, see [llms.txt](https://help.modelreef.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.modelreef.io/use-cases/wholesale-distribution-and-b2b-trade/inventory-replenishment-cycles.md).

# Inventory Replenishment Cycles

This use case explains how to model inventory levels and replenishment cycles for wholesale, distribution and B2B trade businesses in Model Reef.

You will:

* Approximate inventory levels using purchase and sales timing.
* Represent lead times, reorder rules and safety stock in driver form.
* Estimate stock related working capital needs.
* Link inventory assumptions to P\&L, Cashflow and capacity models.

{% hint style="info" %}
Model Reef is not an operational inventory optimisation engine. It provides a financial view of inventory and working capital based on higher level policies and drivers.
{% endhint %}

***

## When to use this pattern

Use this pattern when:

* Inventory is a material part of your Balance Sheet and cash usage.
* You manage stock across one or more warehouses.
* You need to understand how replenishment policies impact cash and capacity.
* You want to connect SKU level demand forecasts to inventory and funding.

It fits alongside:

* SKU and Margin Forecasting
* Warehouse Capacity and Logistics Model
* Working Capital and Cashflow planning

***

## Architecture overview

Inventory replenishment modelling uses:

* Demand and sales inputs
  * Units sold per SKU or SKU group.
  * Seasonality and campaign effects.
* Replenishment and lead time drivers
  * Reorder frequency and order quantities.
  * Supplier lead times.
  * Safety stock coverage.
* Inventory representation
  * Approximate stock on hand in units or value.
  * Inventory turnover metrics.
  * Stock ageing approximations where needed.
* Financial integration
  * COGS and purchases timing.
  * Working capital and funding requirements.
  * Warehouse capacity demands.

***

{% stepper %}
{% step %}

### Start from SKU demand forecasts

From the SKU and Margin Forecasting pattern, obtain:

* Unit sales per period for each SKU or SKU group.
* Seasonality and campaign patterns.
* Any channel or warehouse allocations.

These series represent demand that inventory must serve.
{% endstep %}

{% step %}

### Define replenishment rules as drivers

In the Data Library, create drivers that approximate your inventory policy, for example:

* Target Days of Cover per SKU or SKU group.
* Supplier Lead Time in days or periods.
* Reorder Frequency (for example weekly, fortnightly, monthly).
* Order Quantity rules (for example based on multiples of cartons or pallets).

Because Model Reef is period based rather than transaction based, express these as average behaviours at the model's granularity. For example:

* Monthly model: Target Cover in months, reorder frequency as multiples of months.
* Weekly model: Target Cover in weeks, reorder frequency in weeks.
  {% endstep %}

{% step %}

### Approximate inventory levels

Using demand and policy drivers, approximate average inventory levels. For example:

* Average Inventory in Units = Demand per Period × (Lead Time plus Safety Cover in Periods) divided by 2 for simple policies, or
* Average Inventory in Units = Demand per Period × Target Cover in Periods.

Then compute inventory value using unit cost:

* Inventory Value = Average Inventory in Units × Unit Cost per Unit.

Represent this with Asset variables, for example:

* Inventory - Product Family A.
* Inventory - Product Family B.
* Inventory - Long Tail SKUs.

You can group SKUs into a small number of inventory pools to keep the model manageable.
{% endstep %}

{% step %}

### Link purchases timing to COGS and inventory

For each inventory pool, ensure that:

* COGS reflects cost of units sold in each period.
* Purchases timing reflects when you pay suppliers.
* Inventory balances capture the difference between purchases and COGS.

In Model Reef, you can approximate this by:

* Setting COGS variables to follow sales timing.
* Setting purchase related Opex or COGS variables with delays that reflect lead times and payment terms.
* Using Inventory Asset variables to approximate stock on hand, with changes over time informed by the difference between purchases and sales based series.

The key is that P\&L, Balance Sheet and Cashflow views together produce a coherent picture of inventory related working capital.
{% endstep %}

{% step %}

### Analyse inventory turnover and working capital

Create metrics and dashboards to show:

* Inventory Turnover = COGS divided by Average Inventory.
* Days in Inventory = 365 or 52 or 12 divided by Turnover, depending on granularity.
* Inventory value over time by product family and location.
* Working capital tied up in stock compared to receivables and payables.

These views help you see which parts of the product range or network consume the most capital and where policy changes could have the biggest impact.
{% endstep %}

{% step %}

### Use scenarios for policy and supplier risk

Clone the model into scenario models to explore changes such as:

* Higher or lower target days of cover.
* Longer or shorter supplier lead times.
* Shifts from sea freight to air or vice versa.
* Additional safety stock in response to supply chain risk.
* SKU rationalisation or range expansion.

In each scenario, adjust:

* Policy drivers for cover, lead time and ordering.
* Unit cost and freight assumptions.
* Demand drivers from the SKU model.

Compare scenarios using:

* Inventory balances and working capital required.
* Logistics and warehouse capacity utilisation.
* Stock outs or overstock risk approximated via changes in service levels or buffer coverage where you choose to represent these.
  {% endstep %}

{% step %}

### Integrate with financing and cash planning

Once inventory behaviours are included alongside receivables and payables in the Balance Sheet:

* Cashflow Statement and Cash Waterfall will show stock related cash impacts.
* You can test the effect of changes in inventory policy on overdraft usage, trade finance and covenants.
* You can connect inventory decisions to capex for additional storage or automation.

This ties together operational and financial planning in one model.
{% endstep %}
{% endstepper %}

***

<details>

<summary>Check your work</summary>

* Inventory levels and turnover metrics are realistic compared to historical data.
* Policy drivers are simple enough to explain yet capture the main behaviour.
* Working capital projections align with management experience and bank reporting.
* Scenario comparisons help frame decisions about policy changes and risk.

</details>

***

<details>

<summary>Troubleshooting</summary>

* Inventory appears negative or volatile\
  Check that demand, purchase and inventory value methods are consistent and that you are not double counting inventory movement.
* Working capital changes are hard to interpret\
  Use separate dashboards and reports that break out receivables, inventory and payables so you can see each component clearly.
* Too many small SKUs to manage\
  Group SKUs into a handful of inventory pools based on similar behaviour rather than modelling each item separately.

</details>

***

## Related guides

* [Build an Inventory Timing Model](/how-tos/operations-and-unit-economics/build-an-inventory-timing-model.md)
* [Build a DCF Model (FCFF)](/how-tos/valuation/build-a-dcf-model-fcff.md)
* [Liability Variables: what is, rules, what it affects](/help/drivers-variables-and-timing/liability-variables.md)
* [Allowed Operators](/syntax/formula-syntax/allowed-operators.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.modelreef.io/use-cases/wholesale-distribution-and-b2b-trade/inventory-replenishment-cycles.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
