The Federal Civilian Workforce Over Time
- How has the total federal workforce size changed over the past decade?
- What is the trend in employee count for a specific agency?
Enterprise Human Resources Integration (EHRI) datasets and visualization catalog for federal workforce analysis
January - November 2025EHRI Status dataset - Monthly snapshots of all active federal employees (in pay or non-pay status) as of the last day of each month.
These files exceed 2 million rows and will exceed the row limit for most spreadsheet tools (e.g., MS Excel). Download files and use Python, R, or database tools to process.
| Column Name | Type | Nulls | Unique | Description / Sample Values |
|---|---|---|---|---|
| snapshot_yyyymm | int64 | 0% | 1 | Month of snapshot (e.g., 202501). Unique identifier for temporal analysis. |
| agency | string | 0.01% | 62 | Parent agency name. DEPARTMENT OF DEFENSE DEPARTMENT OF VETERANS AFFAIRS |
| agency_code | string | 0% | 62 | 2-letter agency code. DD VA HS AR AF |
| agency_subelement | string | 0% | 331 | Sub-agency or bureau name within parent agency. |
| agency_subelement_code | string | 0.01% | 346 | 4-character sub-agency code. DD16 ARCE VATA |
| age_bracket | string | 0% | 11 | Age range. 20-24 25-29 ... 65 OR MORE LESS THAN 20 |
| annualized_adjusted_basic_pay | string | 0.01% | 5,635 | Annual salary. Contains REDACTED for sensitive records. Values like 99036, 168792 |
| appointment_type | string | 0% | 17 | Employment classification. CAREER (COMPETITIVE SERVICE PERMANENT) CAREER-CONDITIONAL |
| appointment_type_code | string | 0% | 17 | 2-digit appointment code. 10 15 38 * (invalid) |
| count | int64 | 0% | 1 | Always 1. Each row represents one employee record. |
| duty_station_country | string | 0% | 3 | UNITED STATES REDACTED INVALID |
| duty_station_country_code | string | 0% | 3 | US REDACTED * |
| duty_station_state | string | 0% | 33 | State name. ~48% REDACTED for privacy. MARYLAND VIRGINIA TEXAS |
| duty_station_state_abbreviation | string | 0% | 33 | State abbreviation. MD VA DC REDACTED |
| duty_station_state_code | string | 0% | 33 | FIPS state code. 11 (DC) 24 (MD) 51 (VA) |
| education_level | string | 0% | 24 | HIGH SCHOOL GRADUATE BACHELOR'S DEGREE MASTER'S DEGREE DOCTORATE DEGREE |
| education_level_code | string | 0.03% | 23 | 2-digit education code. 04 13 17 21 |
| grade | string | 0% | 123 | Pay grade. 01-15 (GS) 00 F (varies by pay plan) |
| length_of_service_years | float64 | 0% | 552 | Federal service tenure in years. Range: 0.0 - 72.5, Mean: 11.94 |
| occupational_group | string | 0% | 58 | MEDICAL, HOSPITAL, DENTAL, AND PUBLIC HEALTH GROUP INFORMATION TECHNOLOGY GROUP |
| occupational_group_code | string | 0% | 59 | 2-digit group code. 06 22 03 |
| occupational_series | string | 0% | 511 | Specific job series. NURSE CONTRACTING INFORMATION TECHNOLOGY MANAGEMENT |
| occupational_series_code | string | 0% | 511 | 4-digit OPM series code. 0610 (Nurse) 2210 (IT) 1102 (Contracting) |
| pay_plan | string | 0% | 95 | GENERAL SCHEDULE FEDERAL WAGE SYSTEM SENIOR EXECUTIVE SERVICE |
| pay_plan_code | string | 0.03% | 95 | 2-character pay plan code. GS WG ES SV |
| stem_occupation | string | 0% | 4 | ALL OTHER OCCUPATIONS (72.8%) STEM OCCUPATIONS (18.4%) HEALTH OCCUPATIONS (8.7%) |
| stem_occupation_type | string | 0% | 7 | ENGINEERING OCCUPATIONS TECHNOLOGY OCCUPATIONS SCIENCE OCCUPATIONS MATHEMATICS OCCUPATIONS |
| supervisory_status | string | 0% | 6 | ALL OTHER POSITIONS (84%) SUPERVISOR OR MANAGER (11.7%) LEADER TEAM LEADER |
| supervisory_status_code | int64 | 0% | 6 | Values: 2 (Supervisor/Mgr), 4-8. Mean: 7.21 |
| work_schedule | string | 0% | 8 | FULL-TIME (95.4%) PART-TIME INTERMITTENT SEASONAL |
| work_schedule_code | string | 0% | 8 | F (Full-time) P (Part-time) I (Intermittent) G S |
EHRI Dynamics dataset - Personnel actions for individuals entering federal civilian employment, including new hires and transfers.
| Column Name | Type | Nulls | Unique | Description / Values |
|---|---|---|---|---|
| accession_category | string | 0% | 4 | Type of entry. NEW HIRE - COMPETITIVE SERVICE APPOINTMENT NEW HIRE - EXCEPTED SERVICE APPOINTMENT TRANSFER IN - INDIVIDUAL TRANSFER NEW HIRE - SENIOR EXECUTIVE SERVICE (SES) APPT |
| accession_category_code | string | 0% | 4 | AA (Competitive) AC (Excepted) AD (SES) AE (Transfer) |
| personnel_action_effective_date_yyyymm | int64 | 0% | 2+ | Month when personnel action took effect. 202501 202301 (some historical) |
snapshot_yyyymm are presentpersonnel_action_effective_date_yyyymm instead of snapshot_yyyymmEHRI Dynamics dataset - Personnel actions for individuals leaving federal civilian employment, including resignations, retirements, and other separations.
September 2025 shows 125,589 separations (vs typical ~20K/month), suggesting a significant workforce reduction event or policy change. Contains 48.4 MB of data compared to typical 8-10 MB files.
| Column Name | Type | Nulls | Unique | Description / Values |
|---|---|---|---|---|
| separation_category | string | 0% | 9 | Type of departure. QUIT RETIREMENT - VOLUNTARY TRANSFER OUT - INDIVIDUAL TRANSFER TERMINATION (EXPIRED APPT/OTHER) REDUCTION IN FORCE (RIF) |
| separation_category_code | string | 0% | 9 | SA (Other) SB (Quit) SC (RIF) SD (Early Out) SE (Other Retire) SG (Voluntary Retire) SH (Termination) SJ (Transfer) SL (Mass Transfer) |
| personnel_action_effective_date_yyyymm | int64 | 0% | 2+ | Month when separation took effect. |
annualized_adjusted_basic_pay: 3.32% nulls (vs <1% in Employment)grade: 1.83% nullsoccupational_series_code: 1.82% nullspay_plan_code: 1.91% nullswork_schedule_code: 1.82% nullsINVALID - Data validation failed* - Invalid code valueNO DATA REPORTED - Missing submissionUNSPECIFIED - Not categorized
{type}_{yyyymm}_{version}_{download_date}.csv
Example: employment_202501_1_2026-01-08.csv
These data fields are present in the EHRI raw data files but are not currently featured in the OPM visualization catalog. They represent opportunities for additional analysis and custom visualizations.
stem_occupation - STEM Occupation CategoryHigh-level classification of whether a position is categorized as STEM, Health, or other occupation types. Useful for analyzing the federal government's science and technology workforce.
stem_occupation_type - Detailed STEM CategoryMore granular breakdown of STEM occupations into specific disciplines. Enables analysis of engineering, technology, science, and math workforce segments.
supervisory_status - Supervisory ClassificationIndicates whether an employee holds a supervisory, managerial, team leader, or non-supervisory position. Critical for understanding organizational structure and leadership distribution.
supervisory_status_code - Supervisory CodeNumeric code representation of supervisory status. Values range from 2-8, with mean of 7.21 indicating most employees are non-supervisory.
work_schedule - Work Schedule TypeDescribes the employee's work arrangement including full-time, part-time, intermittent, and seasonal designations. Important for workforce planning and utilization analysis.
work_schedule_code - Work Schedule CodeSingle-letter code for work schedule type.
length_of_service_years - Federal Service TenureContinuous numeric field representing years of federal service. Ranges from 0 to 72.5 years with mean of 11.94 years for current employees. Separations show higher mean (18.54 years) due to retirements.