# YC batch language and domain dataset

Source: the Y Combinator public company directory (name, batch, website /
domain, one-line pitch, long description), as held in FundingWatcher's copy of
the directory. Built 2026-09-15. Full directory, not a sample.

Scope: batches Winter 2011 through Summer 2026. Two batches are excluded
because they are still filling: Fall 2026 = 19 companies, Winter 2027 = 1.
One company with no batch ("Unspecified") is excluded. 207 companies from the
2005-2010 batches are excluded from the series and reported as counts only (see
pre2011_by_batch.csv); all but one of those batches has fewer than 30 companies.

Counts under 5 print as `<5` in the per-batch count columns; the share column
next to them is still exact, so the value is recoverable if you need it.
Shares are suppressed (empty cell) for any batch with fewer than 30 companies.
The two analogy files name the companies individually, so counts there are not
suppressed.

## Files

**tld_by_batch.csv** - one row per batch.
- `batch`, `year`
- `companies` - companies in the batch
- `with_domain` - companies with a website domain; the denominator for shares
- `com_n`, `com_share`, `ai_n`, `ai_share`, `io_n`, `io_share`,
  `co_n`, `co_share`, `other_n`, `other_share` - count and percent of
  `with_domain` per public suffix bucket. Share is a percent, one decimal.

**families_by_batch.csv** - one row per batch, word families in the one-line
pitch only.
- `batch`, `year`, `one_liners` (denominator: companies with a one-liner)
- `<family>_n`, `<family>_share` for each of: agent (software sense),
  AI agent, agentic, AI-native, copilot, open source, marketplace, on-demand,
  crypto/web3/blockchain/NFT/DeFi, SaaS, no-code

**ai_by_batch.csv** - one row per batch.
- `batch`, `year`, `one_liners`
- `ai_n`, `ai_share` - one-liners mentioning AI, machine learning or artificial
  intelligence, after the company's own name is removed from the text
- `ai_n_before_name_exclusion` - the same count before that removal

**phrases_by_batch.csv** - one row per (analogy phrase, batch) with at least one
user.
- `phrase` (e.g. "Shopify for"), `batch`, `year`
- `companies` - distinct companies using the phrase (the headline metric)
- `sentences` - matching sentences, which can exceed `companies` when a company
  uses the phrase in both its one-liner and its long description

**analogy_hits.csv** - every kept match.
- `company`, `slug`, `batch`, `phrase`, `sentence` (the matched sentence only,
  truncated to 400 characters; full long descriptions are not republished)

**analogy_hits_removed.csv** - matches read by hand and thrown out, with
`removed_reason`. Kept in the dataset so the leaderboard can be rebuilt.

**pre2011_by_batch.csv** - the eleven 2005-2010 batches, which sit outside the
series. Counts only, no shares: every one of these batches except Summer 2010
has fewer than 30 companies.
- `batch`, `year`, `companies`, `with_domain`
- `com_n`, `ai_n`, `io_n`, `co_n` - companies per public suffix bucket

**tld_other_suffixes.csv** - the `other_n` column of tld_by_batch.csv broken
out by suffix, summed over Winter 2011 - Summer 2026.
- `suffix` (e.g. `.dev`), `companies`

**agent_exclusions.csv** - every one-liner dropped from the "agent (software
sense)" family by the human-agent exclusion, i.e. the word "agent" appears but
only in a human sense.
- `company`, `slug`, `batch`, `year`
- `one_liner` - the pitch as filed
- `matched_sense` - the span the exclusion cut, e.g. "independent agents"

**naive_exclusions.csv** - the same audit with the software-modifier guard
turned off, so the guard's effect is checkable. Same columns. Rows here that
are absent from agent_exclusions.csv are the ones the guard keeps, such as
Yuma AI's "The AI Support Agent for Ecommerce".

See METHOD.md for the regexes, the exclusions and the row funnel.

Licensed CC BY 4.0
