Corporate Venturing Toolkit

Analyses corporate venturing practices and objectives from SEC 10-K filings using the Anthropic Claude API. Scores companies across 15 dimensions and produces dashboards, reports, and an interactive portfolio view.

Research Toolkit Anthropic Claude API SEC EDGAR + Curated Web Windowed Extraction · Ensemble Scoring Python 3.11 6 Companies Analyzed

Current Status

6
Companies analyzed
15
Scoring dimensions
1024
Avg total score / 1500
Ensemble scoring passes (median + uncertainty)

Companies

Ticker Company Tier Total Score / 1500 Dominant Practice Dominant Objective
AMZN Amazon.com Inc. Tier 1
1172
Corporate Venture Capital Develop Business Ecosystems
GOOGL Alphabet Inc. Tier 1
1153
Venture Building Access to New Technology
MSFT Microsoft Corporation Tier 1
1064
Venture Building Access to New Technology
CSCO Cisco Systems Inc. Tier 1
974
Accelerators & Incubators Access to New Technology
QCOM Qualcomm Inc. Tier 1
946
Corporate Venture Capital Market Expansion
MRK Merck & Co. Inc. Tier 1
837
Corporate Venture Capital Access to New Technology

Analysis Pipeline (per company)

1
Document identification & preprocess
Resolve ticker → CIK, download the complete EDGAR SGML 10-K (SQLite-cached), and extract the full narrative — Items 1, 1A, 2, 7, and all of Item 8 incl. financial footnotes. Fetch XBRL structured financials.
2
RAG index & entity discovery
Build a BM25 + sentence-transformer index used only to surface investment-relevant passages; discover named funds / portfolio companies (curated context + retrieval + optional Claude refinement).
3
Windowed extraction (all 15 dimensions)
Tile the entire narrative into overlapping 60K-char windows and scan every window for all 15 dimensions — nothing truncated; evidence merged + deduped. Prompt caching on the shared prefix.
4
Curated-web augmentation (optional)
Scrape curated CVC / accelerator / impact pages and run them through the same all-15-dimension extractor, merging the web evidence (informs every dimension incl. all 7 objectives) before scoring.
5
Ensemble scoring + investment & funds
5 independent scoring passes (temperature=0) → per-dimension median with min/max/std uncertainty, ranks, P×O matrix. A synthesis call adds investment_and_funds (fund sizes + preferences). Financials overridden by XBRL.
6
Output generation
Per-company: P×O heatmap, dashboard (plain + uncertainty/error-bars), ensemble table/figure, .docx. Portfolio: master CSV, heatmaps, self-contained HTML dashboard, portfolio .docx.

Tech Stack

AI / LLM
Anthropic Claude API claude-sonnet-4-5 (pinned 20250929) temperature=0.0 prompt caching ensemble scoring
Retrieval
BM25 (rank-bm25) sentence-transformers (all-MiniLM-L6-v2)
Web scraping
requests / httpx BeautifulSoup openpyxl (URL workbook)
Data
pandas numpy scipy SEC EDGAR API XBRL financials SQLite cache
Visualisation
matplotlib seaborn wordcloud HTML/CSS dashboard
Output
python-docx CSV PNG self-contained HTML

Key Files

cv_toolkit.py CLI entry point — all subcommands (preprocess, analyze, charts, report, csv, portfolio-report)
cv_analyzer.py Core pipeline: SGML extraction → section parsing → batch extraction → scoring → persist
cv_config.py Single source of truth: dimension lists, colors, financial metrics, paths, tier thresholds
cv_sec.py SEC EDGAR integration: get_filing_text(), fetch_xbrl_financials(), merge_xbrl_into_financials()
cv_rag.py BM25 + sentence-transformer hybrid index; investment entity discovery
cv_framework.py Builds scoring rubrics via Claude from framework/ .txt definitions; caches to .cv_cache/
cv_visualizer.py Per-company charts: P×O heatmap, dashboard PNG, word clouds
cv_portfolio.py Portfolio-level: heatmap, mean scores, HTML dashboard, portfolio .docx
cv_report.py Per-company .docx report; build_summary_row() for CSV flattening
sec_filing_cache.py EDGAR download + SQLite cache; HTML section extraction with TOC-skip logic
cv_url_scraper.py Curated-web scraper (CVC / accelerator / impact URLs) → scraped/<TICKER>/result.json; powers the optional --with-scraped augmentation
ensemble_report.py Renders the ensemble uncertainty table (CSV/MD) + error-bar figure from ensemble_scores.json
company_context.json CVC fund names, portfolio companies, dimension_hints per ticker — injected into prompts
run_batch.sh Batch analysis script (v1 framework); supports --force and --ticker flags
run_batch_v2.sh Batch script using framework_v2 (shorter, broader rubric definitions); outputs to outputs_v2/
outputs_v2/master_dataframe.csv Flat file: one row per company, all scores / ranks / descriptions / financials (canonical, curated-web augmented)
outputs_v2/portfolio_dashboard.html Self-contained (zero CDN) interactive portfolio dashboard
outputs_v2/<TICKER>/analysis.json Master per-company record: scores, ranks, P×O matrix, ensemble + uncertainty, investment_and_funds, financials
IMPLEMENTATION_GUIDE.html End-to-end step-by-step guide (programs used + files created at each step)
PROJECT_SUMMARY.html Project summary with current results, architecture, and command reference

Dimension Framework (15 dimensions)

4 Practices
Corporate Venture Capital Accelerators & Incubators Venture Building Venture Clienting
4 Activities
Mentorship Business Services Workspace Events
7 Objectives
Risk Management Market Expansion Access to New Technology Develop Business Ecosystems Social & Environmental Impact Entrepreneurial Culture Financial Return