Understanding the Mechanics of Salary Data Collection for Utah Government Workers

Utah requires most public-sector employers to file annual salary and benefit reports through the State Human Resources department. The forms themselves are not complicated, but the data quality varies enormously depending on which agency you work for. I learned this the hard way when compiling compensation reports for three separate counties. The same job title—"Administrative Analyst III"—produced four different salary bands across neighboring jurisdictions because each county interpreted the classification manual differently. The core requirement is that any person employed by the state or a political subdivision must have their gross salary reported annually. This includes base pay, overtime, shift differentials, and most incentive payments. Health insurance premiums paid by the employer are also included in the total compensation figure that gets filed. What does not get reported are retirement contributions above the mandatory tier and any deferred compensation from separate agreements. The data flows through the UtahPay system, which feeds into the State Auditor's annual report. That report is publicly available as a downloadable spreadsheet, but the format leaves something to be desired. Column headers are inconsistent, some entries are blank even when the employee exists in the system, and the effective date for position changes is often missing entirely. You can find the raw data at the State Auditor's website under the annual reports section, typically posted by late summer for the prior fiscal year.

Here is a practical tip that nobody mentions in the official guidance: when you are cross-referencing salaries across departments, always use the employee ID number rather than the name. Names change due to marriage or other reasons, and duplicate names are extremely common in larger agencies. I spent three weeks reconciling a dataset before someone pointed out that two "John Smith" entries were actually different people with completely different salary histories.

Common Pitfalls That Destabilize Your Analysis

The biggest mistake people make is treating reported salary as total compensation. It is not. A teacher in Salt Lake County might show a base salary of fifty-eight thousand dollars, but that figure does not capture the full cost to the employer, which includes the district's contribution toward health insurance, the public pension match, and any supplemental stipends. The actual total package could be thirty to forty percent higher than the reported number. Another issue that comes up constantly is the treatment of temporary and seasonal employees. These positions are often excluded from the annual report if the employee worked fewer than a certain number of hours per pay period. The threshold varies by agency. Some count part-time staff in the aggregate data while others do not. If you are comparing headcount or average compensation across agencies, this inconsistency will skew your results without any obvious warning sign in the raw data. I once encountered a case where an employee's salary appeared to jump twenty-two percent year over year. Upon investigation, the increase was not a raise. The employee had been classified under a different pay plan the previous year, one that used a different salary scale for the same job duties. The data did not flag the classification change, so anyone doing a straight year-over-year comparison would have drawn the wrong conclusion about the individual's compensation growth.

Get the Full Details

Global Pay Transparency: What Job Data Reveals About Salary Disclosure
Global Pay Transparency: What Job Data Reveals About Salary Disclosure

How the Filing Process Actually Works in Practice

Employers submit their annual reports through the UtahPay administrative module. The form asks for position classification codes, salary steps, and benefit elections for each active employee as of a specified cutoff date. Most agencies set this date to the end of the fiscal year, which is June thirtieth for the state and varies for local governments. The form has fields for basic salary, overtime, hazard pay, and incentive compensation. There is also a section for identifying employees who are receiving leave buyout payments or long-term disability benefits. Those payments must be included in the total, and many employers forget to add them. I have seen several filings that omitted long-term disability income entirely, which understates the reported compensation for those individuals. If you are reviewing the published data and notice an employee with a salary of zero or a negative figure, do not assume the data is corrupted. Some entries reflect retroactive adjustments that reduce prior-year compensation. The system sometimes records these as negative values in the current filing period. They are valid entries, just confusing if you do not know what to expect.

Where the Data Falls Short

The published reports do not break down compensation by full-time equivalent. A part-time employee working sixty percent of a standard schedule will appear with the same salary range as a full-time employee in the same classification, even though their annual earnings are significantly lower. This makes it difficult to calculate meaningful hourly rates or to compare workload distribution across departments. There is also no public reporting on the demographic breakdown of salary ranges within specific classifications. You can see that a certain job title has a salary range from forty-five thousand to sixty-five thousand dollars, but you cannot tell from the published data whether the higher end of that range skews toward a particular gender, age group, or ethnicity. This gap is exactly what drives most of the policy debate around transparency. The data lag is another real limitation. The reports for fiscal year 2024 were not published until August of 2025, almost a full year after the cutoff date. By the time the data becomes available, personnel changes have already occurred. People have left, been promoted, or shifted to different departments. Any analysis you conduct is looking at a snapshot that is already partially outdated.

If you need more current information, some agencies maintain their own internal dashboards that update more frequently. These are not universally available and are not subject to the same publication standards as the annual report. Access typically requires an internal request through the agency's human resources office, and the data presented may differ from what appears in the final audited report.

Salary Transparency in America: Who Sees Pay and Who Doesn’t
Salary Transparency in America: Who Sees Pay and Who Doesn’t

A Real Problem I Ran Into and How I Worked Around It

I was reviewing compensation data for a multi-jurisdictional study when I noticed that several employees appeared to have duplicate entries in the published dataset. The same person showed up twice under slightly different position codes—one entry from the main agency and one from a secondary appointment. Both entries listed full salary amounts, which inflated the total compensation figure for those individuals by nearly double. The workaround was to identify duplicate social security numbers across all position codes and then sum only the primary appointment salary with the secondary appointment as a partial addition rather than a full amount. I built a simple lookup table in Excel that flagged duplicates and applied a weighting factor based on the percentage of time reported for each position. This corrected the inflation without requiring access to the underlying payroll system. This kind of issue is not rare. It happens because the reporting system treats each position code as a separate employment record, even when they belong to the same individual. The instructions for compiling the report acknowledge the possibility but provide no specific guidance on how to handle it. Every agency I have worked with has dealt with this differently, and there is no consistent statewide standard.

The best approach is to build your own reconciliation process before you start any analysis. Download the raw data, normalize the position codes, remove obvious duplicates, and document every adjustment you make. If you skip this step, your findings will contain errors that are nearly impossible to correct later.