The bands behind every ratio
Six grades ladder from 52,000.00 to 210,000.00. Each has a minimum, midpoint, and maximum, a spread, and a step from the grade below, and 348 of the 351 workers sit on the structure. The three who do not are the finding.
◆ The six gradesminimum to maximum, with spread and step.
| Grade | Minimum | Midpoint | Maximum | Spread % | Step % |
|---|---|---|---|---|---|
| G1 | 52,000.00 | 63,700.00 | 75,400.00 | 45.0 | |
| G2 | 66,000.00 | 80,850.00 | 95,700.00 | 45.0 | 26.9 |
| G3 | 84,000.00 | 102,900.00 | 121,800.00 | 45.0 | 27.3 |
| G4 | 104,000.00 | 124,800.00 | 145,600.00 | 40.0 | 21.3 |
| G5 | 125,000.00 | 150,000.00 | 175,000.00 | 40.0 | 20.2 |
| G6 | 150,000.00 | 180,000.00 | 210,000.00 | 40.0 | 20.0 |
Each midpoint is exactly halfway between its minimum and maximum. Spreads narrow from 45 to 40 percent up the ladder, and the midpoint step stays near twenty percent at the top, wide enough that a promotion means something. These are the denominators under every ratio in the module. Sample values are illustrative, never client data.
◆ On and off the structurethe three workers with no band.
| May 2026 | Workers |
|---|---|
| On a published grade | 348 |
| Off structure, no grade assigned | 3 |
| Population | 351 |
Three workers have pay but no band: two grandfathered acquisition hires and one executive carve-out. All three may be justified, but a ratio cannot be computed for them, so every rollup on every page silently excludes them unless they are counted here, in the open.
◆ The owned answerranges as a versioned dimension.
Ranges change; ratios computed against the wrong version are quietly wrong. The grade dimension is versioned with validity dates, and every join in the module is as-of, so a refresh moves ratios only from its effective date forward.
-- the current structure, with each midpoint proved centered
SELECT g.grade, g.range_min, g.range_mid, g.range_max,
ROUND((g.range_max - g.range_min) * 100.0 / g.range_min, 1) AS spread_pct
FROM dim_comp_grade g
WHERE DATE('2026-05-31') BETWEEN g.valid_from AND g.valid_to
ORDER BY g.range_mid
- grade
- One rung of the structure: a minimum, midpoint, and maximum.
- spread
- Maximum minus minimum, over minimum; the band’s width.
- midpoint step
- This grade’s midpoint over the one below; the ladder’s pitch.
- off structure
- A worker with pay but no assigned grade; counted, never hidden.
- range refresh
- A new dated version of the ranges; history keeps the old one.
- as-of join
- Matching each date’s pay to the range version valid on that date.