Skip to content

Company-year match quality

This dataset averages worker-firm-period MQ within company-year and attaches firm identifiers and characteristics. It includes public and private firms.

flowchart TB
    scores[(Worker-firm-period scores)]
    firms[(Firms)]
    mapping[(Revelio-Compustat mapping)]
    comp[(Processed annual Compustat)]
    build[Average MQ by firm-year<br/>and attach firm fields]
    output[(Company-year MQ)]

    scores --> build
    firms --> build
    mapping --> build
    comp --> build
    build --> output

    classDef source fill:#e8eef7,stroke:#52739e
    classDef process fill:#fff0cc,stroke:#a66b00
    classDef data fill:#eee5f5,stroke:#76528c
    class scores,firms,mapping,comp source
    class build process
    class output data

Grain and key: company_id, calendar year
Location: /data/<coverage>/analyses/<mode>/company_year_mq.parquet
Builder: analyses/data_build/build_mq_datasets.py

Core columns are company_id, gvkey, year, n_scores, and mean_match_score. The builder streams score shards, aggregates the score sum and count, joins processed company fields, maps public firms to gvkey, and attaches available annual Compustat fields. gvkey remains missing for private or unmatched firms.

The current builder uses the shared ZFS host path directly:

python analyses/data_build/build_mq_datasets.py \
  --sample one_percent --model full_training --step mq
python analyses/data_build/build_mq_datasets.py \
  --sample full --model full_training --step mq

Check uniqueness of (company_id, year), positive n_scores, and public-firm mapping coverage. Consumers include public-firm analysis data, CHRO data with model MQ, destination-ranking benchmarks, and goodwill target MQ.