Pay Equity Gap Analyzer
The raw pay gap and the like-for-like gap, side by side, because either one on its own supports a conclusion the data does not.
Reads .xlsx and .csv inside your browser. Salary data never leaves your computer.
What this is not
This is not a statutory return. It tests no legal threshold, it does not say whether you comply with anything, and it does not recommend changing anybody’s pay. It divides numbers and shows its working. If you are preparing a filing for a regulator, use it to understand your data, then follow that regulator’s published method, which will differ from this one in specifics that matter.
The roster
Drop a spreadsheet here
One employee list with pay, and a column for the category you want to compare.
The two numbers, and why neither is the answer
The raw gap compares everybody in one group against everybody in another. It is mostly a measurement of who holds which jobs. An organization can pay every single person in every single role exactly the same and still report a large raw gap, because one group holds more of the senior roles.
The like-for-like gap compares people within the same level and then combines those. It is much closer to the question of whether similar work is paid similarly.
They fail in opposite directions, which is why this tool refuses to show one without the other. A raw gap presented as a pay decision accuses an organization of something the file does not show. A like-for-like gap near zero presented as an all clear hides the finding that one group is largely absent from the senior levels, which is a real problem that this arithmetic will never surface on its own. Both are shown. Neither is called the answer.
Part-time work is not a pay gap
If one group works part time more often than another, comparing raw salaries produces a large gap that is a measurement of hours wearing the costume of a pay gap. Point the tool at your FTE column and every salary is annualized before anything is compared. Without that column, the tool says out loud that it cannot tell hours from pay.
Small groups are not reported, and that is deliberate
In a group of three, publishing an average is close to publishing individual salaries, and the people in the smallest groups usually have the most to lose from that. Groups below the threshold show their size and nothing else. Their people still count toward the quartiles, under a label that does not name them. The threshold can be raised and never lowered.
Even above it, this reduces the risk rather than removing it. In any group with an odd number of people, the median is one real person’s pay.
Mean and median are both shown on purpose
A handful of very high earners pulls the mean and leaves the median alone. A large mean gap sitting beside a small median gap is telling you something specific: the difference is concentrated at the top of the range rather than spread across everybody. Reporting only one of them throws that away.
The quartiles are usually where the finding is
Everybody is sorted by pay and cut into four equal groups. If a group is half your workforce and a fifth of the top quarter, that is the finding, and no single average will ever show it to you. Where people on a boundary earn exactly the same, they are spread evenly across the bands rather than allocated by whichever row came first in the file, because otherwise the picture is produced by your sort order.