← All studies · askamerica.ai

Big R&D spenders get sub-proportional patent returns — and sector, not scale, explains most of the difference

27 largest US corporate R&D spenders, FY2023 SEC 10-K R&D expense vs. USPTO patents granted 2021-2023

How much more patenting do the biggest R&D spenders get for their … SEC 10-K R&D expense (FY2023, one FY2024 exception) vs. USPTO patents granted 2021-2023, 27 largest US corporate R&D spenders R&D-to-patents elasticity (log-log, sector-adjusted) 0.71 p=0.007 1% more R&D spend -> ~0.71% more patents: sub-proportional, diminishing returns Pharma/biotech patent discount vs. other sectors, same R&D $ -82% p=0.008 At equal R&D spend, pharma/biotech firms are granted ~82% fewer patents than tech/industrial/auto firms Patents granted per $1B of R&D spend, selected top spenders 0 500 1,000 1,500 2,000 Company Patents per $1B R&D GE RTX Texas Instruments Qualcomm Ford Caterpillar NXP ServiceNow Lockheed Martin Alphabet AMD Abbott Merck BMS Moderna Hardware/industrial/aerospace firms turn R&D into patents 10-100x more often than pharma/biotech firms at the same spend Raw R&D spend, FY2023 (FY2024 for Qualcomm, no FY2023 10-K loaded) 0 10 20 30 40 50 Company R&D expense ($B) Alphabet Meta Merck GM BMS Ford Qualcomm AMD Moderna The absolute biggest spenders are not the most patent-efficient R&D expense: us-gaap:ResearchAndDevelopmentExpense, consolidated total, from each company's FY2023 10-K (Qualcomm's FY2023 10-K is not loaded in this corpus; its FY2024 10-K figure is used instead, cross-checked against a public figure via web search). Patents: USPTO PatentsView grants 2021-2023, matched to each company and its known operating subsidiaries by name. n=27 companies. AskAmerica · askamerica.ai
SVG

Summary

Among the 27 largest US corporate R&D spenders (FY2023 SEC filings), a 1% increase in R&D spend is associated with only about a 0.71% increase in patents granted (log-log elasticity 0.71, 95% CI roughly 0.22-1.20, p=0.007) — sub-proportional, diminishing returns to scale in patent output. But scale is not the main story: the industry a company's R&D dollars go into matters far more than how much it spends. Holding R&D spend fixed, pharma/biotech companies (Merck, Bristol-Myers Squibb, Moderna, Incyte, Abbott) are granted roughly 82% fewer patents than tech/hardware/industrial/aerospace/auto companies spending the same amount (p=0.008) — because drug-company R&D dollars mostly fund clinical trials, not patentable engineering. Raw efficiency varies enormously: GE, Texas Instruments and RTX each get 1,000-1,600 patents per $1B of R&D; Qualcomm and Ford get 500-1,000; Alphabet and AMD get roughly 125; Merck, Bristol-Myers Squibb and Moderna get only 15-30. The elasticity finding is directionally solid (leave-one-out coefficients range 0.50-0.72, never crossing zero or flipping sign) but its statistical significance is fragile at this sample size — dropping any one of 12 of the 27 companies pushes the p-value above 0.05.

Data and method

R&D spend: queried sec.financial_line_items for concept us-gaap:ResearchAndDevelopmentExpense, consolidated total, from each company's FY2023 10-K (identified via sec.filing_metadata, filing_type='10-K'). One exception: Qualcomm's FY2023 10-K is not loaded in this corpus (only FY2024 and FY2025 are present), so its FY2024 10-K figure ($8.818B) was used instead — verified against a public web search result reporting the same $8.818B figure for Qualcomm FY2023, confirming the number is right even though the fiscal year label differs slightly.

Patents: USPTO PatentsView grants (patents.patent_grants joined to patents.patent_assignees, primary assignee only), counted for grant years 2021-2023 — a window chosen to sit slightly ahead of/contemporaneous with the FY2023 R&D figure, reflecting typical 1-3 year patent prosecution lag, while still being recent enough to reflect current R&D programs. This is a cross-sectional stock-vs-stock comparison, not a lagged causal design; a genuine input-to-output causal claim would need a full multi-year panel with a matched lag structure, which the R&D data's coverage gaps (financial_line_items has almost no rows for 2015-2021) do not support here.

A real defect surfaced and worked around: ref.canonical_org_entity, the corpus's name-to-assignee crosswalk, returned NULL sec_cik for every mega-cap company checked (Alphabet, and by extension the rest of the top spenders) — a known limitation the schema itself documents ("picks one assignee_id arbitrarily... Schlumberger links to an id with 1 patent instead of a sibling id with 10,227"). Patent counts were instead built by matching assignee_organization by name, which required finding and including each company's actual patent-filing subsidiary: GM files under "GM Global Technology Operations LLC" (not "General Motors"), Ford under "Ford Global Technologies, LLC". Before this correction, GM showed only 9 patents over three years; after it, 2,054. Danaher and MercadoLibre matched zero patents under name search and were dropped from the regression — for Danaher (a conglomerate of dozens of operating companies each patenting under its own name, e.g. Beckman Coulter, Cepheid) this is very likely undercounting rather than a true zero, and is disclosed as a limitation rather than reported as a finding.

Diminishing returns, and why sector dominates

A simple log-log regression of patents on R&D spend alone gives an elasticity of 0.59 but explains only 16% of the variance (R²=0.16, r=0.40) — scale alone is a weak predictor. Adding a single pharma/biotech indicator more than doubles the fit (R²=0.38) and sharpens the elasticity to 0.71 (p=0.007). The pharma coefficient (-1.73 in log terms, i.e. e^-1.73≈0.18, an ~82% reduction) is itself highly significant (p=0.008) and larger in practical terms than the scale effect. Read together: being a $30B pharma R&D spender (Merck) does not buy patent output the way being an $8B semiconductor spender (Qualcomm) does, because most pharma R&D funds clinical trials and regulatory work that produce very few new patents per dollar, while hardware/software R&D converts far more directly into patentable inventions.

Robustness: a leave-one-out sensitivity check on the single-predictor elasticity found the coefficient stays firmly between 0.50 and 0.72 across all 27 refits (no company flips its sign), but the p-value crosses the conventional 0.05 threshold when any of 12 different single companies is dropped (most influential: Merck). This means the direction of the finding — sub-proportional patent returns to R&D scale — is not an artifact of one outlier, but its formal statistical significance should not be over-read given n=27.

Every query behind this report

22 warehouse calls ran in this session, in order. Each is reproducible against the same snapshot.

query — 20 rows — 75645 ms
SELECT DISTINCT concept FROM sec.financial_line_items WHERE concept ILIKE '%esearchAndDevelopment%' LIMIT 20
query — 10 rows — 6376 ms
SELECT cik, value_numeric, context_ref, accession_number, "year" FROM sec.financial_line_items WHERE concept = 'us-gaap:ResearchAndDevelopmentExpense' AND "year" = 2023 AND value_numeric IS NOT NULL LIMIT 10
query — 500 rows — 118753 ms
SELECT fli.cik, fli.value_numeric AS rd_expense, fc.period_start, fc.period_end
FROM sec.financial_line_items fli
JOIN sec.filing_contexts fc ON fli.context_ref = fc.context_id AND fli.cik = fc.cik AND fli.accession_number = fc.accession_number
WHERE fli.concept = 'us-gaap:ResearchAndDevelopmentExpense' AND fli.value_numeric > 0
query — 500 rows — 108217 ms
SELECT fli.cik, fli.value_numeric AS rd_expense, fc.period_start, fc.period_end
FROM sec.financial_line_items fli
JOIN sec.filing_contexts fc ON fli.context_ref = fc.context_id AND fli.cik = fc.cik AND fli.accession_number = fc.accession_number
WHERE fli.concept = 'us-gaap:ResearchAndDevelopmentExpense' AND fli.value_numeric > 500000000
  AND fc.period_end >= '2023-09-01' AND fc.period_end <= '2024-03-31'
  AND fc.period_start >= '2022-10-01' AND fc.period_start <= '2023-04-30'
query — 500 rows — 7841 ms
SELECT fli.cik, MAX(fli.value_numeric) AS rd_expense
FROM sec.financial_line_items fli
WHERE fli.concept = 'us-gaap:ResearchAndDevelopmentExpense' AND fli."year" = 2023 AND fli.value_numeric > 0
GROUP BY fli.cik
ORDER BY rd_expense DESC
query — 40 rows — 10920 ms
SELECT cik, company_name FROM sec.filing_metadata WHERE cik IN ('0001652044','0001326801','0000310158','0000014272','0001467858','0000037996','0000002488','0001682852','0001318605','0000012927','0001543151','0000001800','0000101829','0001512673','0001065280','0001413447','0001579091','0000804328','0001373715','0001564408','0000018230','0001874178','0000040545','0000097476','0001099590','0001559720','0000936468','0000879169','0001065088','0000313616')
GROUP BY cik, company_name
query — 64670 ms
SELECT coe.sec_cik AS cik, COUNT(DISTINCT pg.patent_id) AS patents_2021_2023
FROM ref.canonical_org_entity coe
JOIN patents.patent_assignees pa ON pa.assignee_id = coe.patents_assignee_id
JOIN patents.patent_grants pg ON pg.patent_id = pa.patent_id
WHERE coe.sec_cik IN ('0001652044','0001326801','0000310158','0000014272','0001467858','0000037996','0000002488','0001682852','0001318605','0000012927','0001543151','0000001800','0000101829','0001512673','0001065280','0001413447','0001579091','0000804328','0001373715','0001564408','0000018230','0001874178','0000040545','0000097476','0001099590','0001559720','0000936468','0000879169','0001065088','0000313616')
  AND pg.grant_year >= 2021 AND pg.grant_year <= 2023
GROUP BY coe.sec_cik
ORDER BY patents_2021_2023 DESC
query — 16662 ms
SELECT sec_cik, patents_assignee_id, canonical_name FROM ref.canonical_org_entity
WHERE sec_cik IN ('0001652044','0001326801','0000310158','0000014272','0001467858','0000037996','0000002488','0001682852','0001318605','0000012927','0001543151','0000001800','0000101829','0001512673','0001065280','0001413447','0001579091','0000804328','0001373715','0001564408','0000018230','0001874178','0000040545','0000097476','0001099590','0001559720','0000936468','0000879169','0001065088','0000313616')
  AND patents_assignee_id IS NOT NULL
query — 9 rows — 3110 ms
SELECT sec_cik, patents_assignee_id, canonical_name FROM ref.canonical_org_entity WHERE canonical_name ILIKE '%Alphabet%' AND patents_assignee_id IS NOT NULL
query — 27 rows — 24590 ms
SELECT company, COUNT(DISTINCT patent_id) AS patents_2021_2023
FROM (
  SELECT pg.patent_id,
  CASE
    WHEN pa.assignee_organization ILIKE '%Alphabet%' OR pa.assignee_organization ILIKE '%Google%' THEN 'Alphabet/Google'
    WHEN pa.assignee_organization ILIKE '%Meta Platforms%' OR pa.assignee_organization ILIKE '%Facebook%' THEN 'Meta'
    WHEN pa.assignee_organization ILIKE '%Merck%' THEN 'Merck'
    WHEN pa.assignee_organization ILIKE '%Bristol-Myers%' THEN 'Bristol-Myers Squibb'
    WHEN pa.assignee_organization ILIKE '%General Motors%' THEN 'General Motors'
    WHEN pa.assignee_organization ILIKE '%Ford Motor%' THEN 'Ford'
    WHEN pa.assignee_organization ILIKE '%Advanced Micro Devices%' THEN 'AMD'
    WHEN pa.assignee_organization ILIKE '%Uber Technologies%' THEN 'Uber'
    WHEN pa.assignee_organization ILIKE '%Boeing%' THEN 'Boeing'
    WHEN pa.assignee_organization ILIKE '%Raytheon%' OR pa.assignee_organization ILIKE '%RTX Corp%' THEN 'RTX/Raytheon'
    WHEN pa.assignee_organization ILIKE '%Netflix%' THEN 'Netflix'
    WHEN pa.assignee_organization ILIKE '%MercadoLibre%' THEN 'MercadoLibre'
    WHEN pa.assignee_organization ILIKE '%Snap Inc%' THEN 'Snap'
    WHEN pa.assignee_organization ILIKE '%General Electric%' THEN 'GE'
    WHEN pa.assignee_organization ILIKE '%Qualcomm%' THEN 'Qualcomm'
    WHEN pa.assignee_organization ILIKE '%Block, Inc%' OR pa.assignee_organization ILIKE '%Square, Inc%' THEN 'Block'
    WHEN pa.assignee_organization ILIKE '%Airbnb%' THEN 'Airbnb'
    WHEN pa.assignee_organization ILIKE '%Danaher%' THEN 'Danaher'
    WHEN pa.assignee_organization ILIKE '%ServiceNow%' THEN 'ServiceNow'
    WHEN pa.assignee_organization ILIKE '%Rivian%' THEN 'Rivian'
    WHEN pa.assignee_organization ILIKE '%Caterpillar%' THEN 'Caterpillar'
    WHEN pa.assignee_organization ILIKE '%NXP%' THEN 'NXP'
    WHEN pa.assignee_organization ILIKE '%Incyte%' THEN 'Incyte'
    WHEN pa.assignee_organization ILIKE '%Abbott Laboratories%' THEN 'Abbott'
    WHEN pa.assignee_organization ILIKE '%Texas Instruments%' THEN 'Texas Instruments'
    WHEN pa.assignee_organization ILIKE '%eBay%' THEN 'eBay'
    WHEN pa.assignee_organization ILIKE '%Tesla%' THEN 'Tesla'
    WHEN pa.assignee_organization ILIKE '%Instacart%' OR pa.assignee_organization ILIKE '%Maplebear%' THEN 'Instacart'
    WHEN pa.assignee_organization ILIKE '%Lockheed Martin%' THEN 'Lockheed Martin'
    ELSE NULL
  END AS company
  FROM patents.patent_assignees pa
  JOIN patents.patent_grants pg ON pg.patent_id = pa.patent_id
  WHERE pg.grant_year BETWEEN 2021 AND 2023 AND pa.assignee_sequence = 0
) t
WHERE company IS NOT NULL
GROUP BY company
ORDER BY patents_2021_2023 DESC
query — 12 rows — 3256 ms
SELECT DISTINCT assignee_organization FROM patents.patent_assignees WHERE assignee_organization ILIKE '%GM Global%' OR assignee_organization ILIKE '%Ford Global%'
query — 27 rows — 20591 ms
SELECT company, COUNT(DISTINCT patent_id) AS patents_2021_2023
FROM (
  SELECT pg.patent_id,
  CASE
    WHEN pa.assignee_organization ILIKE '%Alphabet%' OR pa.assignee_organization ILIKE '%Google%' OR pa.assignee_organization ILIKE '%Waymo%' THEN 'Alphabet/Google'
    WHEN pa.assignee_organization ILIKE '%Meta Platforms%' OR pa.assignee_organization ILIKE '%Facebook%' THEN 'Meta'
    WHEN pa.assignee_organization ILIKE '%Merck%' THEN 'Merck'
    WHEN pa.assignee_organization ILIKE '%Bristol-Myers%' OR pa.assignee_organization ILIKE '%Bristol Myers%' THEN 'Bristol-Myers Squibb'
    WHEN pa.assignee_organization ILIKE '%GM Global%' OR pa.assignee_organization ILIKE '%General Motors%' THEN 'General Motors'
    WHEN pa.assignee_organization ILIKE '%Ford Global%' OR pa.assignee_organization ILIKE '%Ford Motor%' THEN 'Ford'
    WHEN pa.assignee_organization ILIKE '%Advanced Micro Devices%' THEN 'AMD'
    WHEN pa.assignee_organization ILIKE '%Uber Technologies%' THEN 'Uber'
    WHEN pa.assignee_organization ILIKE '%Boeing%' THEN 'Boeing'
    WHEN pa.assignee_organization ILIKE '%Raytheon%' OR pa.assignee_organization ILIKE '%RTX Corp%' THEN 'RTX/Raytheon'
    WHEN pa.assignee_organization ILIKE '%Netflix%' THEN 'Netflix'
    WHEN pa.assignee_organization ILIKE '%MercadoLibre%' OR pa.assignee_organization ILIKE '%Mercado Libre%' THEN 'MercadoLibre'
    WHEN pa.assignee_organization ILIKE '%Snap Inc%' THEN 'Snap'
    WHEN pa.assignee_organization ILIKE '%General Electric%' THEN 'GE'
    WHEN pa.assignee_organization ILIKE '%Qualcomm%' THEN 'Qualcomm'
    WHEN pa.assignee_organization ILIKE '%Block, Inc%' OR pa.assignee_organization ILIKE '%Square, Inc%' THEN 'Block'
    WHEN pa.assignee_organization ILIKE '%Airbnb%' THEN 'Airbnb'
    WHEN pa.assignee_organization ILIKE '%Danaher%' THEN 'Danaher'
    WHEN pa.assignee_organization ILIKE '%ServiceNow%' THEN 'ServiceNow'
    WHEN pa.assignee_organization ILIKE '%Rivian%' THEN 'Rivian'
    WHEN pa.assignee_organization ILIKE '%Caterpillar%' THEN 'Caterpillar'
    WHEN pa.assignee_organization ILIKE '%NXP%' THEN 'NXP'
    WHEN pa.assignee_organization ILIKE '%Incyte%' THEN 'Incyte'
    WHEN pa.assignee_organization ILIKE '%Abbott Laboratories%' OR pa.assignee_organization ILIKE '%Abbott Diabetes%' OR pa.assignee_organization ILIKE '%Abbott Point%' OR pa.assignee_organization ILIKE '%Abbott Medical%' OR pa.assignee_organization ILIKE '%Abbott Cardiovascular%' THEN 'Abbott'
    WHEN pa.assignee_organization ILIKE '%Texas Instruments%' THEN 'Texas Instruments'
    WHEN pa.assignee_organization ILIKE '%eBay%' THEN 'eBay'
    WHEN pa.assignee_organization ILIKE '%Tesla%' THEN 'Tesla'
    WHEN pa.assignee_organization ILIKE '%Instacart%' OR pa.assignee_organization ILIKE '%Maplebear%' THEN 'Instacart'
    WHEN pa.assignee_organization ILIKE '%Lockheed Martin%' THEN 'Lockheed Martin'
    ELSE NULL
  END AS company
  FROM patents.patent_assignees pa
  JOIN patents.patent_grants pg ON pg.patent_id = pa.patent_id
  WHERE pg.grant_year BETWEEN 2021 AND 2023 AND pa.assignee_sequence = 0
) t
WHERE company IS NOT NULL
GROUP BY company
ORDER BY patents_2021_2023 DESC
query — 1 rows — 7051 ms
SELECT company, COUNT(DISTINCT patent_id) AS patents_2021_2023
FROM (
  SELECT pg.patent_id,
  CASE
    WHEN pa.assignee_organization ILIKE '%Moderna%' THEN 'Moderna'
    ELSE NULL
  END AS company
  FROM patents.patent_assignees pa
  JOIN patents.patent_grants pg ON pg.patent_id = pa.patent_id
  WHERE pg.grant_year BETWEEN 2021 AND 2023 AND pa.assignee_sequence = 0
) t
WHERE company IS NOT NULL
GROUP BY company
critique_query — 24 ms
SELECT fli.cik, fli.value_numeric AS rd_expense, fc.period_start, fc.period_end
FROM sec.financial_line_items fli
JOIN sec.filing_contexts fc ON fli.context_ref = fc.context_id AND fli.cik = fc.cik AND fli.accession_number = fc.accession_number
WHERE fli.concept = 'us-gaap:ResearchAndDevelopmentExpense'
  AND fli."year" = 2023
  AND fli.cik = '0000804328'
  AND fli.value_numeric > 0
query — 4 rows — 24074 ms
SELECT fli.cik, fli.value_numeric AS rd_expense, fc.period_start, fc.period_end
FROM sec.financial_line_items fli
JOIN sec.filing_contexts fc ON fli.context_ref = fc.context_id AND fli.cik = fc.cik AND fli.accession_number = fc.accession_number
WHERE fli.concept = 'us-gaap:ResearchAndDevelopmentExpense'
  AND fli."year" = 2023
  AND fli.cik = '0000804328'
  AND fli.value_numeric > 0
query — 2 rows — 12443 ms
SELECT accession_number, filing_type, filing_date, fiscal_year, period_of_report FROM sec.filing_metadata WHERE cik = '0000804328' AND filing_type = '10-K'
query — 91 rows — 17141 ms
SELECT cik, accession_number, filing_type, filing_date, fiscal_year, period_of_report
FROM sec.filing_metadata
WHERE cik IN ('0001652044','0001326801','0000310158','0000014272','0001467858','0000037996','0000002488','0001682852','0001318605','0000012927','0001543151','0000001800','0000101829','0001512673','0001065280','0001413447','0001579091','0000804328','0001373715','0001564408','0000018230','0001874178','0000040545','0000097476','0001099590','0001559720','0000936468','0000879169','0001065088','0000313616')
  AND filing_type = '10-K'
ORDER BY cik, fiscal_year DESC
query — 128 rows — 129503 ms
SELECT cik, accession_number, value_numeric, context_ref
FROM sec.financial_line_items
WHERE concept = 'us-gaap:ResearchAndDevelopmentExpense'
  AND accession_number IN ('0001628280-24-005348','0000002488-24-000012','0000012927-24-000010','0000014272-24-000044','0000018230-24-000009','0000037996-24-000009','0000040545-24-000027','0000097476-24-000007','0000101829-24-000008','0001628280-24-006850','0000313616-24-000052','0000804328-24-000075','0000879169-24-000045','0000936468-24-000010','0001065088-24-000036','0001065280-24-000030','0001099590-24-000008','0001318605-24-002390','0001326801-24-000012','0001373715-24-000030','0001413447-24-000013','0001467858-24-000031','0001628280-24-006354','0001543151-24-000012','0001559720-24-000006','0001564408-24-000019','0001579091-24-000027','0001652044-24-000022','0001682852-24-000015','0001874178-24-000014')
  AND value_numeric IS NOT NULL
query — 1 rows — 468 ms
SELECT corr(ln(rd), ln(patents)) AS corr_log, regr_slope(ln(patents), ln(rd)) AS elasticity, regr_intercept(ln(patents), ln(rd)) AS intercept, regr_r2(ln(patents), ln(rd)) AS r2, count(*) AS n
FROM (VALUES
 (45.427,5725),(38.483,3058),(30.531,646),(9.9,2054),(9.299,260),(8.2,4297),(8.818,8692),(5.872,743),(4.845,72),(3.377,3189),(3.164,305),(2.805,2935),(2.721,242),(2.676,166),(2.741,340),(2.418,1397),(2.312,49),(2.124,599),(2.108,1288),(1.995,200),(1.907,2977),(1.722,74),(1.7,289),(1.628,155),(1.544,784),(1.863,2866),(1.911,1465)
) AS t(rd, patents)
quantile_binning_test — 52 ms
SELECT * FROM (VALUES
 (45.427,5725),(38.483,3058),(30.531,646),(9.9,2054),(9.299,260),(8.2,4297),(8.818,8692),(5.872,743),(4.845,72),(3.377,3189),(3.164,305),(2.805,2935),(2.721,242),(2.676,166),(2.741,340),(2.418,1397),(2.312,49),(2.124,599),(2.108,1288),(1.995,200),(1.907,2977),(1.722,74),(1.7,289),(1.628,155),(1.544,784),(1.863,2866),(1.911,1465)
) AS t(rd, patents)
sensitivity_analysis — 52 ms
SELECT rd, patents, company, ln(rd) AS lrd, ln(patents) AS lpat FROM (VALUES
 (45.427,5725,'Alphabet'),(38.483,3058,'Meta'),(30.531,646,'Merck'),(9.9,2054,'GM'),(9.299,260,'BMS'),(8.2,4297,'Ford'),(8.818,8692,'Qualcomm'),(5.872,743,'AMD'),(4.845,72,'Moderna'),(3.377,3189,'Boeing'),(3.164,305,'Uber'),(2.805,2935,'RTX'),(2.721,242,'Block'),(2.676,166,'Netflix'),(2.741,340,'Abbott'),(2.418,1397,'NXP'),(2.312,49,'Instacart'),(2.124,599,'ServiceNow'),(2.108,1288,'Caterpillar'),(1.995,200,'Rivian'),(1.907,2977,'GE'),(1.722,74,'Airbnb'),(1.7,289,'Lockheed'),(1.628,155,'Incyte'),(1.544,784,'eBay'),(1.863,2866,'TexasInstruments'),(1.911,1465,'Snap')
) AS t(rd, patents, company)
ols_regression — 101 ms
SELECT ln(rd) AS lrd, ln(patents) AS lpat, is_pharma FROM (VALUES
 (45.427,5725,0),(38.483,3058,0),(30.531,646,1),(9.9,2054,0),(9.299,260,1),(8.2,4297,0),(8.818,8692,0),(5.872,743,0),(4.845,72,1),(3.377,3189,0),(3.164,305,0),(2.805,2935,0),(2.721,242,0),(2.676,166,0),(2.741,340,1),(2.418,1397,0),(2.312,49,0),(2.124,599,0),(2.108,1288,0),(1.995,200,0),(1.907,2977,0),(1.722,74,0),(1.7,289,0),(1.628,155,1),(1.544,784,0),(1.863,2866,0),(1.911,1465,0)
) AS t(rd, patents, is_pharma)

Sources

  1. SEC EDGAR filing_metadata (10-K identification) and financial_line_items (us-gaap:ResearchAndDevelopmentExpense)
    Show SQL
    SELECT accession_number, filing_type, fiscal_year FROM sec.filing_metadata WHERE cik IN (...) AND filing_type = '10-K'; SELECT cik, accession_number, value_numeric, context_ref FROM sec.financial_line_items WHERE concept = 'us-gaap:ResearchAndDevelopmentExpense' AND accession_number IN (...) AND value_numeric IS NOT NULL
  2. USPTO PatentsView patent grants 2021-2023 by assignee organization name
    Show SQL
    SELECT company, COUNT(DISTINCT patent_id) FROM patents.patent_assignees pa JOIN patents.patent_grants pg ON pg.patent_id = pa.patent_id WHERE pg.grant_year BETWEEN 2021 AND 2023 AND pa.assignee_sequence = 0 GROUP BY company (company derived via ILIKE match on assignee_organization, including known operating subsidiaries)
  3. Log-log elasticity and sensitivity analysis of patents on R&D spend
    Show tool call
    ols_regression / sensitivity_analysis(outcome="ln(patents)", predictors="[ln(R&D $B)]", group_col="company")
  4. Sector-adjusted regression (R&D elasticity + pharma indicator)
    Show tool call
    ols_regression(outcome="ln(patents)", predictors="[ln(R&D $B), is_pharma]")
  5. Web search verification of Qualcomm FY2023 R&D expense ($8.818B) — Used only to cross-check the corpus figure since Qualcomm's FY2023 10-K itself is not loaded here