Skip to content
Data
Skill

/bottom-up-market-size

Size a market bottom-up from an Economic Mind market report and stress-test that number against independent sizing approaches - the headline size, the transparent per-company build (each player's revenue, share-in-market, in-market revenue, confidence and justification carried

From plugin
skills
54 skills1 MCP

Claude Code

$ npx -y skills add economicmind/skills --skill bottom-up-market-size --agent claude-code

SKILL.md

bottom-up-market-size.SKILL.md
name: bottom-up-market-size
description: >
  Size a market bottom-up from an Economic Mind market report and stress-test that number against
  independent sizing approaches - the headline size, the transparent per-company build (each player's
  revenue, share-in-market, in-market revenue, confidence and justification carried verbatim from the
  report), an explicit read on how much to trust the headline and why, and a football-field comparison
  of the bottom-up figure against 2-3 credible cross-checks. Use whenever the user wants to "size the X
  market bottom-up", "how big is X and how sure are we", "bottom-up market size", "build / show the
  market-size buildup", "triangulate the size of X", or "benchmark our market size against other
  estimates". The bottom-up figures come ONLY from the Economic Mind report, unchanged; cross-checks come
  from a credible-source research pass. The deliverable is data (Markdown + JSON); presentation is left to
  the client.

Bottom-up market size

Size a market the way a careful analyst would: take Economic Mind's **bottom-up build** as the spine, show every company that rolls up into it, say plainly how much the headline can be trusted and why, then put that number on a **football field** next to a few independent estimates so the reader can judge it. The deliverable is **data** - a Markdown report plus a JSON sidecar - not a styled document; this skill is about the research and the numbers, and layout is the client's job.

The whole value is **credibility under scrutiny**: a market size is only as good as the build beneath it and the cross-checks beside it. So nothing is hand-waved - the build is carried verbatim from the report, the confidence is reasoned from the report's own stamps, and every cross-check names a credible source.

Two source channels, never mixed

1. **The bottom-up build - ONLY the Economic Mind report, unchanged.** The headline size, the per-company revenue, share-in-market, in-market revenue, confidence ratings, justifications, the scope boundary and the vintage all come **straight from the report**. Do **not** recompute, re-estimate, re-rank, or "improve" any of them, and do not pull a player's revenue from elsewhere. You are presenting the report's build faithfully, not rebuilding it. (The only arithmetic permitted on it is summing the in-market revenues to show the build-to-total and reconciling that to the report's stated headline - shown transparently, never overriding the report.) 2. **The cross-checks - a credible-source research pass.** The alternative sizing approaches on the football field are **not** in the report; you construct 2-3 of them from independent credible sources (see the source rules). These sit **beside** the bottom-up for comparison and **never alter it**. This is the one place the web is used, and only for the cross-checks.

Keeping these apart is what makes the exercise honest: the anchor stays pristine and the triangulation is clearly a separate, independently-sourced opinion.

Work to files first, then read them back

Context can be compressed mid-task, and a market build has a lot of cells. So **immediately after each tool call returns, write its raw output to a file** before the next call - the report content, then each cross-check as you research it. Build the deliverable by reading the files back, not from recall. Create one working directory at the start, e.g. `em-size/`.

Source rules for the cross-checks (strict)

The football field is only as credible as its weakest source, so the bar is high. Use **only**: (a) primary filings & registries (Proff, Brønnøysund, Allabolag, S&P Capital IQ, Creditsafe, audited annual reports); (b) official statistics (Eurostat, SSB, SCB, national statistics offices); (c) regulators & standards bodies (IMO, USCG, national building authorities); (d) listed-company reports and reputable financial data; (e) named industry associations.

**Never** use market-research aggregator / press-release "market-size" mills - MarketsandMarkets, Grand View, IMARC, Verified Market Reports, SNS Insider, Precedence, FactMR, Custom Market Insights, SkyQuest, Fortune Business Insights, Mordor, Spherical and the like. Their figures are unreliable and scope-inconsistent. When web-searching, pass these as `blocked_domains`. Build cross-checks from **first principles on credible bases** (e.g. official installation statistics × a fire-protection share; a listed group's disclosed segment revenue grossed for the tail; installed base × annual value). If a number exists only from a mill, do not use it - say no credible independent estimate was available and lean on the build.

**Restate scope.** Any external estimate almost certainly uses a different market definition. Before it can sit on the football field, restate it to the **report's in-scope definition** (geography, product boundary, revenue basis) and say how you did so in its comment. Never fabricate; if you cannot scope-adjust an estimate honestly, drop it.

Workflow

Phase 1 - Resolve the market & pull the build

1. `mkdir -p em-size`. 2. `search_markets("<the user's market phrase>")` (limit ~5). If the top hit's `score` is ≥1.5× the second's (or there is one hit), use it and announce the choice. Otherwise show the top 3 (Market, Geography, Size, Relevance) and ask the user to pick. If nothing matches, say the market is not covered and stop - do not improvise a size. 3. `get_market(slug)` for the catalog, then `get_market(slug, "bottom-up-supply-side")` (use the catalog's actual element name) to get the definition, headline size, and the per-company build. Tables come back as markdown - read them, don't guess. 4. **Immediately write** the raw element to `em-size/report-bottomup.md`, and write `em-size/build.csv` - one row per company, every field carried verbatim from the report (leave blank only where the report itself is blank):

   rank,company,hq,tota
Read more
@economicmind
Ships withskills

The skills are built for knowledge workers - analysts, founders, investors, consultants and operators - who need market insights they can trust. The skills are tightly coupled to the Economic Mind connector.

54 skills1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
5
Star history of economicmind/skills on GitHub, a chart by star-history.com

Other skills on skills.

company-at-a-glance

company-at-a-glance

Produce a rigorous, fully-sourced data snapshot of a single company - a detailed multi-year financial table (revenue, gross…

@economicmind@economicmindInstall Skill
competitor-benchmarking

competitor-benchmarkin…

Benchmark a set of companies against each other on hard financials - a detailed per-year data table for each company (revenue,…

@economicmind@economicmindInstall Skill
getting-started

getting-started

Orient a user to the Economic Mind plugin and connector - what it is, what data it draws on, which skills and connector tools are…

@economicmind@economicmindInstall Skill

More skills from other plugins.

context-loader
Auto-invoked

context-loader

Search memories from earlier Pi sessions in this repository. Use it when earlier work may already explain the code, error,…

mem08d69k
@mem0ai@mem0aiInstall Skill
analyzing-ai-citations

analyzing-ai-citations

Answer AI citation and answer engine optimization (AEO) questions in PostHog: whether AI answer engines (ChatGPT, Claude, and an…

posthog2w41k
@posthog@posthogInstall Skill

Questions about bottom-up-market-size.

Which coding agents can use bottom-up-market-size?
bottom-up-market-size installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.