Skip to content

Patent firm-year data

The active analysis patent panel aggregates raw KPSS patent outcomes to CRSP security-year and attaches Revelio and Compustat identifiers.

flowchart TB
    patents[(KPSS patents)]
    mapping[(Revelio-Compustat-CRSP mapping)]
    build[Aggregate patent outcomes]
    panel[(Patent firm-year data)]

    patents --> build
    mapping --> build
    build --> panel

    classDef source fill:#e8eef7,stroke:#52739e
    classDef process fill:#fff0cc,stroke:#a66b00
    classDef data fill:#e2f2e7,stroke:#3b7a4b
    class patents,mapping source
    class build process
    class panel data

Grain: permno, year, with available gvkey and rcid links
Location: /data/full/analyses/patent_panel.parquet
Builder: analyses/modules/build_patent_panel.R

The builder reads /data/patents/KPSS_2024.csv directly, constructs patent counts, citations, and real patent value by both issue and filing year, selects the configured headline year basis, and joins the processed Revelio-Compustat-PERMNO mapping.

Rscript pipelines/run_build_patent_panel.R \
  --config config/config_tables89_full.yaml

This is the current input to the public-firm analysis dataset.

The processed Python patent panel is bypassed

This R builder does not read /data/full/raw/patent_firm_year_permno.parquet. The separately documented processed patent firm-year dataset has no current downstream consumer and is not required for the patent regressions.