> ## Documentation Index
> Fetch the complete documentation index at: https://docs.runway.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Headcount planning

> Headcount planning is one of the most common workflows in Runway. Whether you're building simple department-level rollups or more detailed, per-employee allocations, the process can be tailored to fit your company's needs.

This guide walks through how to set up a basic headcount plan—starting with integrating your data, then building out department-level headcount, and planning for future hires.

<Info>
  **Which approach should I use?**

  Runway supports two approaches for headcount modeling:

  * **HRIS databases** - Function like regular databases and use database blocks with segmentation (recommended for new implementations)
  * **Legacy HRIS databases** - Use the "Expand by Dimension" feature (still supported for existing models built before September 2025)

  If you're unsure which type of HRIS database you have, check with your Runway team or try the new approach first—it provides better flexibility and stability.
</Info>

## Step 1: Set up your employee database

The first step is getting your employee data into Runway. The recommended approach is to connect to one of our available HRIS integrations. See our guides [here](https://docs.runway.com/integrations/hris/) for our most common HRIS integrations.

<img src="https://mintcdn.com/runway-5055a12e/zqp1VpJvDoOQkhBf/images/headcount/headcount-step1-database.png?fit=max&auto=format&n=zqp1VpJvDoOQkhBf&q=85&s=75661cfd9121c66462695af10f5f4037" alt="Headcount Step1 Database Pn" width="2458" height="1284" data-path="images/headcount/headcount-step1-database.png" />

If you don't have a supported integration available, there are two alternative options:

* **Google Sheets:** Export your employee data to a sheet and connect it to Runway. See our setup guide [here](https://docs.runway.com/integrations/data-storage/google-sheets). If you go this route, make sure the sheet is kept up to date, as Runway will reflect whatever data is in the connected Sheet.
* **Manual setup:** You can also create a standalone database directly in Runway with no external data source.

Once your database is created, make sure to populate key fields like **Start date**, **Termination date** (if applicable), and any dimensions you want to use for breakdowns—like **Department**, **Role**, or **Location**.

For example, if you want to build headcount by department, ensure the **Department** dimension is included for each employee record.

## Step 2: Create headcount drivers

Choose the approach that matches your HRIS database type:

<Tabs>
  <Tab title="New HRIS databases">
    ### Database with segmentation (recommended)

    New HRIS databases function like regular databases in Runway, which means you can reference them directly in formulas and stack them to create drill-ins. When segmenting by dimensions that change over time (like Department or Job Title), follow this pattern to ensure historical changes are captured correctly.

    1. **Create a new database**

       Add a new database and point it to your Employees query (rather than the more granular database).
    2. **Segment by the dimension in the query**

       In the database block settings, segment by the dimension you want to aggregate to (e.g., Department). This pulls the dimension values directly from the query, ensuring any new departments or changes are automatically captured.

       Create column formulas directly in the database block. For example, to create a Headcount column:

       * Add a new numeric driver called "Headcount"
       * Set the formula to: `count(Employees)` where `Department` equals `*This* Department`
       * Add date filters: `Start date` is on or before `This Month` and `Termination date` is on or after `This Month`

       Because you're using the same dimension across two databases, Runway will properly match the time series and capture changes over time.
    3. **Add additional metrics as needed**

       You can add other columns like Monthly Salary Cost or Average Salary using the same pattern—reference the underlying Employees database and filter by `*This* Department`.
  </Tab>

  <Tab title="Legacy HRIS databases">
    ### Expand by dimension

    If you're working with a legacy HRIS database, use the "Expand by Dimension" feature to create headcount drivers.

    1. **Create a headcount driver in a model**

       Whether in a new model or existing one, select **\\+ Add Driver** and create one called Headcount.

           <img src="https://mintcdn.com/runway-5055a12e/zqp1VpJvDoOQkhBf/images/headcount/headcount-step2-create-driver.png?fit=max&auto=format&n=zqp1VpJvDoOQkhBf&q=85&s=0e9716e19e478407ae54763b2e224f58" alt="Headcount Step2 Create Driver Pn" width="1032" height="530" data-path="images/headcount/headcount-step2-create-driver.png" />
    2. **Expand Headcount driver by the appropriate dimension**

       Right click on the new Headcount driver and, within the dropdown menu, navigate to Dimension → Expand by Dimension, then select the dimension you'd like to segment Headcount by; in this example, we'll use Department.

           <img src="https://mintcdn.com/runway-5055a12e/zqp1VpJvDoOQkhBf/images/headcount/headcount-step2-expand.png?fit=max&auto=format&n=zqp1VpJvDoOQkhBf&q=85&s=0c97619b2d563b1f9d7e7363251e76ad" alt="Headcount Step2 Expand Pn" width="1848" height="1262" data-path="images/headcount/headcount-step2-expand.png" />

    <Info>
      If you have multiple dimensions with the same name, be sure to select the one coming from your HRIS data source.
    </Info>

    <Warning>
      **Expand by Dimension** does not automatically create drivers when new attributes are added to a dimension. If you frequently add new departments or other dimension values, you may need to manually update your model.
    </Warning>

    3. **Build the headcount formula for one of the drivers**

       Double-click into the **forecast formula** cell of the first dimensional driver and type `count()` to leverage the built-in count function.

           <img src="https://mintcdn.com/runway-5055a12e/zqp1VpJvDoOQkhBf/images/headcount/headcount-step3-count-formula.png?fit=max&auto=format&n=zqp1VpJvDoOQkhBf&q=85&s=5568eef97ecfcba6d93f835714327ea2" alt="Headcount Step3 Count Formula Pn" width="1484" height="554" data-path="images/headcount/headcount-step3-count-formula.png" />

       Within the parentheses, type search to find your Employee database—if derived from an HRIS integration, it will be called Employee, by default.

       Now, we'll set several filters on this database pill, essentially transforming it into a countIF(). Under filters, select the following:

       * `Department` (or your chosen dimension) *is* `*This* Department` - This is saying that for every Headcount driver with a dimension attribute on it, Runway will filter this same attribute for the formula.
       * `Start date` *is on or before* `This Month`
       * `Termination date` *is on or after* `This Month`

           <img src="https://mintcdn.com/runway-5055a12e/zqp1VpJvDoOQkhBf/images/headcount/headcount-step3-count-formula-filters.png?fit=max&auto=format&n=zqp1VpJvDoOQkhBf&q=85&s=16964e16c02bbc04562ec6670c785356" alt="Headcount Step3 Count Formula Filters Pn" width="1496" height="694" data-path="images/headcount/headcount-step3-count-formula-filters.png" />

       The date filters will provide us with rolling count of employees who are currently employed in any given month. When all is functioning as it should, you'll be able to drill in and see each employee that's rolling into said Department and the month in which they started or were terminated.
    4. **Copy and paste the created formula for the rest of the headcount drivers**

       Because both the drivers and the formulas are referencing the same dimension (e.g. Department), the values will smart update to reflect the appropriate amounts.
    5. **Sum your headcount**

       Create a Total Headcount driver and sum your headcount in one of the following ways:

       * **Sum new drivers** - Double-click into the **forecast formula** cell and type `sum` to leverage the sum function. Within the parentheses, type Headcount. The first option you will see is Headcount \[Department], which references the collective dimensional drivers that you just created.

             <img src="https://mintcdn.com/runway-5055a12e/zqp1VpJvDoOQkhBf/images/headcount/headcount-step3-sum.png?fit=max&auto=format&n=zqp1VpJvDoOQkhBf&q=85&s=38d30f64901a6fa36aadfe4eaeaec254" alt="Headcount Step3 Sum Pn" width="1398" height="760" data-path="images/headcount/headcount-step3-sum.png" />
       * **Sum driver group** - If you put your Headcount drivers into their own driver group (shift \\+ select them cmd \\+ G), you have the option to sum the group itself. Double-click into the **forecast formula** cell and type sum to leverage the sum function. Within the parentheses, search for the driver group name and scroll in the dropdown to the driver group section. This will sum every driver within this group except for the one you're typing in.

             <img src="https://mintcdn.com/runway-5055a12e/zqp1VpJvDoOQkhBf/images/headcount/headcount-step3-sum-group.png?fit=max&auto=format&n=zqp1VpJvDoOQkhBf&q=85&s=2e0df6df74660b77d11d8d6943ba0b2f" alt="Headcount Step3 Sum Group Pn" width="1386" height="762" data-path="images/headcount/headcount-step3-sum-group.png" />
       * **Sum the database directly** - If you find that you won't be leveraging dimensions as much for your Headcount breakdown, you can always sum the database itself for a total. Follow the instructions in Step 4 but omit the Department filter and you'll have a full count of your active employees.

             <img src="https://mintcdn.com/runway-5055a12e/zqp1VpJvDoOQkhBf/images/headcount/headcount-step3-sum-database.png?fit=max&auto=format&n=zqp1VpJvDoOQkhBf&q=85&s=70d34270c7ff67310e0816e81bc3c830" alt="Headcount Step3 Sum Database Pn" width="1480" height="600" data-path="images/headcount/headcount-step3-sum-database.png" />
  </Tab>
</Tabs>

## Step 3: Add new employees

The easiest place to add new hires is directly in the **employees database.**

Click **\\+ Add Item**, and make sure to fill in the key dimensions used in your headcount formulas—typically **Department**, **Start date**, and (if relevant) **Termination date**. This ensures that your new employees are included in the headcount calculations.

<img src="https://mintcdn.com/runway-5055a12e/zqp1VpJvDoOQkhBf/images/headcount/headcount-step4-add-employee.png?fit=max&auto=format&n=zqp1VpJvDoOQkhBf&q=85&s=920b880751ed18a3d0c4cd5f816fce87" alt="Headcount Step4 Add Employee Pn" width="1296" height="746" data-path="images/headcount/headcount-step4-add-employee.png" />

To double-check that the new employee is flowing through correctly:

* **For new HRIS databases**: Check your database block to confirm the new row appears with the correct department segmentation
* **For legacy HRIS databases**: Open your model, click the caret next to the **headcount driver**, and confirm that the new row appears in the breakdown

<img src="https://mintcdn.com/runway-5055a12e/zqp1VpJvDoOQkhBf/images/headcount/headcount-step4-drill-in.png?fit=max&auto=format&n=zqp1VpJvDoOQkhBf&q=85&s=0a64bf4ef91fec59c4fe0d45bb4628d6" alt="Headcount Step4 Drill In Pn" width="1104" height="988" data-path="images/headcount/headcount-step4-drill-in.png" />

For additional, headcount planning use cases, check out the following articles:

* [Pro-rated salaries](https://docs.runway.com/guides/modeling/prorated-salaries)
* [Multi-currency normalization](https://docs.runway.com/guides/modeling/fx-rate)
* [Commissions](https://docs.runway.com/guides/modeling/commissions)
* Contractors \[coming soon\\!]
