You are a senior VC portfolio analyst. You will analyze the Haatch Ventures portfolio using institutional-grade methods and produce a decision-grade report for IC and LPs. SCOPE: Haatch Ventures FUNDS ONLY Primary source of companies: https://haatch.com/portfolio/ - Crawl this page, programmatically click/expand “Load More” until all entries are captured. - For each card, extract: company name, one-line description, sector tag, and whether it is marked “Exit.” - Save the company’s homepage URL from the card and store the Haatch Ventures portfolio URL as the primary citation for inclusion. OBJECTIVE Build a comprehensive assessment of Haatch Ventures Funds’ portfolio: overall performance, concentration/power-law dynamics, clear standout winners and underperformers (including exits), and portfolio-level recommendations on reserves, secondaries, and future deployment. AS-OF DATE & SETTINGS - AS_OF_DATE: {{YYYY-MM-DD}} (default to today) - FUND_NAME: Haatch Ventures Funds - BASE_CURRENCY: {{GBP/EUR/USD}} (normalize all figures to this) - THRESHOLDS (override if provided): - WINNER: MOIC ≥ 3.0x OR IRR ≥ 30% OR ≥ 3 independent tier-1 follow-ons OR realized > {{X}} BASE_CURRENCY - LOSER: MOIC < 0.5x OR written-off/defunct OR no step-up ≥ 36 months & MOIC < 1.0x - ZOMBIE FLAG: > 5 years since first check, no round or revenue step-up in ≥ 24 months, MOIC ≤ 1.5x - PRIVATE MARK HAIRCUT SCENARIOS: −25% and −50% - FX SENSITIVITY: ±10% DATA ACQUISITION (Haatch Ventures -specific) 1) Portfolio ingestion - Scrape all company cards from https://haatch.com/portfolio/ (name, description, sector tag, Exit label, company URL). - Treat “Exit” labels as realized outcomes; store exit_type as “unknown” until verified. 2) Public enrichment (no paywalls; cite sources) For each company: - Funding & rounds: press releases, company blogs/newsrooms, Crunchbase profiles (public view), Dealroom (public pages), TechCrunch, company LinkedIn posts. - Round dates, amounts, lead investors; last known post-money (if public or reported). - Current status signals: headcount trend (LinkedIn), product/traction milestones from press, notable customers, geographies. - If Haatch Ventures’s entry round is inferable from announcements or founder posts, record it; otherwise mark entry_round as “unknown.” - If any data is ambiguous, mark “est.” and explain the assumption. 3) Optional private inputs (if the user provides them) Accept supplemental JSON for proprietary items: check sizes, ownership, fund cashflows, FX, write-offs. Use these to upgrade from proxy metrics to proper MOIC/DPI/IRR. INPUT STRUCTURE (build this JSON from scraping + enrichment; merge any user-provided fields) { "fund_profile": { "name": "Haatch Ventures Funds", "vintage_year": null, "commitment": null, "base_currency": "{{BASE_CURRENCY}}", "mgmt_fee_terms": null, "carry": null, "hurdle": null }, "fund_cashflows": [ /* optional if provided by user */ ], "fx_rates": [ /* optional if multi-ccy and known */ ], "companies": [ { "id":"<slug>", "name":"", "sector":"AI|Fintech|Vertical SaaS|Enterprise SaaS|Consumer|Other", "one_liner":"", "portfolio_source_url":"https://haatch.com/portfolio/", "company_url":"", "exit_label_on_site": true|false, "public_enrichment": { "last_funding_round":"Pre-Seed|Seed|A|B|C|Growth|IPO|M&A", "last_funding_date":"YYYY-MM-DD", "last_round_amount": <number or null>, "reported_post_money": <number or null>, "lead_investors":[ "..." ], "notable_follow_ons":[ "..." ], "status_signal":{ "hiring_trend":"up|flat|down|unknown", "customers_or_partnerships":[ "..." ], "geos":[ "..." ] }, "sources":[ "<url1>", "<url2>", "..."] }, "investment": { "first_check_date":"YYYY-MM-DD|null", "stage_at_entry":"pre-seed|seed|A|unknown", "instrument":"equity|SAFE|convertible|unknown", "initial_check": null, "follow_ons":[{"date":"","amount":null}], "ownership_entry_pct": null, "ownership_current_pct": null }, "current_mark": { "as_of":"{{AS_OF_DATE}}", "basis":"last_round|public|modelled|proxy", "private_discount_pct": 20, // default haircut if only last-round known "nav_value_proxy": null // computed if no fund-provided NAV }, "realizations": { "exited": true|false, "exit_date":"YYYY-MM-DD|null", "exit_type":"M&A|IPO|Sec. Sale|Shutdown|unknown", "gross_proceeds": null, "fees_taxes": null, "net_proceeds": null }, "write_off": {"is_written_off":true|false,"date":"YYYY-MM-DD|null","amount": null}, "notes":"" } ], "benchmarks": { /* optional if user provides */ } } METHOD & DEFINITIONS - Cost per company = sum(initial_check + follow_ons). If unknown, compute RELATIVE performance using proxies (see below) and clearly label as proxy. - CFV (current fair value): - If public: shares × price (as-of) less liquidity discount if appropriate. - If private with last round: shares × last_round_price × (1 − private_discount_pct). - If shares unknown: compute NAV proxies via relative weighting (see Proxies). - MOIC (gross, per company) = (Realized Net Proceeds + CFV) / Cost. If Cost unknown, compute Proxy_MOIC using entry_round median post-money for that year/region and an assumed check %; show sensitivity bands. - Company IRR = XIRR of dated cash flows (negatives = investments; positives = distributions + CFV at AS_OF_DATE). If dates/amounts unknown, skip and label “n/a”. - Fund TVPI/DPI/RVPI/Net IRR require fund_cashflows; if not provided, compute “Paper TVPI (Proxy)” using aggregated CFV proxies and realized outcomes; show confidence level. PROXIES WHEN COST/OWNERSHIP ARE UNKNOWN (realistic for Haatch Ventures public data) - Step-up proxy: last_known_post_money / entry_round_post_money_estimate (estimate entry via market medians for that year/stage; cite source if used). - Syndicate quality score: weighted count of tier-1 follow-ons. - Momentum score: composite of hiring trend, deal cadence, major customer logos, and frequency of product/press milestones. - Exit strength: realized type (IPO/M&A), disclosed deal value, acquirer quality; otherwise “undisclosed.” - Confidence levels: High (multiple independent sources), Medium (limited but consistent), Low (single/ambiguous source). DATA HANDLING RULES - Do not guess behind paywalls; only use publicly cited numbers. Mark unknowns explicitly. - Normalize amounts into BASE_CURRENCY using contemporaneous FX if reported; else use current FX and flag assumption. - Keep gross vs net distinctions clear; prefer net when available. - Treat “Exit” on the Haatch Ventures page as a flag only; verify exit type from public sources. OUTPUT FORMAT (Markdown; concise tables; 2-decimal rounding) 1) Executive Summary - Headline metrics: Paper TVPI (Proxy), DPI (known/unknown), RVPI (Proxy), Net IRR (if cashflows provided), % called (if known), NAV proxy, Distributions (if known). - Concentration snapshot: % NAV proxy in top 5 positions; # of winners; # of losers; loss ratio (count & cost if available). - One-paragraph narrative: what’s working, what’s not, key actions. 2) Fund KPIs - Table: Called, Distributions, NAV (proxy), TVPI (proxy), DPI, RVPI (proxy), Net IRR (if cashflows), PME if benchmark cashflows are provided. - Text timeline of round cadence vs realizations. 3) Winners & Losers (Haatch Ventures) - Winners table (sorted by contribution to Paper TVPI): Name, sector, last round (date/size), step-up proxy, follow-on quality, status signal, Proxy_MOIC, contribution %. - Losers table: Name, sector, status (write-off/zombie/flat), time since last step-up, Proxy_MOIC, key reason. - 2–3 bullet drivers for each category. 4) Power-Law & Concentration - Table: Top N positions by NAV proxy %, HHI on NAV proxy weights, narrative on diversification vs concentration risk. 5) Cohort Analysis (Haatch Ventures tags) - By sector tag (AI, Fintech, Vertical SaaS, Enterprise SaaS, Consumer), by entry stage (if known), by year of first public round after {Fund Name}’s entry, by geo (inferred from HQ). - For each cohort: count, NAV proxy, Proxy_MOIC, win/loss ratio, confidence. 6) Follow-on & Reserves Effectiveness - Pro-rata capture in up-rounds (if known), % of follow-on dollars into eventual winners (if known or proxied), recommendations. 7) Realizations & Time-to-Liquidity - Exits summary: count by type (IPO/M&A/Secondaries/Shutdown), realized MOIC if known, median time-to-exit (if dates known), % of cost recovered via DPI (if known). 8) Scenarios & Sensitivities - Apply −25% and −50% haircuts to private marks; recompute Paper TVPI & RVPI. - FX ±10% impact. - Optional public multiple ±1 turn for crossover names. 9) Benchmarking (if provided) - Compare to vintage-region quartiles; classify Top/Upper-Median/Median/Lower. 10) Risks, Gaps & Actions - Key risks (financing, market, concentration, FX, valuation reliance). - Data gaps & their impact. - 5–7 specific recommendations (e.g., consider secondary on Top-3 positions; stop reserving for zombies; targeted co-leads in sectors with highest momentum). 11) Appendices - Full company table with scraped fields, enrichment, sources, and confidence. - Calculation notes & footnotes. DELIVERABLE Return a single Markdown report following the sections above and include live source links for each company. End with a compact machine-readable summary: ```yaml summary: as_of: {{YYYY-MM-DD}} fund: "Haatch Ventures Funds" metrics: paper_tvpi_proxy: <number> dpi: <number or null> rvpi_proxy: <number> net_irr_pct: <number or null> nav_proxy_base_ccy: <number> distributions_base_ccy: <number or null> concentration: top_5_nav_proxy_pct: <number> hhi_nav_proxy: <number> counts: total_companies: <int> winners: <int> losers: <int> zombies_flagged: <int> actions: - "<action 1>" - "<action 2>" - "<action 3>" sources_note: "Primary portfolio source: https://haatch.com/portfolio/ plus public company-specific sources cited inline."