# BASELINE
URL: https://docs.valsight.ai/baseline/
Description: Returns the value of a node with no assumptions applied, removed from the referenced node and all upstream nodes that affect it.
**Category:** [Assumptions & result sets](/assumptions-result-sets/)

## Overview

The **BASELINE** function **returns the value of a node with no assumptions applied**. Assumptions are removed from the referenced node and all upstream nodes that affect it.

Use this function to compare the effect of assumptions by seeing what a node's value would be without them.

## Syntax

`BASELINE('Node' [, "useVariablesFrom"])`

**Example usage:** `BASELINE('Revenue')`

## Parameters

| Parameter            | Description                                                                  | Type           | Required | Default      |
| -------------------- | ---------------------------------------------------------------------------- | -------------- | -------- | ------------ |
| **Node**             | Input node, specified using the node name in single quotes (e.g.`'Revenue'`) | Node reference | Yes      | --           |
| **useVariablesFrom** | Determines which variable values are used in the calculation                 | Keyword        | No       | `"SCENARIO"` |

**useVariablesFrom options:**

* `"SCENARIO"`: Uses variable values as overridden by the scenario. This is the default.
* `"PROJECT"`: Uses the original project default values instead of scenario overrides.

## Output shape

| Aspect         | Behavior                                                                                      |
| -------------- | --------------------------------------------------------------------------------------------- |
| Dimensionality | Same as the input node.                                                                       |
| Values         | The input node's values computed without any assumptions applied to it or its upstream nodes. |
| Row count      | Same as the input node's baseline values.                                                     |

## Watch out

* The input must be a **single node reference**. Combinations of operations (e.g. `'A' + 'B'`) are not valid.
* If the model has **multiple baselines**, the baseline of the current scenario is used.
* The **PROJECT** mode only applies project default variable values to nodes calculated within the BASELINE function. Upstream nodes outside the BASELINE call still use scenario variable values.
* BASELINE removes assumptions from the node **and all upstream nodes**. To remove assumptions from only the specified node while keeping upstream assumptions, use [NONSIM](/nonsim/) instead.

## Examples

### Baseline values without assumptions

This example shows the baseline result of multiplying two nodes when no assumptions or variable overrides are applied. The project default variable $MY\_VAR is set to 10.

**Project default variables:** $MY\_VAR = 10

**Input node:** `'Node 1'`

| Year | Value         |
| ---- | ------------- |
| 2025 | $MY\_VAR = 10 |
| 2026 | $MY\_VAR = 10 |
| 2027 | $MY\_VAR = 10 |
| 2028 | $MY\_VAR = 10 |

**Input node:** `'Node 2'`

| Year | Value |
| ---- | ----- |
| 2025 | 1     |
| 2026 | 1     |
| 2027 | 1     |
| 2028 | 1     |

**Formula:** `'Node 1' * 'Node 2'`

| Year | Value |
| ---- | ----- |
| 2025 | 10    |
| 2026 | 10    |
| 2027 | 10    |
| 2028 | 10    |

These are the baseline results with no assumptions applied.

### Values with scenario overrides and assumptions

This example shows how the same nodes look when a scenario overrides $MY\_VAR to 20 and assumptions are activated on both nodes.

**Variable override via scenario:** $MY\_VAR = 20

**Input node:** `'Node 1'` (with overridden $MY\_VAR as 'Base' and activated assumptions as 'Change')

| Year | Base | Change | Result |
| ---- | ---- | ------ | ------ |
| 2025 | 20   | 0      | 20     |
| 2026 | 20   | 10     | 30     |
| 2027 | 20   | 20     | 40     |
| 2028 | 20   | 30     | 50     |

**Input node:** `'Node 2'` (with the initial measures as 'Base' and activated assumptions as 'Change')

| Year | Base | Change | Result |
| ---- | ---- | ------ | ------ |
| 2025 | 1    | 1      | 2      |
| 2026 | 1    | 2      | 3      |
| 2027 | 1    | 3      | 4      |
| 2028 | 1    | 4      | 5      |

**Formula:** `'Node 1' * 'Node 2'`

| Year | **Base** (Node 1 × Node 2) | Change | Result |
| ---- | -------------------------- | ------ | ------ |
| 2025 | 20 × 2                     | 5      | 45     |
| 2026 | 30 × 3                     | 5      | 95     |
| 2027 | 40 × 4                     | 5      | 165    |
| 2028 | 50 × 5                     | 5      | 255    |

### Comparing SCENARIO vs PROJECT mode

This example shows the difference between the two modes: SCENARIO uses the variable value overridden by the scenario (20), while PROJECT uses the original project default (10).

**Formula:** `BASELINE('Result Node')`

**Equivalent to:** `BASELINE('Result Node', "SCENARIO")`

| Year | BASELINE Result |
| ---- | --------------- |
| 2025 | 20              |
| 2026 | 20              |
| 2027 | 20              |
| 2028 | 20              |

BASELINE removes all assumptions but keeps the scenario's variable override ($MY\_VAR = 20).

**Formula:** `BASELINE('Result Node', "PROJECT")`

| Year | BASELINE Result |
| ---- | --------------- |
| 2025 | 10              |
| 2026 | 10              |
| 2027 | 10              |
| 2028 | 10              |

PROJECT mode also reverts the variable to its project default ($MY\_VAR = 10).

## Related Functions

| Function           | When to use instead                                                                                                                                                                 |
| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [NONSIM](/nonsim/) | When you only want to remove assumptions from the node itself. BASELINE removes assumptions from the node and all upstream nodes; NONSIM only removes them from the specified node. |
