Upload a roster. Watch compa ratios, EU Pay Transparency Directive cohort gaps, per-employee compression, and the merit-pool consequences of every proposal surface themselves — with a regulator-readable explanation attached to every euro.
Every decision in the cycle gets a paper trail — not a spreadsheet artefact, but a human-readable rationale a manager, a compensation lead, and a regulator can all read without translation.
Drop any combination of four file types — the roster itself, internal pay ranges, market pay ranges, and a Beqom-style adjusted-gap export. The file type is detected from the columns present, so there is nothing to configure. Parsing happens entirely in your browser; files never leave the device. The embedded sample (708 fabricated France + Belgium employees) loads with one click for demonstration.
The default view is a cohort grid grouped by (entity × country × career level) — the directive's "category of workers performing work of equal value" grain. Unadjusted and regression-adjusted gap metrics live in separate column groups so they never read as the same number. Cohorts below the n ≥ 5 per-gender disclosure threshold stay in reading order as greyed "Insufficient data" ghost rows so coverage holes remain visible in the filing.
The Landscape view plots every employee on compa ratio × performance. Magenta dots flag per-employee compression — anyone sitting more than 5% below their fine-grain peer median. Click a dot or a roster row and the cohort lens on the right rebuilds that person's fine-grain peer group (entity × country × career level × function × family). A tri-band visualisation then triangulates their pay against the internal pay band, the market pay band, and the peer-cohort percentile — all on a single shared salary scale.
A one-line finding carries a semantic pill (Compression X%, Within tolerance, Above median, Insufficient peers). Beneath it, a small options table shows three remediation paths — Min defensible, Neutral median, Market · P75 — each with its FTE-adjusted cost and the residual peer-cohort gap the path leaves behind. The recommended option is tiered by performance: Exceeds and above default to Market · P75 for retention, Meets or below default to Neutral median, and Needs Support defaults to Min defensible so the cycle doesn't reward weak performance with an above-median uplift. An expandable audit narrative holds the full methodology for the regulators who will ask.
Type a proposed salary on any roster row and tag a justification (Performance, Tenure, Market correction, EUPTD remediation, Promotion, Statutory). The discretionary merit pool and the non-discretionary pool deplete live based on how the justification routes the uplift. A per-row reset, a running edits ribbon, and roll-up totals mean every decision is traceable before you commit — and every decision arrives with its reason already attached.
Click the Compression stat chip on the cockpit and the roster isolates down to just the flagged individuals whose gaps sum to the headline total. Every euro in the non-discretionary pool has a name attached. That is what a defensible filing looks like when you have to explain, line by line, what you knew and what you did about it.
None of these are aesthetic preferences. They are methodological commitments that make the output defensible to compensation leadership, human resources, and eventually a regulator.
Every number produces a sentence a regulator could read. The reasoning is the product; the numbers are the artefact. Reports are designed to be skimmed by comp heads approving decisions and later audited by legal.
Fairness is a peer concept. Every judgement is relative to a specific cohort — broad (entity × country × career level) for the EUPTD filing, fine (+ job function × family) for per-employee compression drill-down. Never a global mean.
The EUPTD unadjusted gender gap at cohort level and the per-employee compression signal are different metrics, computed differently, read differently, and reported separately. The prototype surfaces both and never lets them read as the same number.
The EU Pay Transparency Directive becomes enforceable in member states from June 2026. The prototype reports two distinct gap signals — and one separate internal fairness signal — because comp leadership, HR, legal, and regulators each read them differently.
At cohort level, per (entity × country × career level). Computed as (mean_M − mean_F) / mean_M, signed, with positive values meaning women are paid less. Flagged when it exceeds 5%. Minimum 5 per gender to disclose, tunable in the app — for example, Denmark's implementing guidance reportedly uses 8 per DISCO-6 group. This is the number the directive wants on your filing.
Regression-controlled version of the unadjusted gap, typically produced by Beqom or an equivalent analytics vendor. A Beqom-style CSV joins the cohort grid in its own column group, separated from the unadjusted columns by a thin vertical rule so the two metrics never read as the same number. Both live side by side, in the order a regulator would ask about them.
A separate per-employee fairness signal: flags anyone sitting more than 5% below their fine-grain peer cohort's median. Drives the Landscape's magenta dots and the Compression stat chip on the cockpit. Distinct from the directive's gender gap above, measured at the individual level, reported separately. Never conflated with the EUPTD metric.
When the total non-discretionary remediation exceeds the pool budget, the cockpit surfaces the overage visually — and in a production cycle the analyst can stage the plan across two or three cycles, labelled explicitly as a Remediation Plan rather than a merit increase. The distinction matters: a regulator will eventually ask whether you knew about the gap and what your plan was. Both answers deserve to be on the record.