Rebate types, banding, and modifiers¶
Mechanical rules for how much a rebate element pays once the calculation engine has gathered turnover. For period blocks, streams, and storage see the rebate calculation engine reference. Each type and modifier also has a concept page with worked examples: guaranteed, stepped, individual target, growth, strung, compound, catch-up, and estimates.
Rebate types — what picks the band¶
| Type | Level measured against the bands |
|---|---|
| Guaranteed (standard) | No bands — the element's flat value applies every period |
| Stepped / group target | The whole group's input-stream turnover for the period |
| Individual target | Each member's own input-stream turnover for the period |
| Group growth | The group's growth percentage vs the target window |
| Individual growth | Each member's growth percentage vs the target window |
Growth percentage = (current period turnover − target window turnover) ÷ target window turnover × 100. The target window is a configured figures stream and date range on the element (typically last year). Edge cases: no turnover in the target window but some now → +100% growth; turnover in the window but none now → −100%; no data on either side → 0%.
Bands (steps)¶
A banded element carries a table of steps: from-figure, to-figure, rebate value, and an optional member ("out") value. The band whose from-figure is the highest one at or below the measured level is selected. A level below the lowest band pays nothing.
On sites with in/out rebates, the rebate value is what the element earns from the supplier and the out value is what is passed on to the member; each payment line stores both.
Retrospective vs non-retrospective¶
- Retrospective (default): the selected band's rate applies to the member's entire rebateable (output-stream) turnover for the period.
- Non-retrospective: banding is marginal, like income tax. Each band's rate applies only to the turnover that falls inside that band; the top band applies from its floor up to the actual turnover. For group-level types the banded total is then shared between members in proportion to their share of the group's rebateable turnover.
Linear interpolation¶
A stepped element flagged linear does not jump between band rates. The rate is interpolated between the current band and the next according to how far through the gap the measured level sits, scaled by the element's linear rate factor. Above the top band the top rate applies.
Output types — how the rate becomes money¶
| Output type | Payment per member |
|---|---|
| Percentage | Rebateable turnover × rate ÷ 100 |
| Per unit | Rebateable throughput × rate (rate is per unit, e.g. pence per litre) |
| Lump sum, equal split | Element value ÷ number of participating members |
| Lump sum, pro-rata | Element value × member's share of the group's rebateable turnover |
Modifiers¶
- Catch-up — instead of measuring only the current period block, the element re-measures cumulative turnover from the element start to the end of the current block each time. Use for elements that must "catch up" when earlier periods underperformed.
- Compound — the payable amount is reduced by the rebate already paid by another named element for the same window; the result never goes below zero. Use for top-up elements that only pay the difference.
- Strung — the turnover feeding this element is first reduced by the rebate already paid from another named element. Configurable to apply on the input stream, the output stream, or both. Use when rebate should be earned on net-of-rebate turnover.
- Date restriction — limits the element to part of the deal; dates are clamped to the deal (see the engine reference).
- Member restriction — limits the element to listed members or include/exclude group rules (see the engine reference).
Modifiers combine: for example a strung, catch-up element measures cumulative net turnover from the element start every period.