Skip to main content
Segmenting drivers lets one driver represent many dimension values. Use it when a single metric, such as Revenue or Headcount, should be modeled by Department, Region, Account, Product, or another dimension.

Why segment drivers?

Easier and scalable modeling

Without dimensions, modeling Growth Rate by Region might require separate drivers such as Growth Rate - US and Growth Rate - EMEA. That naming pattern gets hard to maintain, and totals must reference each driver manually.
Separate unsegmented growth rate drivers by region
With dimensions, a single Growth Rate driver can be segmented by Region. You can write one formula that applies to each region using This Segment, and rollups stay maintained as dimension values are added.
Single growth rate driver segmented by region

Roll up and drill into data

Dimensions make it easier to model at different levels of granularity. For example, a database with Revenue segmented by Region and City has one driver per region-city combination.
Revenue segmented by region and city
To view Revenue rolled up by Region, create a rolled-up database:
1

Open or create the rollup database

Open the target database where the rolled-up data should live, or create a database.
2

Open configuration

Click Edit to open database configuration.
3

Add the source

Add the source database that is segmented by Region and City.
4

Choose drivers

Choose the drivers you want to aggregate, such as Revenue.
5

Choose the rollup segment

Under Segment by, select the higher-level dimension, such as Region.
6

Confirm

Click Confirm.
Creating a rollup database from a more granular segmented database
The Revenue driver is now available at both granularities: Region x City and Region.
Driver search showing revenue at multiple granularities
You can drill in when you want detail and roll up when you want the big picture.
Rolled up revenue with drill-in detail
You can create similar hierarchies from other columns, not only the dimensions used in database configuration.

How to segment drivers

Segmenting drivers in a database

When configuring a database, the Segment by field determines how the drivers in that database are broken down.
Database configuration Segment by field
For example, a granular GL database might segment by Account Name, Class, and Vendor. A later rollup database might source from that granular database but segment only by Class.

Segmenting drivers in a model

You can segment an unsegmented driver in a model:
1

Open the driver menu

Click the menu next to the driver name.
2

Add dimension

Hover over Dimensions, then select Add dimension.
Driver menu with Add dimension action
3

Choose or create the dimension

Choose an existing dimension, or type a new name and press Enter to create one.
Creating a dimension from a driver menu
4

Define values

Define the dimension values from the submenu.
Segmented driver values created from a dimension

Segmenting drivers in a model using Expand by dimension

Use Expand by dimension when you need one driver per dimension value from a model. This pattern is most common in legacy headcount models.
When you use Expand by dimension directly in a model, new dimension values do not automatically create new drivers. Run the expand flow again when new values are added.
1

Select the driver

In a model, select the driver you want to expand.
2

Choose Expand by dimension

Open the driver menu, hover over Dimensions, then select Expand by dimension.
3

Choose the dimension

Select the dimension to use as the segment. Runway creates one driver segmented by each value in that dimension.
Expand by dimension creating segmented drivers
4

Set a formula first when possible

Expand by dimension works best when the source driver already has a formula filtered by the dimension you plan to use.
Formula using a dimension filter before Expand by dimension
5

Review smart-matched formulas

When the formula uses the same dimension as a filter, Runway smart-matches the formula to each dimension value.

What’s next