# Revenue Variables

This article explains **revenue variables** in Model Reef.

You will learn:

* What a revenue variable represents.
* How revenue variables use drivers and formulas.
* How revenue affects P\&L, Balance Sheet, Cashflow and the Cash Waterfall.
* Common patterns for building revenue models.

{% stepper %}
{% step %}

### What a revenue variable is

A **revenue variable** represents a stream of income earned by the business, for example:

* Subscription revenue.
* Licence or usage revenue.
* Service fees.
* Retail or ecommerce sales.
* Project based billings.

Each revenue variable:

* Lives in a branch (entity, division, store, project).
* Has a category and subcategory, such as `Revenue - Recurring` or `Revenue - Services`.
* Has a time series driven by drivers, presets or manual values.
* Has timing and delay settings that determine accrual and cash behaviour.
  {% endstep %}

{% step %}

### How revenue variables use drivers

Revenue variables typically use a driver based formula such as:

* `Revenue = Units * Price`.
* `Revenue = Customers * ARPU`.
* `Revenue = Contracts * AverageContractValue`.

Where:

* Units, customers or contracts are **operational drivers**.
* Price or ARPU are **economic drivers**.
* Additional modifier drivers can apply seasonality or scenario scaling.

You can also use presets such as growth based, regression based or ML based forecasts as the underlying series for revenue.
{% endstep %}

{% step %}

### Revenue in P\&L

In the **P\&L**:

* Revenue variables increase the Revenue lines in the periods when revenue is **earned**, regardless of when cash is received.
* Revenue categories and subcategories determine how lines are grouped (for example recurring vs non recurring).
* Multiple revenue variables can roll into the same category while remaining separately traceable.

Revenue is the starting point for Gross Profit and downstream profitability.
{% endstep %}

{% step %}

### Revenue in the Balance Sheet

In the **Balance Sheet**:

* If there is **no delay**, revenue accrual and cash happen in the same period and no receivable is created.
* If there is a **delay** between accrual and cash (for example 30 days), the timing engine:
  * Records revenue in P\&L when earned.
  * Creates **Accounts Receivable** for the amount not yet collected.
  * Reduces Accounts Receivable and increases cash when the delay expires and cash is received.

This happens automatically based on the delay setting and model periodicity.
{% endstep %}

{% step %}

### Revenue in the Cashflow Statement

In the **Cashflow Statement**:

* Revenue variables feed **Receipts from customers**.
* Cash inflows are recognised when cash is actually received, not when revenue is accrued.
* The difference between accrual and cash is reflected in working capital movements.

This ensures that your operating cashflow realistically follows payment terms rather than bookings alone.
{% endstep %}

{% step %}

### Revenue in the Cash Waterfall

In the **Cash Waterfall**:

* Revenue appears as the top line, consistent with P\&L revenue.
* COGS, Opex and Staff costs are shown underneath, leading to EBITDA.
* Changes in working capital, capex, debt and equity then bridge from EBITDA to changes in cash.

Revenue variables therefore drive the first step of the waterfall and indirectly influence free cashflow and valuation outputs.
{% endstep %}

{% step %}

### Common revenue modelling patterns

Some patterns you may use:

* **Subscription businesses**
  * Units driver: active subscribers or seats.
  * Price driver: ARPU, potentially by tier.
  * Churn and new sales as operational drivers.
* **Retail and ecommerce**
  * Units driver: transactions or units sold.
  * Price driver: average basket size or price per unit.
  * Seasonality modifiers for monthly or weekly patterns.
* **Project based or services**
  * Driver: billable hours and rate per hour.
  * Driver: milestones completed and milestone values.
  * Timing engine used to represent billing schedules and payment terms.

All of these approaches use revenue variables as the accounting endpoint with drivers capturing the underlying economics.
{% endstep %}
{% endstepper %}

***

## Related articles

* [Project Pipeline & Revenue Scheduling](/use-cases/professional-services-and-consulting/project-pipeline-and-revenue-scheduling.md)
* [Valuation](/how-tos/valuation.md)
* [Liability Variables: what is, rules, what it affects](/help/drivers-variables-and-timing/liability-variables.md)
* [Scenario Toggle Rules](/syntax/chart-and-table-syntax/scenario-toggle-rules.md)


---

# Agent Instructions: 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/help/drivers-variables-and-timing/revenue-variables.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.
