Upper-Middle Management Analysis

Upper-Middle Management Trends

Interactive view of OSU salary reports (2014-2025) focused on "upper-middle management" titles. Counts and payroll shares are derived from the published salary PDFs parsed in this repo.

Latest snapshot date
-
Upper-middle headcount
-
Share of total headcount
-
Share of payroll
-

Loading chart data...

Headcount over time

Upper-middle

Payroll share over time

Upper-middle payroll share

Heuristic used to tag upper-middle management

Titles are tagged client-side using a conservative heuristic on each snapshot job title:

Included if title contains…Excluded if title contains…
"Director", "Assistant Director", "Associate Director", "Senior Director", "Manager", "Head", "Chair" "Vice President", "Provost", "Chancellor", "President", "Chief", "Dean"

Decision rule: Each employee can have multiple jobs per snapshot. A person is counted as upper-middle management when at least one title matches the inclusion list and none of their titles match the exclusion list in that same snapshot.

Important: This is a title-text heuristic for analysis, not an official OSU HR level or bargaining-unit designation. Payroll share uses the snapshot's calculated pay.

How the numbers are built

  1. Source PDFs: Official OSU salary reports (2014-10 through 2025-10) in reports/.
  2. Extraction: convert_data.sh calls pdftotext then a Python parser to produce data.json (per-person timelines).
  3. Chunking: split_data.py creates data/index.json, data/aggregates.json, and bucketed data/people/*.json.
  4. This page: Loads aggregates.json for dates, then streams all data/people/*.json. For each snapshot, it applies the title heuristic above and sums headcount and payroll.