PlainGovJobs

Download the 51-jurisdiction duty-station extract: federal-workforce-by-state.csv (same extract as /statistics).

Data Source

All data on PlainGovJobs comes from the OPM FedScope dataset, published by the U.S. Office of Personnel Management. FedScope is the most comprehensive public source of federal civilian workforce information, providing data on every civilian agency, geographic location, occupation series, pay grade, demographic category, and workforce dynamic (hiring and separations) in the executive branch. OPM publishes FedScope data as downloadable multi-dimensional data cubes, enabling analysis from any combination of these dimensions. Data is available at opm.gov/data/datasets/fedscope.

Data Vintage and Update Frequency

The current employment snapshot reflects June 2026 OPM Federal Workforce Data. OPM now publishes monthly Parquet releases for employment stock, accessions, and separations via its public data API (data.opm.gov). PlainGovJobs resolves the newest current employment month at fetch time, keeps the prior month for deltas, and rebuilds when a newer release lands.

Three Populations (Do Not Mix Blindly)

Figures on this site come from three FedScope populations that share agencies and occupation codes but do not share the same time window or unit of observation. Ratios, “change” deltas, and Dataset temporalCoverage must name which population they use:

  1. Employment stock (current) - point-in-time civilian headcount and pay as of June 2026 (stats.data_period). The national stock total on this extract is 1,953,300 employees. Agency, occupation, state, and GS distribution pages render slices of this population.
  2. Employment stock (prior) - the adjacent prior monthly release, May 2026 (stats.prev_period). “From prior period” deltas compare June 2026 vs May 2026, an adjacent-month change, not calendar year-over-year.
  3. Workforce dynamics (flows) - monthly accessions and separations covering June 2024–June 2026. Trends, net hiring, and reason breakdowns use this flow population; they are not interchangeable with stock headcount.

Dimension rollups are not always identical to the national stock total. In this extract, summing agency pages yields 1,953,300 employees (0 below the national stock of 1,953,300) because some cells are suppressed or lack an agency dimension label. State geography totals sum to 1,054,625 with 898,675 employees redacted at the duty-station state field in the OPM release (those employees remain in the national stock only). Hero and corpus nationals always cite the national stock from stats.total_employees, never a dimension SUM.

The site compile/refresh date is when we rebuilt the database; it is not an OPM data year. Homepage Dataset schema uses the union of the stock and dynamics windows from the live stats table.

Coverage

PlainGovJobs covers 126 federal agencies (including cabinet departments and independent agencies), 663 occupation series grouped into 59 occupation families following OPM's standard classification, 51 state/DC geographies in the extract, GS pay grade distributions from GS-1 through GS-15, and monthly accession and separation data tracking workforce flows into and out of federal service.

Processing Pipeline

  1. FedScope employment cube and dynamics data files are downloaded from OPM's public data portal in their native multi-dimensional format.
  2. Employee counts, average salaries, average length of service, and demographic distributions are parsed and organized by agency, state, occupation series, and pay grade.
  3. The 663 individual occupation series are grouped into 59 occupation families using OPM's standard occupational group codes (e.g., the 0300 group covers general administrative, clerical, and office services occupations).
  4. Monthly accession and separation records are loaded from the FedScope dynamics dataset, categorizing each workforce flow as a new hire, transfer in, rehire, quit, retirement, reduction in force, termination, or transfer out.
  5. Cross-tabulations are computed to enable multi-dimensional analysis: agency-by-state, agency-by-occupation, occupation-by-grade, and state-by-occupation breakdowns.
  6. Adjacent-snapshot changes are calculated for agency headcounts and average salaries (current employment cube vs prior cube, see § populations), enabling trend identification without inventing a calendar YoY.
  7. All data is loaded into a structured SQLite database serving agency profiles, occupation pages, state workforce summaries, and ranking tables.

Corpus placement (#N of M)

Entity detail pages state where an agency, occupation series, or state ranks within the full FedScope cohort PlainGovJobs tracks, using a live #N of M ordinal (for example, “ranks #3 of 634 federal occupation series by headcount”).

Salary-percentile charts on entity pages use a separate analytical cohort (all entities sorted by average pay). Those percentiles are complementary context; the according-to lead sentence always uses the listing-matched headcount basis above. Ties on headcount break on slug ascending.

Key Terms

  • Accession: An employee entering federal service, includes new hires (first-time federal employees), transfers in from other agencies, and rehires (former federal employees returning to service)
  • Separation: An employee leaving federal service, includes voluntary quits, retirements (both voluntary and mandatory), reductions in force, terminations for cause, and transfers out to other agencies
  • RIF (Reduction in Force): An involuntary separation initiated by the agency due to lack of work, shortage of funds, reorganization, or other organizational reasons. RIF procedures follow strict OPM regulations regarding retention priority based on tenure, veteran status, length of service, and performance
  • GS (General Schedule): The predominant federal pay system covering the majority of white-collar civilian employees, with 15 grades (GS-1 through GS-15) and 10 steps within each grade. Locality pay adjustments are applied on top of the base GS rates
  • LOS (Length of Service): Average years of continuous federal civilian service for employees in a given agency, occupation, or grade

Accuracy Commitment

PlainGovJobs reproduces OPM FedScope data exactly as published. Employee counts, salary averages, and workforce dynamics are presented without editorial modification. Cross-tabulations are computed directly from the FedScope cube dimensions. When OPM publishes revised data or corrections, PlainGovJobs incorporates the updates in the next database refresh.

Limitations

  • FedScope covers civilian employees only, military personnel, uniformed services, and contractor staff are not included in the dataset.
  • Some agencies within the intelligence community and certain Department of Defense components may have incomplete or suppressed data for national security reasons.
  • Salary figures shown are national averages based on base pay plus locality adjustments as reported in FedScope. They do not isolate locality-specific pay rates for individual metropolitan areas.
  • Data reflects a point-in-time snapshot. Real-time hiring freezes, RIF actions, or organizational changes occurring after the snapshot date are not captured until the next semi-annual release.
  • PlainGovJobs is not affiliated with OPM or any government agency.

Contact

Questions about our methodology? Contact us.

Beyond our primary data sources, the following federal government resources provide additional context for transparency, methodology verification, and related public records: