Customer-Level Revenue Modelling
This use case explains how to model customer level revenue, pricing, retention and growth for wholesale, distribution and B2B trade businesses in Model Reef.
You will:
Segment customers by size, segment, channel or region.
Build drivers for active customers, order frequency and basket size.
Connect customer behaviour to SKU revenue and margin forecasts.
Use scenarios to test pricing, retention and acquisition strategies.
Model Reef is not a CRM. It uses aggregated customer behavioural metrics, not individual account records, to drive financial forecasts.
When to use this pattern
Use this pattern when:
Customer relationships and repeat purchases are core to the business.
You want to understand revenue at customer segment level, not just product level.
You need to link pricing and discount strategies to customer economics.
You want to test acquisition, retention and reactivation plans.
It pairs naturally with:
SKU and Margin Forecasting
Inventory Replenishment Cycles
Warehouse Capacity & Logistics Model
Build a Unit Economics Model
Architecture overview
Customer level revenue modelling uses:
Customer segmentation
Segments based on size, sector, channel or region.
Key accounts handled separately where needed.
Behaviour drivers
Active customer counts per segment.
Acquisition, churn and reactivation rates.
Order frequency and average order value.
Revenue construction
Revenue per segment and key account.
Links between customer segments and SKU demand.
Scenario and strategy analysis
Alternative pricing, discount and contract strategies.
Different acquisition and retention programmes.
Define customer segments
List your main customer segments, for example:
Enterprise customers
Mid market customers
Small business customers
Resellers or distributors
Key named accounts in specific industries
Decide whether to:
Model key accounts individually and the rest in pooled segments, or
Model only segments where no single customer is large enough to warrant separate treatment.
Reflect these segments using branches, categories or tags. For example:
Branches for regions and channels
Categories for customer segments within those branches
Build customer count and movement drivers
In the Data Library, create time series for:
Opening Active Customers per Segment
New Customers Acquired per Period
Churned Customers per Period
Reactivated Customers per Period where relevant
You can also express these as rates:
Acquisition Rate relative to a prospect pool
Churn Rate relative to the active base
Net Growth Rate
Compute Active Customers per Segment each period as:
Active Customers = Previous Active + Acquisitions − Churn + Reactivations
This provides the base population for order and revenue modelling.
Create order frequency and basket size drivers
For each segment, define drivers such as:
Average Orders per Customer per Period
Average Order Value
Average Lines per Order (if linking to warehouse load models)
Compute segment level revenue using:
Orders = Active Customers × Orders per Customer
Revenue = Orders × Average Order Value
To link to SKU level volumes more explicitly, also define:
Average Units per Order per SKU family
Then derive SKU level volumes using customer segment volumes and mix drivers
Keep the level of detail manageable by using product families rather than individual SKUs when working at segment level.
Represent pricing and discount structures
Create drivers for pricing behaviour per segment, for example:
List Price per Product Family
Average Discount Percentage per Segment
Contracted vs spot volume shares
Implement revenue as:
Net Price per Unit = List Price × (1 − Discount Percentage)
Revenue = Units Sold × Net Price per Unit
Segments with higher bargaining power may have higher discounts and lower net prices. Represent promotional periods by adjusting discount drivers in specific periods.
Link customer revenue to SKU and logistics models
To connect customer behaviour to other parts of the model:
Map segment level demand into SKU or SKU family demand using mix drivers
Use the resulting SKU volumes in SKU and Margin Forecasting
Feed units and order counts into warehouse and logistics models
This ensures that customer strategies show up as:
Changes in SKU mix and margins
Changes in warehouse and logistics load
Changes in inventory requirements and working capital
Use scenarios for growth, pricing and retention strategies
Clone the base model into scenario models to test strategies such as:
Increased investment in customer acquisition with different return expectations
Changes in retention through service level, product or pricing changes
Shifts in customer mix toward higher or lower margin segments
Targeted price increases or discount reductions in specific segments
Loss of a major key account
In each scenario, adjust:
Customer movement drivers (acquisition, churn, reactivation)
Order frequency and average order value
Pricing and discount drivers
Segment mix and key account assumptions
Compare scenarios using:
Revenue by segment, product family and region
Gross margin by segment
Customer level unit economics where constructed
Overall cashflow and valuation impacts
Calibrate and validate against historical data
To ensure credibility:
Import historical revenue by customer segment and key account where available
Derive historical orders per customer and average order value where data allows
Calibrate acquisition and churn rates to match observed changes in active customers over time
Use this calibration to set starting points for forward assumptions and scenario ranges.
Check your work
Segment definitions reflect how the business manages and reports customers.
Behaviour drivers are grounded in historical data or reasonable assumptions.
Pricing and discount patterns align with commercial practice.
Scenario insights are actionable for sales, marketing and account teams.
Troubleshooting
Related guides
Last updated