# Three-tier Stock Selection Process in the ai-berkshire Industry-Funnel Skill

> Discover the three-tier stock selection process in the ai-berkshire industry-funnel skill. Efficiently filter China's A-share market to find high-conviction investment candidates.

- Repository: [Xbt Lin/ai-berkshire](https://github.com/xbtlin/ai-berkshire)
- Tags: deep-dive
- Published: 2026-07-02

---

**The industry-funnel skill implements a hierarchical three-tier workflow that filters China's A-share universe through broad screening, sector-focus analysis, and deep-dive evaluation to generate a ranked shortlist of high-conviction investment candidates.**

The **ai-berkshire** repository provides a modular AI-driven investment research framework, with the **three-tier stock selection process** serving as the core filtering engine within the `industry-funnel` skill. This architecture mimics a traditional investment funnel, progressively narrowing approximately 4,000 tradable securities down to a manageable portfolio of thoroughly vetted opportunities through declarative filtering and skill-based orchestration.

## Overview of the Three-Tier Architecture

The **industry-funnel** skill organizes stock selection into distinct sequential stages, each encapsulated as an independent module. This design enables **parallel execution** during the sector-focus phase and allows researchers to modify individual tiers without disrupting the broader pipeline.

The workflow relies on a centralized **financial-data** skill that supplies balance-sheet, income-statement, and cash-flow figures from providers like Eastmoney and Wind. All three tiers share this data layer while applying progressively stricter criteria defined in [`skills/industry-funnel.md`](https://github.com/xbtlin/ai-berkshire/blob/main/skills/industry-funnel.md).

## Tier 1: Broad-Screen Filtering

The **broad-screen tier** acts as the initial gatekeeper, removing obviously unsuitable symbols from the full A-share universe. This stage applies **hard-screen criteria** including market-cap floors, liquidity thresholds, and data-availability checks to filter the ~4,000 symbol universe.

The logic resides in [`skills/industry-funnel.md`](https://github.com/xbtlin/ai-berkshire/blob/main/skills/industry-funnel.md) and expresses filters as declarative predicates applied to raw financial data. Only securities passing these **investment-checklist** flags—such as minimum gross margin requirements (>30%) and positive free-cash-flow verification—advance to the next tier.

## Tier 2: Sector-Focus Analysis

The **sector-focus tier** groups remaining candidates by **CSRC industry classification** and evaluates each sector against specialized metrics. This stage invokes the `industry-research` skill (defined in [`skills/industry-research.md`](https://github.com/xbtlin/ai-berkshire/blob/main/skills/industry-research.md)) to provide standardized taxonomy and aggregate sector-level financials.

Key evaluation criteria include **revenue growth**, **return on invested capital (ROIC)**, and **margin expansion** trends specific to each industry vertical. The system processes sectors in parallel threads, dramatically reducing runtime while producing **sector-ranked candidate pools** that serve as the input for final-stage analysis.

## Tier 3: Deep-Dive Evaluation

The **deep-dive tier** conducts granular fundamental analysis on shortlisted candidates using the `deep-company-series` skill. This stage executes a comprehensive checklist covering valuation multiples, cash-flow robustness, and competitive moat analysis as implemented in [`skills/deep-company-series.md`](https://github.com/xbtlin/ai-berkshire/blob/main/skills/deep-company-series.md).

Each candidate undergoes rigorous scrutiny against the **investment-checklist** skill's must-have criteria before receiving a final ranking score. The output formats as a markdown table containing the rank-ordered shortlist, ready for consumption by downstream skills like `portfolio-review` or `investment-team`.

## Pipeline Orchestration and Execution

A lightweight **pipeline orchestrator** sequences the three tiers, passing output from each stage as the `input` parameter to the next. Researchers invoke this workflow through the CLI wrapper defined in [`scripts/install-claude-commands.sh`](https://github.com/xbtlin/ai-berkshire/blob/main/scripts/install-claude-commands.sh):

```bash

# Run the industry-funnel skill and output a shortlist to funnel-output.md

ai-berkshire run industry-funnel \
    --date 2026-06-30 \
    --output funnel-output.md

```

The internal execution flow (extracted from [`skills/industry-funnel.md`](https://github.com/xbtlin/ai-berkshire/blob/main/skills/industry-funnel.md)) follows this pattern:

```python

# 1️⃣ Broad screen

candidates = filter_universe(all_symbols, hard_filters)

# 2️⃣ Sector focus

sector_groups = group_by_industry(candidates, industry_taxonomy)
sector_ranked = {
    sector: rank_by_metrics(group, sector_metrics)
    for sector, group in sector_groups.items()
}

# 3️⃣ Deep dive

shortlist = []
for sector, tickers in sector_ranked.items():
    for ticker in tickers:
        analysis = deep_company_analysis(ticker)
        if analysis.meets_deep_criteria:
            shortlist.append(analysis)

# Final output

export_to_markdown(shortlist, args.output)

```

## Summary

- The **three-tier stock selection process** filters ~4,000 A-share symbols through broad-screen, sector-focus, and deep-dive stages defined in [`skills/industry-funnel.md`](https://github.com/xbtlin/ai-berkshire/blob/main/skills/industry-funnel.md).
- **Hard-screen criteria** (market cap, liquidity, data availability) and **investment-checklist** flags (gross margin >30%, positive FCF) govern tier advancement.
- The **sector-focus** stage leverages parallel processing and **CSRC classification** via the `industry-research` skill to create ranked candidate pools.
- **Deep-dive analysis** uses the `deep-company-series` skill for valuation, moat, and cash-flow assessment before exporting a final markdown shortlist.
- Modular architecture allows independent tier modification and parallel execution while maintaining data consistency through the centralized `financial-data` skill.

## Frequently Asked Questions

### What are the specific hard-screen criteria used in the broad-screen tier?

The broad-screen tier applies **market-cap floors**, **liquidity thresholds**, and **data-availability checks** to eliminate unsuitable securities from the ~4,000 symbol universe. Additionally, the system enforces **investment-checklist** must-have flags such as gross margins exceeding 30% and positive free-cash-flow generation before allowing candidates to advance to sector-focus analysis.

### How does the industry-funnel skill handle industry classification?

The skill utilizes the **CSRC (China Securities Regulatory Commission)** classification system to group filtered candidates into standardized sectors. It invokes the `industry-research` skill from [`skills/industry-research.md`](https://github.com/xbtlin/ai-berkshire/blob/main/skills/industry-research.md) to provide the taxonomy and calculate sector-specific metrics including revenue growth and ROIC for comparative ranking.

### Can the three-tier process run sectors in parallel?

Yes, the architecture supports **parallel execution** of the sector-focus stage, where each industry vertical processes independently in its own thread. This parallelization significantly reduces runtime when analyzing the full A-share universe while maintaining the sequential dependency between the broad-screen, sector-focus, and deep-dive tiers.

### What downstream skills consume the industry-funnel output?

The final rank-ordered shortlist exports as a markdown table that feeds directly into the **`portfolio-review`** and **`investment-team`** skills. These downstream modules use the filtered results for portfolio construction, position sizing, and final investment committee presentation.