Skip to content

Employment events

Employment events are the position-level record used to reconstruct worker histories and worker-firm relationships.

flowchart LR
    raw[(US employment-position records)] --> build[Clean and order positions]
    build --> events[(Employment events)]

    classDef source fill:#e8eef7,stroke:#52739e
    classDef process fill:#fff0cc,stroke:#a66b00
    classDef data fill:#e2f2e7,stroke:#3b7a4b
    class raw source
    class build process
    class events data

Grain: one Revelio employment position
Key: position_id
Location: /data/<coverage>/processed/employment_events_processed/
Builder: shared/data/build_processed.py --target employees

The builder standardizes worker and firm identifiers, parses dates, cleans compensation and role fields, and sorts each worker's positions. It assigns a relationship_number whenever the employer changes in that ordered history. Multiple positions can therefore belong to the same worker-firm relationship.

Important columns are:

  • identifiers: user_id, position_id, company_id, relationship_number;
  • dates: start_date, end_date;
  • compensation: salary, start_salary, end_salary, total_compensation;
  • role attributes: seniority, job_category, description_position.

The output is sharded by worker. All positions for a worker remain together, which allows downstream relationship and model-period builders to process one shard at a time.