# Create a driver-based model

This article explains how to create a driver-based model.

A **driver model** is a type of model in which outputs are determined by key input variables called **drivers**. Examples include units sold, price per unit, headcount, production volume, etc. These inputs are linked to outputs such as revenue, costs, or demand through defined formulas or proportional logic.

For example:

* Revenue = Units Sold × Price
* Cost = Headcount × Cost per Employee

This allows you to quickly adjust assumptions and instantly see the impact across the model.&#x20;

### How Model Builder supports driver models

Model Builder makes it easier to create driver-based models by:

* Linking input rows (drivers) to calculated rows
* Structuring dependencies using hierarchies
* Providing various driver methods to choose from.

### Create a driver-based model

Follow the steps mentioned in the [Create a model using Model Builder](/planning-sheets/how-tos/create-a-model-using-model-builder.md) section and create the model you want.

For example, consider the model below.

<figure><img src="/files/jHIbHZg9VzrSYbCaWrae" alt=""><figcaption></figcaption></figure>

{% code overflow="wrap" %}

```
Gross Revenue = Volume x Revenue per Barrel
```

{% endcode %}

In the above model, *Gross Revenue* is driven by two drivers— *Volume* and *Revenue per Barrel*.&#x20;

Consider adding another input driver, such as **Price Growth %**, to evaluate how price changes impact gross revenue over time. In such scenarios, you can use driver-based modeling.

1. Create a new row to capture the driver output, such as **Final Gross Revenue**. Alternatively, you can reuse an existing row if it fits your use case.

{% hint style="warning" %}

#### Note

Ensure that the new row is created as an independent row to avoid circular references.
{% endhint %}

2. Configure the row properties for the *Final Gross Revenue* as follows:

* **Type**: Driver Input (as this row is driven by a driver input).
* **Driver Row**: Gross Revenue (one driver).
* **Driver Method**: Growth By Percentage.

<figure><img src="/files/qn8GySHOCZo5XUsgK0Ew" alt=""><figcaption></figcaption></figure>

3. Go back to the planning sheet and select the 'Driver' icon. Then, enter the price growth % values in the **Driver Input** table that appears below. You can enter driver input at either the total or leaf levels.

<figure><img src="/files/1PaiRni1xPIh85LSIbks" alt=""><figcaption></figcaption></figure>

4. After entering the *Price Growth %* values, the ***Final Gross Revenue*** row is automatically updated based on the selected driver method (10% growth in gross revenue).&#x20;
5. Enter different driver inputs to calculate not only the change in revenue, but also the net revenue and gross profit as price growth changes roll up to the top.

<figure><img src="/files/DvEAydxZvlfT6NMdnbra" alt=""><figcaption></figcaption></figure>

This shows how driver-based modeling helps you find outcomes based on key assumptions, so you can test different driver inputs without changing the core model.

Changes automatically roll up to top-level results and also distribute across periods, allowing you to perform fast, flexible what-if analysis directly in the planning sheet.

You can also modify the distribution method while creating a driver-based model. To know more, refer to [Distribution](/planning-sheets/how-tos/configure-row-properties-in-the-model.md#distribution).


---

# 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://docs.fabricplan.com/planning-sheets/how-tos/create-a-driver-based-model.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.
