βœ–οΈ Multiplier Node

The Multiplier Node is a `calculation` node that multiplies a previously calculated compensation value based on attainment tiers.

It supports:

  • Attainment via:
  • Target (single or period-based)
  • Metric
  • Tier configuration using:
  • A value (which can be dynamic via getCompensationValue)
  • Or a fixed multiplier value

The multiplier is applied to:

  • A single compensation_value, or
  • An array of compensationValues per profile

πŸ“¦ JSON Representation

{
  "type": "calculation",
  "data": {
    "id": "multiplier",
    "formData": {
      "reference_type": "target" | "metric",
      "target": { "id": "target_id" },
      "metric": { "id": "nps_score" },
      "tiers": [
        { "attainment": 80, "multiplier": 1 },
        { "attainment": 100, "multiplier": 1.25 }
      ]
    },
    "type": "calculation"
  }
}

🧾 Form Data Fields

FieldRequiredDescription
reference_typeβœ…How to compute attainment: target or metric.
target.idβœ… if reference_type = targetThe ID of the target to check attainment for.
metric.idβœ… if reference_type = metricThe ID of the metric used for attainment.
tiersβœ…Array of `[ attainment, multiplier
tiers[].attainmentβœ…Minimum required attainment for the tier to apply.
tiers[].multiplierβœ… if value not setValue to multiply compensation by.
tiers[].valueβœ… if multiplier not setSupports getCompensationValue() logic to compute the multiplier dynamically.

βš™οΈ Execution Logic

  1. Attainment Calculation
  • If reference_type = target:
  • Use either:
  • The record’s processing date (if no outcome period), or
  • Period-based attainment (if outcome_period is defined).
  • If reference_type = metric:
  • Fetch metric value for the current compensation period.
  1. Tier Matching
  • Attainment is scaled (e.g. Γ—100 if target-based).
  • Sorted tiers are evaluated from highest to lowest.
  • First matching tier is selected.
  1. Apply Multiplier
  • If multiplier is defined in the tier β†’ use it directly.
  • If value is defined β†’ compute via getCompensationValue(value, attainment).
  • Final compensation = original Γ— multiplier

πŸ“€ Output Variables

VariableDescription
tier_indexIndex of matched tier.
attainmentComputed attainment from target or metric.
multiplierMultiplier applied.
compensation_valueResult after applying the multiplier (single).
compensation_valuesArray of results for multiple profiles.

πŸ§ͺ Example

Multiply commission by 1.25 if attainment β‰₯ 100:

"tiers": [
  { "attainment": 80, "multiplier": 1 },
  { "attainment": 100, "multiplier": 1.25 }
]
  • If attainment = 95 β†’ multiplier = 1
  • If attainment = 102 β†’ multiplier = 1.25

On this page