How do you determine that any are “being cheated”?
Once you do, how do you share the salary information of five people such that four of them working together can’t de-anonymize the fifth? (I’m facing this exact issue at work; I do want to publish more info about salaries without risking even the slightest possibility to expose private information of any of our employees.)
1. Don't worry about that failure mode. There will always be ways for collusion among employees to gain salary information.
2. Publish the methodology by which compensation is calculated. That is, it is presumably some combination of algorithm based on location and role, performance, and discretion. Make the calculation methodology transparent (internally). This will also set a range you can publish externally.
This allows people to ask informed questions ("why is my perceived performance not being rewarded") instead of being completely baffled by numberwang. Transparency about the process and forces the company to do better, which is a good thing.
Then don't. But publishing aggregate salary information is not that. You're making an excuse to avoid sharing information that would help your employees.
You might, for example, try asking them, and seeing how many feel that their privacy would be violated by publishing aggregate anonymous salary data. The answer will be 0.
Keep in mind if you have a reasonable belief that all but one of your employees will collaborate to unmask another's salary, they have ample support to form a union and require internal transparency in the contract. Your threat model is illegitimate.
It depends on how you're aggregating, of course. If I publish an indicative range, I agree that I'm not divulging any private information. (That also happens to be exactly what I'm personally fighting HR/comp in order to be able to do. I want my employees to have this information, but I want that less than I want to protect the privacy of employees who have not chosen to share their information on their own.)
If I publish a names-redacted list of everyone's salary and track/level/job code, or a mean & std-deviation per track/level/job code, I am almost certain to divulge private information of at least one employee. I have spoken with employees on this topic. Publishing their data, even inadvertently (as in the Netflix contest example), does not have anywhere near 100% support.
Why do you care if four people can unmask the fifth? Isn't allowing them to figure out the range part of the impetus to share the data? Do you feel that one person is dramatically over/under paid? Is there a reason you wouldn't want to just put all that information in a spreadsheet with people's names and publish it?
But that failure mode seems pretty similar to the failure mode where all 5 share their salary. At least in my mind.
To really answer your question, I ask wonder what your goal is? Because that determines how to set up your information publishing.
My goal is to publish something that addresses questions roughly of the form: "Where am I in the overall salary range for my current role?", "Where would my current comp be relative to the next most likely role for me?" (to know if I "have room" in the current level or if the only large raise is to get a promotion/change role/change company), and [if possible] "How wide is the current band/are the bands in general? Are people paid within 10% of each other or 100% of each other?"
It's not a failure mode if all 5 people volunteer to share their salary information with each other. It is a failure mode if one of their salaries is exposed against their willing participation in the sharing.
I believe we are paying people fairly. (That specifically does not mean paying people equally, because the scope and value of their contributions to the company differ.)
On your last point, the biggest reason I can see not to share salary information (unless you want to take advantage of people) is that everyone tends to overvalue their own contributions.
Almost any aggregate statistics can be reversed by N-1 datapoints. Even something like Mean and Std. Deviation have a unique solution for the missing datapoint. Even just a band fails in the case that the missing person is one of the two extremes.
If that's the information you want to provide, does it matter how much the data directly reflects reality? Is there a reason to provide an actually min-max band as opposed to your budgeted min-max band (except that basing it on actual data keeps you honest and makes your employees trust the numbers more.)
That’s likely the solution we’re going to go with. If the scatter plot of actual salaries is $190-280K, I think saying “anywhere from $180-300K” or “$200-275K with rare outliers” or “centers around $240K, typically within 20%” would all be fine and would communicate more than nothing.
If the employees don’t trust the numbers unless you give them to the penny, why would they trust anything we said? If you don’t trust any of your employer’s statements, you should probably find another employer.
I wasn't talking about trusting your word if you're rounding or otherwise tweaking real numbers. I was talking about the tendency to lie to yourself (universally, not about you specifically) if you were trying to come up with a "reasonable" range. As in "sure, we never gave someone $385,000 for this position, but of course we would if a sufficiently good candidate arrived or when one of employees improves enough" with your 190-280k range you quoted.
Honestly, I think if you're going to do that to give me some idea of what the future holds (and it's not too much work) tell me how likely I am (individually) to move up in the band. It can be part of the annual review, or something as general as "we typically move people who are developing on track 15% of the way up the band as they progress from bottom to top". It gives a picture going forward and, if an employee doesn't advance, sends a powerful signal that they need to improve.