HR Utilities
← All tools

Merit Increase Modeler

Spend a raise budget two ways on the same money, and see what each one does to the pay gap you already have.

Reads .xlsx and .csv inside your browser. Nothing is uploaded.

The roster

Drop a spreadsheet here

One employee list with pay. A rating and a range midpoint let the matrix work, and a column to compare by shows what the increase does to a gap.

A flat percentage is not neutral

Two people earn 50,000 and 60,000. Both get 3%. They now earn 51,500 and 61,800. The percentage gap between them was 16.67% before and is 16.67% after, identical to the last decimal, and that is exactly what makes a flat increase feel fair. The gap in money has gone from 10,000 to 10,300.

Run it again next year and the year after. After ten years of “everybody gets the same” the difference is 13,439. Nobody decided that. No manager argued for it and no policy document contains it. It is what the arithmetic does when it is left alone, and it compounds.

Which is why every gap here is shown twice

A percentage gap cannot show this, because under a flat increase it cannot move. A report built on percentages alone would say nothing changed, every year, truthfully, while the money gap underneath it grew. So each group is reported as a percentage and as money, and then projected five years forward on the assumption that the same allocation is repeated, because the projection is the part worth arguing about.

Closing a gap takes an allocation that is deliberately unequal in percentage terms. That is an uncomfortable sentence and it is just division: an equal percentage hands more money to whoever already has more of it.

Does the allocation actually spend the budget

A matrix designed on paper almost never lands on the number. It is built from what each cell ought to pay, then applied to a population whose shape nobody modelled, and the variance turns up in the meeting where there is no time to fix it.

Here the cost is compared against the budget before anything else happens, and you can scale every increase by one factor so the total lands where it has to. Scaling keeps the shape of the matrix and changes only its size, and the tool says what factor it used, because a 3% matrix quietly delivering 2.6% is worth knowing about.

The two ways a matrix silently pays somebody nothing

Ratings are matched exactly as written. A file holding meets where the matrix says Meets finds no cell, and a person with no cell gets no increase. That is a spelling difference producing a pay decision, so it is reported as a problem rather than left to be noticed.

A blank rating does the same thing and means something different. A review that never happened is not a poor review, and it is the most common way a merit model zeroes somebody without anybody choosing to.

People who should not be in the budget

Anybody with an end date is left out, because including them inflates the budget by exactly their share of it, and a leaver stays in an export long after they have gone. Rows with no readable pay are left out too and counted separately, since they are also missing from the bill the budget is a percentage of.

Every row stays in the output either way, marked with why it was excluded. A person who drops out of a model silently is a person somebody has to discover by hand later.

What this does not do

It does not decide anybody’s pay, and it does not tell you what your increases should be. The matrix it opens with is a conventional shape and nothing more. What it does is show what a rule would do to a particular file, including the parts of the rule nobody intended, so the rule can be argued about before the money goes out rather than after.

It pairs with the Compa-Ratio Calculator for where people sit in their ranges now, the Salary Range Builder for the midpoints it needs, and the Pay Equity Gap Analyzer, whose gap arithmetic this reuses so the two can be read against each other.