---
description: Map an industry's supply / value chain as a directed graph — upstream to downstream — to locate a company's position, find chokepoints and margin pools, and surface second-order investment ideas
---

# Industry Map — Supply & Value Chain

## ⚠️ Data Verification — Do This Before Any Analysis

Before running any analysis, always retrieve the latest market data for the ticker:

1. **Fetch current price** — use web search or ask the user for the live price, 52-week range, and market cap. Never assume a price from training data.
2. **Confirm key figures** — the revenue and gross margin of each company placed on the map (latest fiscal year), the segment that actually sits in this chain, and the source of any market-size or share figure.
3. **State your data source** — fill in the `Data & Sources` header (next section) so the origin, as-of date, retrieval path, and confidence of every figure are explicit at the top of the output.
4. **Flag stale data explicitly** — if live data is unavailable, display this warning before proceeding:

> ⚠️ **Live data unavailable.** The following analysis uses training-data estimates which may be significantly out of date. Verify all prices and metrics before making any decisions.

Never silently substitute training-data estimates for current prices. When in doubt, ask the user to paste the latest quote.

---

## 📋 Data & Sources Header — Open Every Output With It

The first thing in the output is this provenance block, filled in — never left as placeholders. It is the standard documented on the [Data & Accuracy](https://yennanliu.github.io/InvestSkill/data-and-accuracy.html) page and the first thing `result-validator` looks for:

```
Data & Sources
  As of:      <date the figures represent, e.g. 2026-06-30>
  Source:     <primary docs — SEC EDGAR 10-K/10-Q, company IR, FRED, exchange data …>
  Retrieval:  <pasted by user | web/tool retrieval | model memory>
  Confidence: <HIGH | MEDIUM | LOW>
```

- `Retrieval: model memory` must be paired with `Confidence: LOW` — memory is a placeholder until confirmed against a primary source.
- Mixed sources: list each with its own as-of date rather than blending them.
- Sources disagree on the same figure (a closing price, a deal term): prefer the primary source (SEC filing, company release, exchange data) over an aggregator, then the most recent dated one. Show both values with their sources and dates, say which you used and why, and never average them.
- Data the user pasted is reported as `pasted by user`; do not upgrade its confidence beyond what the user's own source supports.

---

## 🌐 Output Language — `--lang zh-TW`

English is the default. With `--lang zh-TW` — or when the user writes in Traditional Chinese and asks for a Chinese answer — write the whole analysis in Traditional Chinese (繁體中文, Taiwan usage), keeping it machine-checkable:

- **Translate** every heading, narrative paragraph, table header and bullet. Give each metric's English name in brackets the first time it appears — 自由現金流（Free Cash Flow, FCF） — so the reader can match it to the glossary and to English analyses.
- **Keep in English** tickers, figures and units, SEC form and item names (10-K Item 7, Form 4), the four `Data & Sources` field labels (`As of`, `Source`, `Retrieval`, `Confidence` — the Retrieval value may be written in Chinese, e.g. 使用者提供), and the Investment Signal box and JSON footer exactly as specified — field names and the BULLISH / NEUTRAL / BEARISH, HIGH / MEDIUM / LOW, BUY / HOLD / SELL, STRONG / MODERATE / WEAK values. Tools parse them.
- Title the invalidation section **論點失效條件（Thesis Invalidation）**, and close with the disclaimer in Chinese: **免責聲明：** 僅供教育用途，非投資建議。
- Use Taiwan financial terms: 殖利率、本益比、營業利益率、自由現金流、聯準會、選擇權、買權／賣權、除息日、預扣稅.

---

Draw an industry's supply and value chain as a directed graph — from raw inputs upstream all the way down to the end user — so you can take a **bird's-eye view of a business**, see where a company sits in the flow, understand where value and pricing power concentrate today, and reason about where they will migrate next.

## Overview

Most analysis looks at one company in isolation. This skill zooms out and answers a different question: **"How does this whole industry actually work, layer by layer, and who captures the profit at each stage?"**

A value chain is a **directed graph**: nodes are the layers of production (raw materials → components → integrators → platforms → distribution → end users), and edges point in the direction goods and services flow — from supplier to customer. Once the chain is drawn, three things become visible that a single-company view hides:

1. **Position** — is the target company upstream (inputs), midstream (integration/manufacturing), or downstream (distribution / end demand)? Position determines cyclicality, margin profile, and who has pricing power over whom.
2. **Chokepoints** — the layer(s) with the fewest credible suppliers capture disproportionate value. Following the chain reveals bottleneck monopolies (e.g. EUV lithography, leading-edge foundry) that are the real toll-collectors of a theme.
3. **Value migration** — the profit pool is not fixed. It shifts down (or up) the chain over time as scarcity moves. Mapping the chain lets you form a thesis about *where the money goes next* — the "picks-and-shovels" and second-order plays.

This complements — and does not duplicate — the existing skills. `competitor-analysis` studies one company's moat *horizontally* against its direct peers; `sector-analysis` ranks the 11 GICS sectors for rotation. This skill maps a theme or product *vertically*, cutting **across** sectors, to show the whole flow. Output feeds naturally into `competitor-analysis` (pick a node, study its moat), `stock-screener` (rank the tickers at one layer), and `chart-master` / `report-generator` (render the graph).

---

## 1. The Value Chain Model

Every physical or digital product can be decomposed into ordered layers. Use this generic template and adapt the layer names to the specific industry:

```
UPSTREAM ───────────────► MIDSTREAM ───────────────► DOWNSTREAM
(scarce inputs,           (integration, manufacture,   (distribution, demand,
 tools, IP)                assembly, platforms)          the end customer)

Raw materials / inputs
   → Enabling tools & equipment
      → Components / sub-systems
         → Integrators / OEMs
            → Platforms / aggregators
               → Channel / distribution
                  → End users / demand
```

**Node attributes** — for each layer, capture:
- **Layer name** and what it does in one line
- **Representative public tickers** (2–5) and any dominant private players
- **Position tag**: `Upstream` / `Midstream` / `Downstream`
- **Concentration**: how many credible suppliers exist (monopoly / oligopoly / fragmented)
- **Value capture today**: does this layer earn high or thin margins right now?

**Edge attributes** — for each arrow (supplier → customer):
- Direction of flow (always supplier → the layer that buys from it)
- Dependency strength (sole-source / multi-source / commodity)
- Whether the buyer can integrate backward, or the supplier forward

---

## 2. Step 1 — Define the Scope

Clarify what is being mapped. The input is usually one of three things:

| Input type | Example | What to map |
|---|---|---|
| **A theme / product** | "AI compute", "electric vehicles", "GLP-1 drugs" | The full chain end-to-end |
| **A single ticker** | `NVDA` | The chain around it, then locate it |
| **A layer** | "memory", "foundry" | That layer + its immediate up/downstream neighbors |

Confirm the boundaries: where does the chain start (how far upstream — mined ore? refined wafer?) and where does it end (the paying end user)? State the scope explicitly at the top of the output so the graph is bounded and legible.

---

## 3. Step 2 — Build the Chain Map (the graph)

Produce the directed graph. **Default to a Mermaid `flowchart`** (renders in Claude, Cursor, Gemini, GitHub, and the site); fall back to ASCII when Mermaid is unavailable. Hand off to `chart-master` for a richer HTML render or for a `report-generator` export.

**Mermaid flowchart (primary output):**

```mermaid
flowchart LR
    MAT["Materials & Substrates<br/>(silicon, rare earths)"] --> EQ["Fab Equipment<br/>ASML · LRCX · AMAT"]
    EQ --> FAB["Foundry / Fab<br/>TSMC · INTC · Samsung"]
    FAB --> MEM["Memory<br/>MU · Hynix · Samsung"]
    FAB --> GPU["GPU / Accelerators<br/>NVDA · AMD"]
    MEM --> GPU
    GPU --> NET["Networking / Interconnect<br/>AVGO · ANET"]
    NET --> CSP["Cloud / CSP<br/>AMZN · MSFT · GOOGL"]
    CSP --> LAB["Model Labs<br/>OpenAI · Anthropic"]
    LAB --> APP["AI Software / Apps"]
    APP --> USER["End Users<br/>enterprise · consumer"]
```

**ASCII fallback:**

```
Materials ─► Fab Equipment ─► Foundry ─┬─► Memory ──┐
             (ASML,LRCX,AMAT) (TSMC,INTC)   │            ▼
                                       └─► GPU/Accel (NVDA,AMD) ─► Networking (AVGO,ANET)
                                                                        │
   End Users ◄─ AI Software ◄─ Model Labs ◄─ Cloud/CSP (AMZN,MSFT) ◄────┘
   (enterprise,             (OpenAI,        (GOOGL)
    consumer)                Anthropic)
```

**Chain map table** — accompany the graph with a table so the data is machine-readable and feeds the later steps:

```
Layer                 Position    Key Tickers          Concentration     Value Capture (now)
──────────────────────────────────────────────────────────────────────────────────────────
Materials/Substrates  Upstream    SHECY, SUMCF         Fragmented        Low
Fab Equipment         Upstream    ASML, LRCX, AMAT     Oligopoly/Monopoly High  ◄ chokepoint
Foundry               Midstream   TSMC, INTC           Oligopoly         High
Memory                Midstream   MU, Hynix, Samsung   Oligopoly         Cyclical
GPU / Accelerators    Midstream   NVDA, AMD            Near-monopoly     Very High ◄ chokepoint
Networking            Midstream   AVGO, ANET           Oligopoly         High
Cloud / CSP           Downstream  AMZN, MSFT, GOOGL    Oligopoly         Medium (capex heavy)
Model Labs            Downstream  OpenAI, Anthropic    Fragmenting       Negative→? 
AI Software / Apps    Downstream  many                 Fragmented        Emerging
End Users             Demand      —                    —                 —
```

---

## 4. Step 3 — Position Locator

If the user supplied a ticker, pin it precisely:

- **Which node** does it occupy? (a company may span several — e.g. Amazon is both CSP and end-market retailer)
- **Its upstream dependencies**: who must it buy from, and how substitutable are they? (single-source dependency = risk)
- **Its downstream customers**: who buys from it, how concentrated are they, and can they build it in-house or switch?
- **Direction of pricing power**: does value flow *toward* this node (it can raise prices) or *away* (it is squeezed between a strong supplier and a strong buyer)?

State the one-line takeaway: *"[Ticker] sits [upstream/mid/down] at the [layer] node; it depends on [supplier layer] and sells into [customer layer]; pricing power currently favors [node]."*

---

## 5. Step 4 — Chokepoint & Bottleneck Analysis

This is where the alpha usually is. Walk the chain and score each layer for **bottleneck power** — the ability to hold up the entire chain:

```
Bottleneck Score (per layer, 0–10) = average of these four factors, each scored 0–10:
- Supplier scarcity      (fewer credible suppliers = higher)
- Substitutability       (no viable alternative = higher)
- Switching cost / lead  (longer to qualify a new supplier = higher)
- Demand inelasticity    (chain cannot proceed without it = higher)
```

Layers scoring high are **toll collectors**: they capture value regardless of who wins downstream. Classic examples to reason by analogy from: ASML (sole EUV supplier), TSMC (leading-edge foundry), NVDA + CUDA (accelerator + software lock-in). Explicitly flag:
- **Where the bottleneck is today**
- **Whether it is durable** or being competed / engineered away (second sources, in-housing, new architectures)
- **The "arms dealer" thesis**: a bottleneck layer often wins no matter which downstream competitor prevails

---

## 6. Step 5 — Value-Pool & Margin Migration

The profit pool is dynamic. Map where margin sits **now** and build a thesis for where it goes **next**:

- **Current margin map**: which layer earns the fat gross/operating margins, and which is a thin-margin commodity pass-through?
- **Scarcity shift**: today's bottleneck gets competed away or over-built; a new one forms elsewhere. (e.g. compute scarcity today → energy/power and data scarcity next; hardware margins → software/services over time.)
- **Value migration direction**: is value moving **downstream** (toward platforms and apps as hardware commoditizes) or **upstream** (toward whoever controls the newly scarce input)?
- **What to expect in the future**: name the layer likely to capture incremental value over the next 1–3 years and the *trigger* that would confirm it (capacity coming online, a standard emerging, an input going scarce).

This is the section that turns a static picture into a forward-looking investment view.

---

## 7. Step 6 — Concentration & Supply-Chain Risk

A chain view exposes fragility that a single-stock view misses:

- **Single-source / single-region chokepoints** (e.g. Taiwan foundry concentration, rare-earth processing in one country)
- **Geopolitical exposure**: export controls, tariffs, sanctions that could sever an edge in the graph
- **Cascade risk**: if one upstream node fails, how far downstream does the disruption propagate?
- **Inventory / bullwhip dynamics**: demand signals amplifying up the chain (over-ordering, then a glut) — especially in memory and components
- **Customer concentration at each node**: a layer selling >30% to one downstream buyer inherits that buyer's fate

---

## 8. Step 7 — Investment Idea Generation

Turn the map into a ranked idea list, organized by layer:

```
Layer            Best-positioned names   Rationale                         Idea type
────────────────────────────────────────────────────────────────────────────────────────
Bottleneck       [tickers]               Durable toll on the whole theme   Core / "arms dealer"
Direct winner    [tickers]               Obvious primary beneficiary        Consensus long
2nd-order        [tickers]               Sells picks-and-shovels to winners Under-covered
Squeezed         [tickers]               Caught between strong up/down      Avoid / short candidate
Optionality      [tickers]               Cheap exposure if value migrates   Speculative
```

Flag the **non-obvious** node — the second-order supplier the market under-covers because it isn't a pure-play on the theme. Hand the shortlist to `stock-screener` to rank, or `competitor-analysis` to check each name's moat, or `bear-case` to stress-test the consensus winner.

---

## 9. Worked Example — AI Compute Stack

Reading the map above:
- **Chokepoints**: Fab Equipment (ASML EUV monopoly) and GPU/Accelerators (NVDA + CUDA). These are the durable toll collectors today.
- **Value pool now**: concentrated at the GPU and foundry layers; CSPs are absorbing heavy capex; model labs are largely unprofitable.
- **Migration thesis**: as accelerator supply catches up, incremental scarcity shifts toward **power/energy and networking**, and value accrues to **software/inference** that monetizes the installed base. Watch for the trigger: accelerator lead times normalizing.
- **Idea shape**: core = the bottleneck arms dealers; 2nd-order = power, cooling, interconnect, and HBM memory suppliers the market under-weights; avoid = undifferentiated app-layer names with no data moat.

---

## 10. Input Formats

```
# Map a full theme end-to-end
/industry-map "AI compute"

# Map the chain around a ticker, then locate it
/industry-map NVDA

# Focus on one layer + its neighbors
/industry-map semiconductors --layer memory

# Emphasize where value migrates next
/industry-map "electric vehicles" --focus value-migration

# Emit chart-ready graph spec for a report
/industry-map "GLP-1 drugs" --visual
```

---

## 11. Visualization Support

When `--visual` is used, provide graph specs ready for `chart-master` / `report-generator`:

### Chain Graph
**Chart type**: Directed graph (Mermaid `flowchart LR` primary, ASCII fallback, graphviz/HTML for rich export). Nodes = layers with representative tickers; edges = supplier→customer flow.

### Value-Capture-by-Layer Bar
**Chart type**: Horizontal bar — estimated gross/operating margin (or a 0–10 value-capture score) per layer, to show where the profit pool sits.

```
Layer               Value-capture score (0–10)
Fab Equipment       [value]
Foundry             [value]
GPU / Accelerators  [value]
Cloud / CSP         [value]
Model Labs          [value]
```

### Bottleneck Heat Row
**Chart type**: Scorecard / heat row — bottleneck score per layer, highlighting the chokepoints.

---

## Output

Provide an industry-map report with:
- Executive Summary (scope, where value sits today, migration thesis — 3 sentences)
- The Chain Map (directed graph + chain-map table)
- Position Locator (if a ticker was given)
- Chokepoint & Bottleneck Analysis (scored, with the durable toll-collectors named)
- Value-Pool & Margin Migration (now → next, with the confirming trigger)
- Concentration & Supply-Chain Risk
- Investment Ideas by layer (core / 2nd-order / avoid)
- Investment Implications and how this feeds `competitor-analysis` / `stock-screener` / `bear-case`

## Thesis Invalidation

After delivering the analysis signal, specify what would reverse it:

**If signal is BULLISH — thesis breaks if:**
- the mapped chokepoint is broken (credible second source qualifies, or a customer in-sources) OR value migrates away from the node you favored
- [One or two more triggers drawn from this analysis's own drivers, each with a threshold]

**If signal is BEARISH — thesis breaks if:**
- the node re-establishes a durable bottleneck OR a new scarce input forms in its favor
- [One or two more triggers drawn from this analysis's own drivers, each with a threshold]

**Re-run this analysis when:**
- [ ] Next earnings release
- [ ] Price moves ±15% from current level
- [ ] 60 days have elapsed
- [ ] Material news event (acquisition, leadership change, regulatory decision)

## Standard Signal Output

All analysis concludes with this standardized block:

In the output, the box below is followed immediately by this machine-readable footer — the same values as the box, filled in (no placeholders, no comments), so tools can read the result without parsing the box:

```json
{"investskill": "1", "skill": "industry-map", "ticker": "<TICKER, or null for a portfolio / market-wide view>", "as_of": "<YYYY-MM-DD from Data & Sources>", "signal": "<BULLISH | NEUTRAL | BEARISH>", "confidence": "<HIGH | MEDIUM | LOW>", "horizon": "<SHORT-TERM | MEDIUM-TERM | LONG-TERM>", "score": 0.0, "action": "<BUY | HOLD | SELL>", "conviction": "<STRONG | MODERATE | WEAK>", "retrieval": "<pasted by user | web/tool retrieval | model memory>", "sources": ["<each primary source, dated>"]}
```

```
╔══════════════════════════════════════════════╗
║              INVESTMENT SIGNAL               ║
╠══════════════════════════════════════════════╣
║ Signal:      BULLISH / NEUTRAL / BEARISH     ║
║ Confidence:  HIGH / MEDIUM / LOW             ║
║ Horizon:     SHORT / MEDIUM / LONG-TERM      ║
║ Score:       X.X / 10                        ║
╠══════════════════════════════════════════════╣
║ Action:      BUY / HOLD / SELL               ║
║ Conviction:  STRONG / MODERATE / WEAK        ║
╚══════════════════════════════════════════════╝
```

Score Guide: 8.0–10.0 Strongly Bullish | 6.0–7.9 Moderately Bullish | 4.0–5.9 Neutral | 2.0–3.9 Moderately Bearish | 0.0–1.9 Strongly Bearish
Confidence: HIGH (strong data, clear signals) | MEDIUM (mixed signals) | LOW (limited data, conflicting signals)
Horizon: SHORT-TERM (1 week–3 months) | MEDIUM-TERM (3 months–1 year) | LONG-TERM (1+ years)

**Disclaimer:** Educational analysis only. Not financial advice.
