MARS · Company manifest

What we know, and about what

898K rows in companies_v2. But not every row is the same kind of thing. This manifest splits them by entity_kind so the gap chase points at real operating companies — not fund vehicles, SEC shells, or mis-minted individuals that shouldn't have domains, descriptions, or bios in the first place.

Deltas vs prior snapshot: 2026-08-03

898,539
Total rows
95,941
Real operating cos
10.7%
of graph is real op-co
45,354
Op-cos with persons

Composition by entity_kind

Real operating companies in copper. Partial-signal op-cos in warn tone. Everything else is either a vehicle, a shell (mostly correct as-is), or a cleanup target.

KindRows%Bar
Operating company · rich 62,312 6.93%
Operating company · thin 27,130▲ 1 3.02%
Operating company · no domain 6,499 0.72%
Investment vehicle 174,663▲ 3 19.44%
Foundation / nonprofit 17,259 1.92%
SPAC shell 2,445 0.27%
SEC shell · unknown 563,568▲ 1,266 62.72%
Unknown 44,663▲ 5,749 4.97%

SEC shell breakdown — where the volume hides

The sec_shell_unknown bucket (729,174 rows) has no domain and no business signal, but the CIK carries structural clues about what each shell actually is. Broken down by evidence type below. The Form 4 issuer bucket is the highest-value fill target — those are public companies missing a domain.

BucketRows% of shellsBar
G. CIK-only, no evidence 330,966 45.4%
F. vehicle_name only (probable vehicle) 236,773 32.5%
C. form_d + non-vehicle name (subsidiary OR standalone op-co) 110,521 15.2%
B. form_d + vehicle_name (probable vehicle) 37,473 5.1%
D. form_4 issuer (public co missing domain — HIGH VALUE) 11,562 1.6%
A. pooled_fund_vehicle (correct shell) 1,876 0.3%
E. has_article (real op-co, missing domain) 3 0.0%

What real operating companies have populated

Coverage across the 95,941 real operating companies. Denominators here mean something because we've filtered out SEC shells and fund vehicles that legitimately don't need most of these fields.

FieldPopulated%
primary_domain89,27993.1%
description58,95261.4%
sector68,56671.5%
country82,80086.3%
founded_year1,4891.6%
employee_count00.0%
ticker (public)5,2275.4%
cik (SEC-filing)36,43038.0%
≥1 funding round25,73326.8%
≥1 M&A event45,70547.6%
persons attached (via work history)45,35447.3%

Gap-fill priority — what to work on to close the CB/PB gap

  1. Form 4 issuers with no domain — public companies. Backfill via Atlas ticker → company website. Cheapest and highest confidence.
  2. op-co thin bucket — has domain, missing description / sector / bios. Domain-based crawl target (bios pipeline via Brave + Qwen).
  3. op-co no-domain bucket — has funding/merger but lost the domain. Article-based domain recovery via article_meta_v2.
  4. Form D non-vehicle-name bucket — mix of subsidiary issuers vs real standalone companies. Qwen tier chain to split, ~$5–10.
  5. Individuals in wrong table — 7K persons mis-minted into companies_v2. Cleanup pass, move to persons_v2.
  6. New op-co discovery — beyond fill. News corpus (signals owns) + international sources (intl / lp_data verticals) surface companies we don't have at all.