➕Addition Node

The Addition Node is a `calculation` node used to add extra compensation on top of a previously computed value.

  • Percentage-based additions, calculated over:
  • A target outcome,
  • A field value (column),
  • A metric value.
  • Fixed additions via a static amount.

Additions can be applied to:

  • A single value (compensation_value), or
  • A set of values (compensationValues) for multiple profiles.

📦 JSON Representation

{
  "type": "calculation",
  "data": {
    "id": "addition",
    "formData": {
      "type": "percentage" | "fixed",
      "percentage": 0.1,
      "fixed_amount": 500,
      "target": { "id": "target_id" },
      "column": { "name": "deal.$value" },
      "metric": { "id": "revenue_metric" }
    },
    "type": "calculation"
  }
}

🧾 Form Data Fields

FieldRequiredApplies ToDescription
typeallpercentage or fixed.
percentagepercentageThe multiplier used for the addition.
fixed_amountfixedConstant value to be added.
target.idif using targetTarget used to retrieve outcome per profile.
column.nameif using columnField name whose value is multiplied.
metric.idif using metricMetric whose value is multiplied.

⚙️ Execution Logic

▶️ If type = percentage

The addition is calculated based on the provided source (one of target, column, or metric):

  • Target-based addition:

  • Looks up each profile’s outcome.

  • Applies: percentage × outcome.

  • Column-based addition:

  • Fetches value from the field for current record.

  • Applies: percentage × column_value.

  • Metric-based addition:

  • Retrieves metric value for the period and profile.

  • Applies: percentage × metric_value.

If a prior value exists (from previous node output):

  • It is incremented: previous_value + addition.

If working with team-level values (compensationValues):

  • Each value is incremented independently.

▶️ If type = fixed

A constant value is returned as the addition.


📤 Output Variables

VariableDescription
additionThe amount added (single or array of additions).
compensation_valueFinal total value (single) after addition.
compensation_valuesFinal values (per profile) after applying additions.

🧪 Example

Add 10% of target outcome to each profile's payout:

{
  "type": "percentage",
  "percentage": 0.1,
  "target": { "id": "q1_revenue" }
}
  • For a profile with outcome = 20,000:
  • Addition = 0.1 × 20000 = 2000
  • New compensation = original + 2000

On this page