Skip to main content
Category is the one entity whose IDs are shared across channels. That is what makes it the right place to start a market question — a sizing you do today stays comparable when you add a channel.

Walk the tree

Each node carries its own metrics, so one call gives you the shape of a market:

Find where the room is

Revenue alone tells you where the money is, not where you can get any. Two derived ratios are more useful than either raw number.

High revenue per shop

Few sellers capturing a lot. Either a genuine moat, or a category nobody has attacked yet. Worth a closer look either way.

Low revenue per product

A crowded catalogue where listings compete for the same demand. Entering means fighting on price.
Pair those with growth to get a real shortlist:
Growing faster than the market, with sellers earning more than average — the combination that says demand is arriving faster than supply.

Compare against the parent

A subcategory growing 18% inside a parent growing 25% is losing share while looking healthy.
Child revenue does not necessarily sum to the parent. Products can sit on a parent node directly, and some listings are not categorized to leaf level. Use the parent’s own revenue for sizing — never a sum of its children.

Track the shape over time

Three series together tell a story none tells alone:

Automate the watch

Membership change on a shop search inside a category is an early read on competitive structure: a new shop crossing $250k is a new entrant, and one dropping out has stalled.
Run category sizing at last_90d and monitoring at last_7d. Sizing needs a window long enough to be stable; monitoring needs one short enough to be news.