> 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/ecommerce-and-d2c-brands/multi-channel-revenue-forecasting.md).

# Multi-Channel Revenue Forecasting

This use case describes how to forecast revenue across multiple channels for eCommerce and direct to consumer brands using Model Reef.

You will:

* Represent sales channels such as direct web, marketplaces and wholesale.
* Forecast traffic, conversion and average order value where appropriate.
* Model units and revenue per SKU or product family per channel.
* Roll channel level revenue into consolidated P\&L, cash and valuation.

The aim is to make channel performance explicit rather than hiding everything in a single aggregate revenue line.

## When to use this pattern

Use this pattern when:

* You sell across multiple channels with different economics, for example direct web, Amazon, retail partners and wholesale.
* Channel mix is strategic for margin and brand control.
* You want to see channel contributions to revenue and profit separately.

It is usually combined with:

* **SKU Margin and Contribution Modelling**
* **Paid Ads CAC Forecasting**
* **Inventory Purchases and Reorders**

***

## Architecture overview

Multi channel forecasting includes:

* Branch structure
  * Branches per channel (Direct, Marketplace, Wholesale, Retail, etc.).
  * Optional child branches for region or major partners.
* Volume and funnel drivers
  * Traffic and conversion drivers for direct channels.
  * Order volumes and sell-in volumes for wholesale and retail.
* Price and discount drivers
  * Selling price and discount per SKU or family per channel.
  * Different economics at retail versus wholesale versus marketplace.
* Revenue variables and outputs
  * Revenue per SKU per channel.
  * Channel level revenue and margin.
  * Consolidated brand or group revenue.

***

{% stepper %}
{% step %}

### Define channel branches

In the branch tree, create a structure such as:

* `Brand`
  * `Channel - Direct Web`
  * `Channel - Marketplaces`
  * `Channel - Wholesale`
  * `Channel - Retail Stores`

If you operate multiple brands, have a parent branch per brand under a group level root branch.

Each channel branch will hold its own revenue, discount and sometimes cost variables.
{% endstep %}

{% step %}

### Set up volume and funnel drivers per channel

For direct web and app channels, use funnel drivers:

* `Sessions or Visits`.
* `Conversion Rate`.
* `Average Basket Size in Units`.
* `Average Order Value`.

Compute orders and units sold as:

* `Orders = Visits × Conversion Rate`.
* `Units Sold = Orders × Units per Order`.

For marketplaces, wholesale and retail, you may use:

* Order volumes in units per customer or partner.
* Sell-in volume to retailers and distributors.
* Sell-out volume if you receive reports on downstream sales.

Store these as drivers or variables in the relevant channel branches.
{% endstep %}

{% step %}

### Define pricing and discount per channel

For each SKU or family and channel, define drivers for:

* `List Price per Unit - Channel`.
* `Average Discount per Channel`.
* `Net Price per Unit - Channel`.

Examples:

* `Net Price - Hoodie Classic - Direct Web`.
* `Net Price - Hoodie Classic - Marketplace`.
* `Net Price - Hoodie Classic - Wholesale`.

Note: Marketplaces may also have platform commission percentages which you can model either as a reduction in effective net price or as a separate cost line.
{% endstep %}

{% step %}

### Build revenue variables per SKU and channel

Combine volume and price to create Revenue variables per SKU and channel, for example:

* `Revenue - Hoodie Classic - Direct Web`.
* `Revenue - Hoodie Classic - Marketplace`.
* `Revenue - Hoodie Classic - Wholesale`.

Typical formula:

* `Revenue = Units Sold per Channel × Net Price per Unit per Channel`.

Ensure all revenue variables are typed as **Revenue** so they flow into P\&L, Cashflow and Cash Waterfall.

Create channel level roll up variables or use reports and dashboards to aggregate across SKUs within each channel branch.
{% endstep %}

{% step %}

### Include channel specific variable costs where relevant

Channel economics often differ in variable costs, for example:

* Marketplace commissions and fulfilment fees.
* Wholesale discounts and marketing contributions.
* Retail rent, staffing and store operating costs.

Create COGS or Opex variables such as:

* `COGS - Marketplace Fees`.
* `Opex - Retail Store Rent`.
* `Opex - Wholesale Slotting Fees`.

Attach these to the relevant channel branches. Combined with SKU level contribution modelling, they give a comprehensive view of channel profitability.
{% endstep %}

{% step %}

### Build channel and consolidated dashboards

Create dashboards that show:

* Revenue per channel and per SKU over time.
* Channel mix as a share of total revenue.
* Gross margin and contribution per channel.
* Key KPIs such as revenue per visit for Direct, revenue per customer, or revenue per store.

At the root branch, view:

* Total brand or group revenue across channels.
* Margin and cash metrics that aggregate all channels.

This supports discussion about growth priorities, channel investment and channel mix management.
{% endstep %}

{% step %}

### Use scenarios for channel strategy and mix

Clone the model into scenario models to reflect different channel strategies, for example:

* Aggressive marketplace expansion.
* Direct first strategy with reduced marketplace reliance.
* Wholesale expansion with new retail partners.
* Store roll out and new retail geographies.

For each scenario, adjust:

* Volume, funnel and pricing drivers per channel.
* Channel specific cost assumptions.
* Marketing and CAC assumptions in connected paid media models.

Compare scenarios on:

* Revenue and margin per channel.
* Channel mix and dependency.
* Cash requirements and risk.
  {% endstep %}
  {% endstepper %}

***

{% hint style="info" %}
Check your work

* Channels and branches reflect how the business actually operates and reports.
* Volume, price and discount assumptions per channel are grounded in data or well informed estimates.
* Channel revenue and margin patterns look plausible when compared to historical results.
* Consolidated revenue aligns with company level planning when calibrated.
  {% endhint %}

***

<details>

<summary>Troubleshooting</summary>

* Channel results do not reconcile to total sales\
  Check for double counting between channels and ensure that volumes are partitioned correctly.
* Mix shifts create unexpected swings in margin\
  Verify that unit cost and channel specific costs are correctly allocated and that price differences are correctly applied.
* Model becomes too complex with many channels and partners\
  Group smaller channels or partners into aggregate buckets and only model the largest or most strategically important ones in detail.

</details>

***

## Related guides

* [Build a Multi Entity Group Model](/how-tos/core-modelling/build-a-multi-entity-group-model.md)
* [Build a Multi Period Comparison Dashboard](/how-tos/dashboards-and-reporting/build-a-multi-period-comparison-dashboard.md)
* [Revenue Variables: what is, rules, what it affects](/help/drivers-variables-and-timing/revenue-variables.md)
* [Modifier Driver Fields](/syntax/drivers-syntax/modifier-driver-fields.md)
