Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

name: op-overlay-index-vs-sibling
kind: operator
category: OVERLAY
operator: OVERLAY_INDEX_VS_SIBLING
description: Per-group ratio index against a sibling group named by (Field, Value) on the SERIES host (×100).
type: reference
applies_to: process, compose
examples_tags: [overlay, comparison]

Overlays decorate the host; no Response.Components.

Use when

Each group’s value as an index value against one named group (group / sibling x 100), such as every store against the flagship.

Questions it answers:

  • How does each store’s revenue compare with the flagship store’s?
  • How does each region’s average rating compare with the home region’s?

Use something else:

  • OVERLAY_DELTA_VS_SIBLING when you want the gap in the value’s own units.

Params

Scope must be group. Ref.Sibling.Field (string, required) — grouper field on the host. Ref.Sibling.Value (string, required) — axis-key value identifying the sibling group. Other Ref arms → PULSE_OVERLAY_REF_INCOMPATIBLE_WITH_SHAPE.

Host shape

SERIES — grouped Process host. Ratio twin of the sibling delta. Sibling resolved via internal/processing/overlay_sibling_resolver.go.

Output

SERIES — one SeriesEntry per host group, carrying index = group / sibling × 100 on Summary.Statistic. Sibling group itself emits 100.0 (self-vs-self). Layer Baseline = 100.

Gotchas

  • Unknown (Field, Value) pair → ONE PULSE_OVERLAY_REF_UNKNOWN per layer + NaN entries.
  • Zero sibling value → NaN entries + ONE PULSE_OVERLAY_REF_ZERO per layer. The subtractive twin does not warn on zero.
  • Absent host group → SeriesEntry with unset Statistic.
  • Buffered — the resolver needs materialised per-group accumulators (ApplyOverlaysSeries).
  • Weighted host → weighted figure (reads the host payload).

See