HISTORICAL PAY GUIDE

2017 GS Pay Scale

Use this page for 2017 General Schedule research. Historical salary figures should always be tied to the official 2017 OPM table rather than replaced with current-year values.

Historical Data Requirement

This CMS does not invent 2017 salary numbers. Import the official 2017 OPM table before publishing exact historical figures.

The 2017 General Schedule should be read using the salary table effective for that year. Current 2026 values are not substitutes for 2017 base or locality rates.

Historical comparisons are most useful when the same grade, step, and locality are held constant across years. That separates annual pay changes from promotions, step increases, or moves to another locality.

OPM archives annual salary tables, and the source URL for 2017 should be saved with any imported dataset. This makes the historical page auditable and helps prevent accidental mixing of years.

Locality definitions and locality percentages can change over time. A locality name used today should not automatically be assumed to have had identical boundaries or rates in 2017.

Special-rate and law-enforcement schedules also have historical versions. If a position used one of those schedules, the standard GS table may not represent the employee’s actual scheduled salary.

When official 2017 data is added to this CMS, keep it in a separate year-specific file so future annual updates never overwrite historical values.