Skip to content

Processed patent firm-year data

This Python-built dataset aggregates KPSS patent outcomes by CRSP security and calendar year and attaches time-varying CRSP industry fields.

flowchart TB
    patents[(KPSS_2024.csv)]
    links[(Match_patent_permco_permno_2024.csv)]
    names[(CRSP historical names)]
    aggregate[Merge patent links, aggregate,<br/>and attach active industry]
    panel[(Patent firm-year by PERMNO)]

    patents --> aggregate
    links --> aggregate
    names --> aggregate
    aggregate --> panel

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

Grain and key: permno, calendar year
Location: /data/full/raw/patent_firm_year_permno.parquet
Builder: shared/data/build_datasets/patent_panel.py

The builder merges KPSS patent and security-link files, aggregates patent counts, citations, nominal value, and real value by permno, permco, and issue year, then attaches the CRSP name record active during that year. The main output includes SIC, NAICS, ticker, issuer name, and sic2. A patent_firm_year_by_sic2_summary.parquet sidecar summarizes outcomes by year and two-digit SIC.

python -m shared.data.build_datasets.patent_panel
python -m shared.data.build_datasets.patent_panel --inspect

Not used by the active analysis

Repository searches find no current consumer of this Parquet output. The active analysis patent panel is independently aggregated from raw KPSS_2024.csv; it does not read this processed dataset or its summary sidecar.