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.