# Methodology: Sales and marketing draw level with engineering at about 50 people

By Cristian Frunze, Founder of Kenso · Nov 1, 2026 · [Kenso Research](/research) No. 17 · Founders and startups, Hiring and org design, Sales teams

The full methodology behind [Sales and marketing draw level with engineering at about 50 people](/research/gtm-to-engineering-ratio.md): the data, every method, every number and every limitation. The same text as the [methodology PDF](/research/gtm-to-engineering-ratio.pdf).

Data: Kenso internal data (Kenso's dataset of public professional profiles, work histories and company records), with SEC Form D filings for one robustness check. Analysis run 2026-10-19. The hypothesis and plan were pre-registered on 2026-10-19, before any data was pulled.

## 1. Summary

**Question.** What is the ratio of sales and marketing headcount to engineering headcount in B2B software companies when they reach 10, 25, 50, 100, 250 and 1,000 employees? Do the companies that grew fastest over the next two years have a different ratio?

**Answer.** In the quarter a B2B software company first reaches each size, the median number of salespeople and marketers per engineer is 0.50 at 10 people, 0.80 at 25, 1.00 at 50, 1.19 at 100, 1.38 at 250 and 1.36 at 1,000. Sales and marketing draws level with engineering at about 50 people. Companies founded 2020-2024 have lower ratios than companies founded 2010-2014 at the same size. The fastest growers over the next 8 quarters had slightly higher ratios than the rest (pooled difference 0.0440, 95% interval 0.0029 to 0.0969). In a matched comparison, go-to-market-heavy companies grew 2.94 percentage points more than matched engineering-heavy companies over the next 8 quarters, with a 95% interval of -1.03 to 6.06: no clear link. The level of the ratio is sensitive to coverage and to how borderline titles are classified (sections 6.6 to 6.8); its rise with size is not.

## 2. Data

- **Kenso internal data, people.** Public professional profiles of people whose current country is the US, UK, Canada, Australia, Ireland or New Zealand, with every role on the profile: title, company id, start and end month, and a current flag. Profiles were last refreshed between 2025-11 and 2026-04. Earlier roles can be anywhere, but people who now live outside the six countries are not in the data.
- **Kenso internal data, companies.** Company records with industry label, founded year, headquarters country and the employee count on the record (a worldwide count).
- **Shared headcount history** (built for the Kenso Research study *Did AI kill the SDR role?* on 2026-10-17 from a full scan of the people data). It counts, at every quarter end from 2015 Q1 to 2026 Q1, the people whose role at a company covers that date: started on or before it, and ended on or after it (end month counted in full) or still current. Roles without a start date are dropped. It also labels every title with a function and level, using the shared sales title taxonomy (built for the Kenso Research study *Who are GTM engineers, and where do they come from?*) plus a customer support rule. This study read its company-quarter tables (total headcount and headcount by function), its company records table and, for one diagnostic, its person-level role table. Nothing new was pulled from the source data.
- **Kenso's function snapshot.** A per-company count of current staff by Kenso's own job-function field (broad functions such as Sales, Marketing, Engineering and Information Technology), snapshot 2026-03 (258,956 rows for 36,687 of the 38,746 panel companies). It turned out to count the same six-country people (section 6.8), so it is used only as a check on the title classification.
- **SEC Form D** (the shared funding events extract, built for the Kenso Research study *When should you hire your first salesperson?*): dated private raises by US issuers matched to company records; 7,498 filings for 2,744 panel companies. Used in robustness check (h).

## 3. Sample

**Frame.** Company records with headquarters in the six countries, a founded year from 2005 to 2024, and one of the industry labels below (128,409 records in the headline set). The labels were fixed before analysis from the counts on the records. Consumer labels (computer games, internet marketplaces), hardware labels and IT services are left out of the headline. Company records carry no B2B flag, so "B2B software" means these product-software labels, not a verified B2B business model.

| Industry label | Records (HQ in six countries, founded 2005-2024) |
|---|---|
| software development | 109,914 |
| computer and network security | 10,759 |
| data infrastructure and analytics | 3,403 |
| business intelligence platforms | 1,155 |
| data security software products | 645 |
| embedded software products | 670 |
| mobile computing software products | 1,182 |
| desktop computing software products | 681 |
| technology, information and internet (sensitivity) | 83,895 |
| it services and it consulting (contrast) | 158,897 |

**Panel.** Frame companies whose rebuilt headcount reaches 10 in some quarter: 38,746 companies, 17,571 of them in the headline set, 1,438,843 company-quarter rows.

**Events.** An event is a company reaching a size T of 10, 25, 50, 100, 250 or 1,000. Size is the rebuilt headcount (everyone counted at the company in the six countries). The crossing quarter t is the first quarter end with headcount at or above T. The crossing must be seen: headcount below T at 2015 Q1, so t is 2015 Q2 or later, and t not before the founding year.

Sample flow, headline set (counts under 50 shown as "<50"):

| Size T | Companies that reach T | Already at T in 2015 Q1 (dropped) | Reach T before founding year (dropped) | Events | Events with a defined ratio |
|---|---|---|---|---|---|
| 10 | 17,571 | 2,747 | 294 | 14,530 | 14,093 |
| 25 | 7,681 | 980 | 75 | 6,626 | 6,592 |
| 50 | 3,917 | 433 | <50 | 3,450 | 3,441 |
| 100 | 1,820 | 179 | <50 | 1,627 | 1,625 |
| 250 | 595 | 59 | <50 | 534 | 534 |
| 1,000 | 92 | <50 | <50 | 85 | 85 |

## 4. Measures

- **Function groups** (title taxonomy labels, interns left out):
 - *Sales*: SDRs and BDRs, account executives, account managers, general sales titles, partnerships and business development, pre-sales (sales engineers, solutions consultants and architects), revenue operations, sales enablement, GTM engineers and other go-to-market titles.
 - *Marketing*: marketing, demand generation, growth marketing and marketing operations.
 - *Customer success*: reported separately, not in the headline.
 - *Engineering*: software engineering titles (including CTOs, engineering managers and developers), other engineering titles and growth engineers.
 - A person with titles in two groups on the same date counts in both. Across the panel, function counts sum to 1.03 times the number of distinct people.
- **Ratio** R = (sales + marketing) / engineering at the crossing quarter. With no engineer and at least one salesperson or marketer, R is infinite; with neither, R is undefined and the event drops out of ratio statistics. Medians and quartiles are taken on the share s = (sales + marketing) / (sales + marketing + engineering), with linear interpolation, and turned back into a ratio with R = s / (1 - s). This keeps infinite ratios in the statistics.
- **Growth** g8 = ln(1 + headcount at t+8) - ln(1 + headcount at t), shown as 100 x (exp(g8) - 1) percent. g4 is the same over 4 quarters.
- **Coverage** = rebuilt headcount at 2026 Q1 / employee count on the company record.

## 5. Methods

1. **Ratio at each size.** For each T: median, quartiles and a bootstrap 95% interval for the median (1,000 resamples of companies; every interval in the study has its own fixed random stream, seeded from 70 and the statistic's name), the pooled ratio (all sales and marketing over all engineering), and the shares of companies with no engineer and with no salesperson or marketer. Team mix: the average share of each group in the company's headcount, scaled to 100% for the chart.
2. **By founding cohort** (2005-2009, 2010-2014, 2015-2019, 2020-2024) **and crossing period** (two-year bins from 2015-2016 to 2025-2026). The pre-registered cohort test compares 2020-2024 with 2010-2014 at every size where both have at least 50 companies, with intervals from independent bootstrap resamples of each cohort.
3. **Fastest growers.** Events with t up to 2024 Q1, so that 8 quarters follow inside the data. Within each size and two-year crossing period, the fastest growers are the floor(n/5) events with the highest g8 among all n events in the cell, including the few with an undefined ratio (ties broken by a fixed hash of the company id). The median R of the fastest growers (those with a defined ratio) is compared with the rest, per size and pooled (the average of the per-size differences weighted by all events at that size), with a 1,000-draw bootstrap that resamples companies.
4. **Matched comparison.** Events with t from 2017 Q1 to 2024 Q1 (8 quarters before and after inside the data). Within each size, events are ranked by s; the top floor(n/3) are go-to-market-heavy and the bottom floor(n/3) engineering-heavy (ties broken by the hash). Exact strata: size x industry group (software development; other product software) x age band at t (0-2, 3-5, 6-9, 10+ years) x two-year crossing period. Each go-to-market-heavy event gets up to 3 engineering-heavy controls in its stratum, with replacement, nearest on y(t), y(t) - y(t-4) and y(t-4) - y(t-8), y = ln(1 + headcount); distance is the largest of the three absolute differences; caliper 0.10; ties broken by company id. This copies the matching mechanics of the Kenso Research study *Half of B2B software homepages now say AI. Did it pay off?* The **gap** is the median 8-quarter growth of matched go-to-market-heavy events minus the weighted median growth of their controls (each control weighted 1/k, k = controls of that event; lower weighted median). Intervals come from 1,000 bootstrap resamples of the go-to-market-heavy companies, each taken with all its events and controls. Also reported: the mean gap in log points, the AI homepages study's form of the median gap (median treated growth minus the median of each event's mean control growth), the gap over 4 quarters, and a placebo: the same gap in growth from t-12 to t-8, a window the matching does not use, for events from 2018 Q1. Secondary: least squares of g8 on top-third and bottom-third indicators (middle third as reference) with stratum fixed effects and the three matching variables, errors clustered by company.
5. **Robustness**, pre-registered (method 1 and method 4 unless noted): (a) well-covered companies, coverage 0.7 to 1.3; (b) engineering = software engineering titles only; (c) sales and marketing plus customer success; (d) US headquarters only; (e1) adding "technology, information and internet"; (e2) IT services and IT consulting alone, as a contrast; (f) late reporting: crossings up to 2025 Q2 for method 1 and outcome windows ending by 2025 Q2 for method 4; (g') the ratio by coverage band (under 0.3, 0.3-0.5, 0.5-0.7, 0.7-1.3), which replaced the pre-registered calibration (g), see section 11; (h) US only, with "filed a Form D raise in the 8 quarters before t" added to the strata.
6. **Post-hoc sensitivities** (added after the first results, method 1 only): (i) size = staff headcount, rebuilt from the person-level roles without unclassified titles that name a non-staff role (advisors, board members, investors, mentors, ambassadors, and gig or platform listings such as streamers, shoppers, drivers, hosts, AI trainers, annotators, transcriptionists and freelancers); (j) pre-sales engineers counted as engineering; (k) data staff counted as engineering.
7. **Privacy.** Only aggregate tables leave Kenso's servers. Every published statistic rests on at least 50 companies; counts under 50 are shown as "<50".

## 6. Results

### 6.1 The benchmark

| Size T | Companies | Median R (95% interval) | Middle half (25th to 75th percentile) | Pooled ratio | % with no engineer | % with no sales or marketing | Median headcount at t |
|---|---|---|---|---|---|---|---|
| 10 | 14,093 | 0.50 (0.50 to 0.50) | 0.00 to 2.00 | 0.62 | 16.1 | 29.0 | 10.0 |
| 25 | 6,592 | 0.80 (0.75 to 0.83) | 0.27 to 2.00 | 0.82 | 5.7 | 8.8 | 26.0 |
| 50 | 3,441 | 1.00 (1.00 to 1.08) | 0.40 to 2.29 | 1.00 | 2.3 | 3.7 | 53.0 |
| 100 | 1,625 | 1.19 (1.13 to 1.28) | 0.54 to 2.53 | 1.15 | 1.4 | 1.0 | 105.0 |
| 250 | 534 | 1.38 (1.24 to 1.53) | 0.66 to 2.47 | 1.30 | 0.6 | 0.6 | 262.5 |
| 1,000 | 85 | 1.36 (1.09 to 1.66) | 0.83 to 2.57 | 1.37 | 0.0 | 0.0 | 1042.0 |

The median rises at four of the five steps and is flat from 250 to 1,000 (1.38 and 1.36). The difference between 1,000 and 10 is 0.86 (95% interval 0.57 to 1.17, company bootstrap). At 10 people the median sits on a common small-team ratio (one salesperson or marketer for two engineers), so its bootstrap interval has no width.

### 6.2 Team mix

Average share of the team at the crossing quarter, scaled to 100% (a person with titles in two functions counts in both; other named functions = product, data, support, founders, recruiting and HR, operations and interns):

| Group (%) | 10 | 25 | 50 | 100 | 250 | 1,000 |
|---|---|---|---|---|---|---|
| Engineering | 25.4 | 24.7 | 23.2 | 21.8 | 20.0 | 18.5 |
| Sales | 10.8 | 14.8 | 17.5 | 19.7 | 20.8 | 21.1 |
| Marketing | 5.1 | 5.5 | 5.6 | 5.5 | 5.3 | 4.6 |
| Customer success | 2.2 | 3.4 | 3.9 | 4.0 | 3.8 | 3.0 |
| Other named functions | 20.9 | 16.3 | 15.0 | 14.4 | 13.9 | 13.4 |
| Unclassified titles | 35.7 | 35.3 | 34.9 | 34.6 | 36.1 | 39.4 |

### 6.3 Founding cohorts

Median R (companies with a defined ratio in brackets):

| Founded | 10 | 25 | 50 | 100 | 250 | 1,000 |
|---|---|---|---|---|---|---|
| 2005-2009 | 0.50 (1,192) | 0.75 (769) | 0.92 (489) | 1.23 (288) | 1.27 (134) | suppressed (<50) |
| 2010-2014 | 0.60 (3,105) | 0.86 (1,914) | 1.11 (1,149) | 1.27 (614) | 1.40 (219) | suppressed (<50) |
| 2015-2019 | 0.50 (6,185) | 0.80 (2,838) | 1.00 (1,404) | 1.13 (588) | 1.55 (154) | suppressed (<50) |
| 2020-2024 | 0.50 (3,611) | 0.70 (1,071) | 0.89 (399) | 1.13 (135) | suppressed (<50) | suppressed (<50) |

Pre-registered test, 2020-2024 against 2010-2014:

| Size T | Companies 2020-2024 | Companies 2010-2014 | Median 2020-2024 | Median 2010-2014 | Difference (95% interval) |
|---|---|---|---|---|---|
| 10 | 3,611 | 3,105 | 0.50 | 0.60 | -0.10 (-0.17 to 0.00) |
| 25 | 1,071 | 1,914 | 0.70 | 0.86 | -0.16 (-0.33 to -0.06) |
| 50 | 399 | 1,149 | 0.89 | 1.11 | -0.22 (-0.36 to 0.00) |
| 100 | 135 | 614 | 1.13 | 1.27 | -0.14 (-0.49 to 0.17) |

By crossing period (median R, companies in brackets). Crossing period and founding cohort overlap: young companies can only cross in recent years.

| Crossed in | 10 | 25 | 50 | 100 | 250 | 1,000 |
|---|---|---|---|---|---|---|
| 2015-2016 | 0.50 (1,751) | 0.79 (688) | 1.12 (318) | 1.28 (150) | suppressed | suppressed |
| 2017-2018 | 0.50 (2,400) | 0.73 (997) | 0.93 (486) | 1.33 (205) | 1.33 (78) | suppressed |
| 2019-2020 | 0.50 (2,848) | 0.71 (1,320) | 1.00 (654) | 1.07 (315) | 1.59 (94) | suppressed |
| 2021-2022 | 0.50 (3,404) | 0.80 (1,797) | 1.09 (1,035) | 1.29 (519) | 1.35 (200) | suppressed |
| 2023-2024 | 0.50 (2,477) | 0.88 (1,176) | 0.81 (564) | 0.91 (247) | 0.95 (69) | suppressed |
| 2025-2026 | 0.75 (1,213) | 1.00 (614) | 1.11 (384) | 1.44 (189) | 1.60 (55) | suppressed |

### 6.4 Fastest growers

Fastest = top fifth of 8-quarter headcount growth among all companies reaching the same size in the same two-year period (crossings up to 2024 Q1), including the few with an undefined ratio; medians use companies with a defined ratio, and the pooled difference weights each size by all its events (Decision D25):

| Size T | Events | Fastest | Rest | Median R, fastest | Median R, rest | Difference (95% interval) |
|---|---|---|---|---|---|---|
| 10 | 12,360 | 2,470 | 9,890 | 0.50 | 0.50 | 0.0000 (0.0000 to 0.0000) |
| 25 | 5,595 | 1,117 | 4,478 | 0.83 | 0.75 | 0.0833 (-0.0278 to 0.2500) |
| 50 | 2,846 | 567 | 2,279 | 1.07 | 1.00 | 0.0690 (-0.0588 to 0.2500) |
| 100 | 1,338 | 267 | 1,071 | 1.37 | 1.16 | 0.2122 (0.0012 to 0.5017) |
| 250 | 454 | 88 | 366 | 1.52 | 1.34 | 0.1815 (-0.1210 to 0.6440) |
| 1,000 | 70 | <50 | 60 | suppressed | suppressed | suppressed |
| pooled | 22,663 | 4,519 | 18,144 | - | - | 0.0440 (0.0029 to 0.0969) |

### 6.5 Matched comparison

| Size T | Go-to-market-heavy events | Matched | Median growth, heavy (%) | Weighted median growth, controls (%) | Gap, points (95% interval) | Mean gap, log points (95% interval) | Placebo gap t-12 to t-8, points (95% interval) |
|---|---|---|---|---|---|---|---|
| All sizes | 6,443 | 4,486 | 30.2 | 27.3 | 2.94 (-1.03 to 6.06) | 0.0399 (0.0172 to 0.0638) | 0.00 (-2.90 to 2.90) |
| 10 | 3,423 | 2,680 | 27.3 | 27.3 | 0.00 (-2.27 to 1.30) | 0.0393 (0.0083 to 0.0680) | 5.00 (0.00 to 5.00) |
| 25 | 1,627 | 1,059 | 35.7 | 26.7 | 9.05 (3.85 to 15.00) | 0.0638 (0.0171 to 0.1091) | -0.57 (-6.67 to 3.03) |
| 50 | 840 | 496 | 32.7 | 36.5 | -3.83 (-12.33 to 4.35) | -0.0089 (-0.0703 to 0.0538) | -9.40 (-16.91 to -1.21) |
| 100 | 395 | 196 | 30.5 | 28.7 | 1.74 (-8.53 to 14.39) | 0.0754 (-0.0069 to 0.1602) | 8.61 (-1.14 to 19.65) |
| 250 | 138 | <50 | suppressed | | | | |
| 1,000 | <50 | <50 | suppressed | | | | |

Pooled: 4,486 matched go-to-market-heavy events from 3,726 companies, 3,152 distinct control events. The AI homepages study's form of the gap gives 3.29 points; the 4-quarter gap is 1.26 points (0.00 to 4.40). In percent, the mean gap is 4.1% (1.7% to 6.6%) and the mean placebo gap -3.0% (-4.5% to -1.6%): measured by means, go-to-market-heavy companies grew a little more after the crossing but a little less in the earlier window, so part of the mean edge may be catching up. By the pre-registered median measure, the placebo gap is zero.

Balance of the matched sample (treated mean against the mean of each event's controls):

| Variable | Go-to-market-heavy | Controls | Events |
|---|---|---|---|
| y_t | 2.9707 | 2.9693 | 4,486 |
| pg1 | 0.6378 | 0.6352 | 4,486 |
| pg2 | 0.4611 | 0.4607 | 4,486 |
| share | 0.8002 | 0.0821 | 4,486 |
| age | 5.1623 | 5.1684 | 4,486 |
| hc_t | 27.5667 | 27.4922 | 4,486 |

Least squares with stratum fixed effects (all terciles, middle third as reference), g8 in log points, errors clustered by company:

| Term | Coefficient | 95% interval | Effect (%) |
|---|---|---|---|
| heavy | 0.0173 | -0.0072 to 0.0418 | 1.75 |
| light | -0.0248 | -0.0499 to 0.0004 | -2.45 |
| y_t | 0.1469 | 0.0263 to 0.2676 | 15.82 |
| pg1 | 0.0654 | 0.0364 to 0.0945 | 6.76 |
| pg2 | 0.0048 | -0.0195 to 0.0292 | 0.48 |

(19,337 events, 12,761 companies.)

### 6.6 Robustness and sensitivity of the ratio

Median R (95% interval) at each size:

| Version | 10 | 25 | 50 | 100 | 250 | 1,000 |
|---|---|---|---|---|---|---|
| Headline | 0.50 (0.50 to 0.50) | 0.80 (0.75 to 0.83) | 1.00 (1.00 to 1.08) | 1.19 (1.13 to 1.28) | 1.38 (1.24 to 1.53) | 1.36 (1.09 to 1.66) |
| (a) Well-covered companies (coverage 0.7-1.3) | 0.46 (0.40 to 0.50) | 0.67 (0.62 to 0.71) | 0.83 (0.77 to 0.90) | 1.03 (0.95 to 1.14) | 1.07 (0.94 to 1.35) | suppressed |
| (b) Engineering = software engineering titles only | 0.67 (0.67 to 0.67) | 1.00 (1.00 to 1.00) | 1.21 (1.14 to 1.29) | 1.47 (1.38 to 1.58) | 1.70 (1.53 to 1.91) | 1.75 (1.38 to 2.32) |
| (c) Plus customer success | 0.67 (0.60 to 0.67) | 1.00 (0.90 to 1.00) | 1.21 (1.15 to 1.29) | 1.41 (1.32 to 1.48) | 1.61 (1.45 to 1.75) | 1.61 (1.29 to 1.87) |
| (d) US headquarters | 0.50 (0.50 to 0.60) | 0.86 (0.80 to 0.88) | 1.11 (1.00 to 1.16) | 1.31 (1.22 to 1.40) | 1.48 (1.32 to 1.62) | 1.38 (1.07 to 1.67) |
| (e1) Plus technology, information and internet | 0.67 (0.60 to 0.67) | 0.88 (0.83 to 0.90) | 1.09 (1.00 to 1.14) | 1.26 (1.19 to 1.36) | 1.38 (1.26 to 1.53) | 1.35 (1.05 to 1.66) |
| (e2) IT services and IT consulting alone (contrast) | 0.67 (0.67 to 0.75) | 0.70 (0.67 to 0.75) | 0.67 (0.58 to 0.73) | 0.58 (0.50 to 0.67) | 0.58 (0.51 to 0.80) | suppressed |
| (f) Crossings up to 2025 Q2 | 0.50 (0.50 to 0.50) | 0.80 (0.75 to 0.83) | 1.00 (0.95 to 1.06) | 1.18 (1.11 to 1.25) | 1.39 (1.24 to 1.53) | 1.48 (1.18 to 1.76) |
| (g') Coverage under 0.3 | 1.00 (0.75 to 1.00) | 1.00 (1.00 to 1.25) | 1.36 (1.15 to 1.56) | 1.75 (1.40 to 2.14) | 1.69 (1.19 to 2.17) | suppressed |
| (g') Coverage 0.3-0.5 | 1.00 (0.67 to 1.00) | 1.00 (1.00 to 1.20) | 1.33 (1.22 to 1.50) | 1.71 (1.50 to 1.90) | 1.71 (1.53 to 2.20) | suppressed |
| (g') Coverage 0.5-0.7 | 0.50 (0.50 to 0.50) | 0.78 (0.71 to 0.83) | 1.00 (0.92 to 1.10) | 1.11 (1.00 to 1.19) | 1.23 (1.07 to 1.48) | suppressed |
| (g') Coverage 0.7-1.3 | 0.46 (0.40 to 0.50) | 0.67 (0.62 to 0.71) | 0.83 (0.77 to 0.90) | 1.03 (0.95 to 1.16) | 1.07 (0.97 to 1.35) | suppressed |
| (i) Size = staff headcount (post-hoc) | 0.50 (0.50 to 0.50) | 0.82 (0.78 to 0.86) | 1.00 (1.00 to 1.07) | 1.19 (1.12 to 1.27) | 1.42 (1.28 to 1.52) | 1.45 (1.13 to 1.76) |
| (j) Pre-sales counted as engineering (post-hoc) | 0.50 (0.50 to 0.50) | 0.69 (0.67 to 0.71) | 0.85 (0.80 to 0.90) | 0.97 (0.93 to 1.00) | 1.04 (0.98 to 1.11) | 0.95 (0.87 to 1.18) |
| (k) Data staff counted as engineering (post-hoc) | 0.50 (0.50 to 0.50) | 0.75 (0.71 to 0.75) | 0.93 (0.90 to 1.00) | 1.11 (1.03 to 1.19) | 1.28 (1.17 to 1.40) | 1.25 (1.07 to 1.64) |

The well-covered set (a) is the robustness set the brief asked for: companies whose rebuilt headcount is close to the employee count on their record, so few of their staff are missing. Its medians are -7.3%, -16.7%, -16.7%, -13.7%, -22.2% different from the headline at 10, 25, 50, 100 and 250 people. Coverage falls with size: the median rebuilt headcount is 0.667 of the record count for records of 1-50 employees, 0.458 of the record count for records of 51-200 employees, 0.279 of the record count for records of 201-1000 employees, 0.294 of the record count for records of 1001+ employees. Within the coverage bands (g'), the less of a company's team the data sees, the higher its ratio, broadly (at 250 people the two lowest bands are level), which fits engineers being the staff most often outside the six countries.

Matched comparison under each pre-registered version (pooled over sizes):

| Version | Matched events | Gap, points (95% interval) | Mean gap, log points (95% interval) |
|---|---|---|---|
| Headline | 4,486 | 2.94 (-1.03 to 6.06) | 0.0399 (0.0172 to 0.0638) |
| (a) Well-covered companies (coverage 0.7-1.3) | 1,344 | -3.64 (-9.90 to 1.54) | 0.0058 (-0.0332 to 0.0415) |
| (b) Engineering = software engineering titles only | 4,410 | 2.20 (-3.50 to 5.75) | 0.0375 (0.0138 to 0.0601) |
| (c) Plus customer success | 4,556 | 3.50 (0.00 to 6.41) | 0.0516 (0.0257 to 0.0745) |
| (d) US headquarters | 2,941 | 2.56 (-2.56 to 7.65) | 0.0432 (0.0158 to 0.0734) |
| (e1) Plus technology, information and internet | 5,331 | 0.00 (-2.27 to 0.35) | 0.0170 (-0.0031 to 0.0387) |
| (e2) IT services and IT consulting alone (contrast) | 3,312 | -0.53 (-2.80 to 0.94) | -0.0090 (-0.0310 to 0.0122) |
| (f) Outcome windows ending by 2025 Q2 | 4,080 | 2.56 (-2.44 to 6.06) | 0.0441 (0.0220 to 0.0688) |
| (h) US, Form D raise in strata | 2,673 | 3.78 (-2.14 to 8.09) | 0.0442 (0.0127 to 0.0756) |

### 6.7 Size measure: who is on the team

The rebuilt headcount counts everyone whose role at the company covers the quarter end, including people who list the company as an advisor, board member or investor, and gig or platform workers who list the platform. A title diagnostic on the person-level roles of the 17,571 headline panel companies (2,973,217 roles, 1,807,344 people) shows who sits in the unclassified share. On 2026-03-31, 296,490 of 762,342 people at these companies had a title the taxonomy leaves unclassified. The most common ones (each with at least 50 people):

| Normalized title | People | % of unclassified |
|---|---|---|
| advisor | 3,381 | 1.14 |
| board member | 3,003 | 1.01 |
| project manager | 2,708 | 0.91 |
| investor | 2,541 | 0.86 |
| chief executive officer | 2,140 | 0.72 |
| senior product designer | 1,977 | 0.67 |
| product designer | 1,889 | 0.64 |
| advisory board member | 1,400 | 0.47 |
| chief financial officer | 1,400 | 0.47 |
| ai trainer | 1,365 | 0.46 |
| streamer | 1,261 | 0.43 |
| member of technical staff | 1,221 | 0.41 |
| ceo | 1,160 | 0.39 |
| director | 1,140 | 0.38 |
| executive assistant | 1,126 | 0.38 |
| board observer | 1,106 | 0.37 |
| business analyst | 1,079 | 0.36 |
| technical lead | 1,067 | 0.36 |
| consultant | 1,014 | 0.34 |
| strategic advisor | 970 | 0.33 |
| personal shopper | 933 | 0.32 |
| senior consultant | 931 | 0.31 |
| senior project manager | 899 | 0.30 |
| implementation manager | 887 | 0.30 |
| freelance writer | 842 | 0.28 |

Rebuilding the headcount from the person-level roles reproduces the shared table in all 634,959 of 634,959 company-quarter cells. Leaving out non-staff titles keeps 93.8% of person-quarters, and the medians barely move (sensitivity (i) in 6.6). Technical titles the taxonomy leaves unclassified are a small share of engineering: the 23 technical-sounding titles among the 300 most common unclassified ones (member of technical staff, technical lead, security analyst, QA analyst and similar) cover 7,272 people, 4.4% of the engineering count at 2026 Q1 (a lower bound, since rarer titles are not listed).

### 6.8 Check against Kenso's own function field

Kenso internal data also carries a job-function field for each person's current role. Its company totals for 2026-03 are a median 0.921 to 1.004 of the rebuilt headcount at 2026 Q1 in every record size band, so it counts the same six-country people and cannot show staff abroad. It does give a second, independent classification of the same people. For headline-set companies with at least 10 people at 2026 Q1:

| Headcount at 2026 Q1 | Companies | Median R, titles | Median R, function field (Engineering) | Median R, function field (Engineering + IT + QA) | Rank correlation of s |
|---|---|---|---|---|---|
| all | 11,205 | 0.94 | 0.67 | 0.58 | 0.84 |
| 10-24 | 6,208 | 0.71 | 0.50 | 0.50 | 0.81 |
| 25-99 | 3,794 | 1.00 | 0.70 | 0.64 | 0.88 |
| 100-249 | 791 | 1.19 | 0.81 | 0.75 | 0.92 |
| 250+ | 412 | 1.30 | 0.86 | 0.79 | 0.88 |

The two classifications rank companies alike (rank correlation 0.84), but the function field puts 29.0% of staff in engineering against 22.2% by title, and its ratio is 28.9% lower. Part of the difference is pre-sales engineers, whom the title taxonomy counts as sales (sensitivity (j)). So the level of the benchmark depends on where borderline roles are counted; its rise with size does not (in every B2B software version, the median at 100 people is at least 1.71 times the median at 10).

Largest function-field groups (share of people) against title groups:

| Function field | % of people |
|---|---|
| Engineering | 29.0 |
| Sales | 13.8 |
| Other | 8.3 |
| Support | 6.3 |
| Marketing | 6.1 |
| Operations | 4.9 |
| Consulting | 3.8 |
| Finance | 3.2 |

| Title group | % of people |
|---|---|
| sales | 18.4 |
| marketing | 5.5 |
| customer_success | 3.7 |
| engineering | 22.2 |
| product | 2.6 |
| data | 1.7 |
| support | 3.0 |
| founders | 1.9 |
| recruiting_hr | 1.6 |
| bizops | 2.1 |
| other | 40.2 |
| interns | 0.9 |

## 7. Pre-registered hypotheses

| Hypothesis | Verdict | Evidence |
|---|---|---|
| H1 direction: the median rises from 10 to 1,000 and falls at fewer than two steps | Holds | 1,000 minus 10 = 0.86 (0.57 to 1.17); falls at 1 step (250 to 1,000) |
| H1 level: median 0.2-0.5 at 10 and above 1.0 at 1,000 | Holds | 0.50 at 10 (the upper edge of the range) and 1.36 at 1,000 |
| H2: 2020-2024 cohort below 2010-2014 at most sizes | Holds | lower at 4 of 4 sizes with 50+ companies in both; the interval excludes zero only at 25 |
| H3a: fastest growers have a higher median ratio | Holds | pooled difference 0.0440 (0.0029 to 0.0969), small |
| H3b: matched gap of 5 to 15 points, interval above 0 | Wrong | 2.94 points (-1.03 to 6.06); placebo by the pre-registered measure clean |
| H4a: well-covered median below the full sample at 4+ of 6 sizes | Holds | lower at 5 of 5 sizes with data (too few well-covered companies at 1,000) |
| H4b (scored by D18 after the calibration was ruled out): ratio higher where coverage is lower | Holds | lowest-coverage band above the 0.7-1.3 band at 5 of 5 sizes |

H3b is scored by its rule as written: the gap has the expected sign, but its interval includes zero, so the hypothesis is wrong. The secondary measures point the same way: least squares puts the top third 1.75% above the middle third and the bottom third 2.45% below it, neither with an interval that excludes zero, and the mean gap is positive but matched by a negative mean placebo gap.

## 8. Verification

An independent re-analysis, written from the study plan alone (hypothesis, plan and Decisions D1-D19) and the same data extracts, without seeing our code or outputs, recomputed 116 headline numbers with its own code. 107 of 116 match exactly at the reported precision, 9 bootstrap interval bounds match within bootstrap noise, and 0 do not match.

| Number | Study | Re-analysis | Match |
|---|---|---|---|
| Method 1, size 10: events | 14530.0 | 14530.0 | yes |
| Method 1, size 10: events with a defined ratio | 14093.0 | 14093.0 | yes |
| Method 1, size 10: median R | 0.5 | 0.5 | yes |
| Method 1, size 10: interval, lower bound | 0.5 | 0.5 | yes |
| Method 1, size 10: interval, upper bound | 0.5 | 0.5 | yes |
| Method 1, size 10: 25th percentile of R | 0.0 | 0.0 | yes |
| Method 1, size 10: 75th percentile of R | 2.0 | 2.0 | yes |
| Method 1, size 10: pooled ratio | 0.6223 | 0.6223 | yes |
| Method 1, size 10: % with no engineer | 16.11 | 16.11 | yes |
| Method 1, size 10: % with no sales or marketing | 28.99 | 28.99 | yes |
| Method 1, size 25: events | 6626.0 | 6626.0 | yes |
| Method 1, size 25: events with a defined ratio | 6592.0 | 6592.0 | yes |
| Method 1, size 25: median R | 0.8 | 0.8 | yes |
| Method 1, size 25: interval, lower bound | 0.75 | 0.75 | yes |
| Method 1, size 25: interval, upper bound | 0.8333 | 0.8333 | yes |
| Method 1, size 25: 25th percentile of R | 0.2727 | 0.2727 | yes |
| Method 1, size 25: 75th percentile of R | 2.0 | 2.0 | yes |
| Method 1, size 25: pooled ratio | 0.8244 | 0.8244 | yes |
| Method 1, size 25: % with no engineer | 5.69 | 5.69 | yes |
| Method 1, size 25: % with no sales or marketing | 8.83 | 8.83 | yes |
| Method 1, size 50: events | 3450.0 | 3450.0 | yes |
| Method 1, size 50: events with a defined ratio | 3441.0 | 3441.0 | yes |
| Method 1, size 50: median R | 1.0 | 1.0 | yes |
| Method 1, size 50: interval, lower bound | 1.0 | 1.0 | yes |
| Method 1, size 50: interval, upper bound | 1.0769 | 1.0714 | within bootstrap noise |
| Method 1, size 50: 25th percentile of R | 0.4 | 0.4 | yes |
| Method 1, size 50: 75th percentile of R | 2.2857 | 2.2857 | yes |
| Method 1, size 50: pooled ratio | 0.9972 | 0.9972 | yes |
| Method 1, size 50: % with no engineer | 2.32 | 2.32 | yes |
| Method 1, size 50: % with no sales or marketing | 3.74 | 3.74 | yes |
| Method 1, size 100: events | 1627.0 | 1627.0 | yes |
| Method 1, size 100: events with a defined ratio | 1625.0 | 1625.0 | yes |
| Method 1, size 100: median R | 1.1935 | 1.1935 | yes |
| Method 1, size 100: interval, lower bound | 1.1304 | 1.1429 | within bootstrap noise |
| Method 1, size 100: interval, upper bound | 1.2813 | 1.28 | within bootstrap noise |
| Method 1, size 100: 25th percentile of R | 0.5405 | 0.5405 | yes |
| Method 1, size 100: 75th percentile of R | 2.5333 | 2.5333 | yes |
| Method 1, size 100: pooled ratio | 1.1533 | 1.1533 | yes |
| Method 1, size 100: % with no engineer | 1.35 | 1.35 | yes |
| Method 1, size 100: % with no sales or marketing | 0.98 | 0.98 | yes |
| Method 1, size 250: events | 534.0 | 534.0 | yes |
| Method 1, size 250: events with a defined ratio | 534.0 | 534.0 | yes |
| Method 1, size 250: median R | 1.3765 | 1.3765 | yes |
| Method 1, size 250: interval, lower bound | 1.2391 | 1.2286 | within bootstrap noise |
| Method 1, size 250: interval, upper bound | 1.5273 | 1.5241 | within bootstrap noise |
| Method 1, size 250: 25th percentile of R | 0.6647 | 0.6647 | yes |
| Method 1, size 250: 75th percentile of R | 2.4673 | 2.4673 | yes |
| Method 1, size 250: pooled ratio | 1.3011 | 1.3011 | yes |
| Method 1, size 250: % with no engineer | 0.56 | 0.56 | yes |
| Method 1, size 250: % with no sales or marketing | 0.56 | 0.56 | yes |
| Method 1, size 1000: events | 85.0 | 85.0 | yes |
| Method 1, size 1000: events with a defined ratio | 85.0 | 85.0 | yes |
| Method 1, size 1000: median R | 1.3636 | 1.3636 | yes |
| Method 1, size 1000: interval, lower bound | 1.0918 | 1.0707 | within bootstrap noise |
| Method 1, size 1000: interval, upper bound | 1.6639 | 1.6667 | within bootstrap noise |
| Method 1, size 1000: 25th percentile of R | 0.8252 | 0.8252 | yes |
| Method 1, size 1000: 75th percentile of R | 2.573 | 2.573 | yes |
| Method 1, size 1000: pooled ratio | 1.3683 | 1.3683 | yes |
| Method 1, size 1000: % with no engineer | 0.0 | 0.0 | yes |
| Method 1, size 1000: % with no sales or marketing | 0.0 | 0.0 | yes |
| Method 2, size 10, founded 2010-2014: companies | 3105.0 | 3105.0 | yes |
| Method 2, size 10, founded 2010-2014: median R | 0.6 | 0.6 | yes |
| Method 2, size 10, founded 2020-2024: companies | 3611.0 | 3611.0 | yes |
| Method 2, size 10, founded 2020-2024: median R | 0.5 | 0.5 | yes |
| Method 2, size 25, founded 2010-2014: companies | 1914.0 | 1914.0 | yes |
| Method 2, size 25, founded 2010-2014: median R | 0.8571 | 0.8571 | yes |
| Method 2, size 25, founded 2020-2024: companies | 1071.0 | 1071.0 | yes |
| Method 2, size 25, founded 2020-2024: median R | 0.7 | 0.7 | yes |
| Method 2, size 50, founded 2010-2014: companies | 1149.0 | 1149.0 | yes |
| Method 2, size 50, founded 2010-2014: median R | 1.1111 | 1.1111 | yes |
| Method 2, size 50, founded 2020-2024: companies | 399.0 | 399.0 | yes |
| Method 2, size 50, founded 2020-2024: median R | 0.8889 | 0.8889 | yes |
| Method 2, size 100, founded 2010-2014: companies | 614.0 | 614.0 | yes |
| Method 2, size 100, founded 2010-2014: median R | 1.2743 | 1.2743 | yes |
| Method 2, size 100, founded 2020-2024: companies | 135.0 | 135.0 | yes |
| Method 2, size 100, founded 2020-2024: median R | 1.1333 | 1.1333 | yes |
| Method 3, size 25: median R, fastest | 0.8333 | 0.8333 | yes |
| Method 3, size 25: median R, rest | 0.75 | 0.75 | yes |
| Method 3, size 50: median R, fastest | 1.069 | 1.069 | yes |
| Method 3, size 50: median R, rest | 1.0 | 1.0 | yes |
| Method 3, size 100: median R, fastest | 1.3722 | 1.3722 | yes |
| Method 3, size 100: median R, rest | 1.16 | 1.16 | yes |
| Method 3, size 250: median R, fastest | 1.5243 | 1.5243 | yes |
| Method 3, size 250: median R, rest | 1.3428 | 1.3428 | yes |
| Method 3, pooled: difference | 0.044 | 0.044 | yes |
| Method 3, pooled: interval, lower bound | 0.0029 | 0.0067 | within bootstrap noise |
| Method 3, pooled: interval, upper bound | 0.0969 | 0.0965 | within bootstrap noise |
| Method 3: events | 22663.0 | 22663.0 | yes |
| Method 3: fastest growers | 4519.0 | 4519.0 | yes |
| Method 4, pooled: go-to-market-heavy events | 6443.0 | 6443.0 | yes |
| Method 4, pooled: matched events | 4486.0 | 4486.0 | yes |
| Method 4, pooled: median growth, heavy (%) | 30.22 | 30.22 | yes |
| Method 4, pooled: weighted median growth, controls (%) | 27.27 | 27.27 | yes |
| Method 4, pooled: gap (points) | 2.94 | 2.94 | yes |
| Method 4, pooled: gap, interval lower bound | -1.03 | -1.03 | yes |
| Method 4, pooled: gap, interval upper bound | 6.06 | 6.06 | yes |
| Method 4, pooled: mean gap (log points) | 0.0399 | 0.0399 | yes |
| Method 4, size 10: matched events | 2680.0 | 2680.0 | yes |
| Method 4, size 10: gap (points) | 0.0 | 0.0 | yes |
| Method 4, size 25: matched events | 1059.0 | 1059.0 | yes |
| Method 4, size 25: gap (points) | 9.05 | 9.05 | yes |
| Method 4, size 50: matched events | 496.0 | 496.0 | yes |
| Method 4, size 50: gap (points) | -3.83 | -3.83 | yes |
| Method 4, size 100: matched events | 196.0 | 196.0 | yes |
| Method 4, size 100: gap (points) | 1.74 | 1.74 | yes |
| Robustness (a), size 10: companies | 5658.0 | 5658.0 | yes |
| Robustness (a), size 10: median R | 0.4634 | 0.4634 | yes |
| Robustness (a), size 25: companies | 2679.0 | 2679.0 | yes |
| Robustness (a), size 25: median R | 0.6667 | 0.6667 | yes |
| Robustness (a), size 50: companies | 1352.0 | 1352.0 | yes |
| Robustness (a), size 50: median R | 0.8333 | 0.8333 | yes |
| Robustness (a), size 100: companies | 587.0 | 587.0 | yes |
| Robustness (a), size 100: median R | 1.0294 | 1.0294 | yes |
| Robustness (a), size 250: companies | 141.0 | 141.0 | yes |
| Robustness (a), size 250: median R | 1.0714 | 1.0714 | yes |
| H1: median R at size 1000 minus size 10 | 0.8636 | 0.8636 | yes |

## 9. Alternative explanations considered

| Alternative | How it is handled |
|---|---|
| Engineers outside the six countries are missing, which inflates the ratio. | Robustness (a) and (g'): where coverage is high the ratio is lower, by 7% to 22% at 10 to 250 people; where it is low the ratio is higher. Named as the main limitation; the medians are an upper end for the typical company. |
| Job titles misclassify borderline roles, or hide engineers in unclassified titles. | Sensitivities (b), (j), (k) and the check against Kenso's function field: the level moves (at 100 people from 0.97 to 1.47 across these versions), the rise with size does not, and the two classifications rank companies alike. |
| Rebuilt size counts advisors, investors and gig listings, so companies "reach" a size early. | Sensitivity (i) rebuilds size from staff titles only; the medians barely change. |
| People add new jobs to their profiles months late, so recent quarters undercount. | Robustness (f): crossings, or outcome windows, ending by 2025 Q2 give the same picture; the largest move is the median at 1,000 people (1.48 on 75 companies against 1.36), inside the headline's interval. |
| Consumer apps or consultancies in the industry labels drive the result. | The headline uses product-software labels only; (e1) adds technology, information and internet with similar results; IT services (e2) has a flat, lower ratio, as expected for consultancies. |
| Old profiles fade out of the data (deleted profiles, people who moved abroad), so the past undercounts. | Companies founded from 2005 only, crossings must be seen in the window, and the ratio by crossing period (6.3) shows how much the picture drifts over time. Remains a limitation. |
| Fast growers differ from slow growers in funding, momentum or timing, not in the ratio. | The matched comparison holds size, industry group, age, period and two windows of prior growth fixed; (h) adds Form D raises for US companies; a placebo window before the matching window is checked. Funding outside SEC Form D and product differences are not observed. |
| Selecting companies at the quarter they cross a size picks lucky quarters (regression to the mean). | Both groups are selected by the same rule and matched on headcount at t and on prior growth. |

## 10. Limitations

- **Six countries.** Kenso internal data holds people whose current country is the US, UK, Canada, Australia, Ireland or New Zealand. Staff elsewhere, most often engineers, are missing, so the ratio overstates the go-to-market share for companies with teams abroad. A size such as "100 people" means 100 people visible in those countries, not 100 employees.
- **Titles decide the groups.** Titles are self-reported and classified by rules. About a third of people have titles that fit no named function (leaders, finance, design, project and program managers, advisors and board members). Counting pre-sales engineers as engineering instead of sales lowers the ratio at 100 people by 18.9%.
- **Only current, active profiles.** People who deleted their profile, or moved out of the six countries, are missing from every past quarter. Older years undercount, and short jobs are often missing. People add new jobs months late, so the latest quarters undercount (the series ends in 2026 Q1).
- **B2B is not verified.** Company records have no B2B flag; the sample is defined by industry labels that companies choose themselves.
- **Founded year only.** Company age is the crossing year minus the founded year on the record.
- **The ratio moves with the hiring climate.** Companies that reached 50, 100 or 250 people in 2023-2024 had the lowest ratios of any period (0.81, 0.91 and 0.95), and those that reached a size in 2025-2026 Q1 the highest at 10, 25, 100 and 250 people (0.75, 1.00, 1.44 and 1.60; section 6.3). Part of the latest period may be late reporting that differs by function. Dropping crossings after 2025 Q2 (robustness f) leaves the headline medians nearly unchanged, but the latest period should not be read as a new trend. Founding cohort and crossing period overlap, so the cohort comparison is also a comparison of hiring climates.
- **Growth is headcount growth** in the six countries, not revenue. The growth link is a correlation from a matched comparison; it is not a cause. Unobserved differences (funding outside SEC Form D, product type, pricing model, sales motion) can drive both the ratio and growth.
- **Thin cells at the top.** Only 85 companies are seen reaching 1,000 people, so that median has a wide interval, and the cohort, fastest-grower and matched analyses are suppressed at 250 or 1,000 where groups fall under 50 companies.
- **Double counting.** A person with titles in two functions on the same date counts in both; function counts sum to 1.03 times the people they cover.
- **Small-team medians are coarse.** At 10 people most ratios are simple fractions (1/2, 2/3, 1), so the median sits on one of them and its bootstrap interval can have no width.
- **Kenso's function field** exists only for current roles and counts the same six-country people, so it cannot calibrate history or coverage abroad.

## 11. Deviations from the pre-registration

1. Robustness (g), a calibration against worldwide function counts, could not run: the function snapshot in Kenso's database counts the same six-country people (section 6.8). It was replaced by (g'), the ratio by coverage band, and H4's second part was scored on (g') by a rule written before those results (Decision D18).
2. "Ties broken by a seeded random draw" was implemented as a deterministic hash of the company id (D15), so an independent re-analysis can rebuild the same groups.
3. The exact rules for the fastest-grower cut, the terciles and the weighted median were written down before the growth results (D16).
4. Post-hoc additions, labelled as such: the title diagnostic and sensitivities (i) to (k) (D20, D21), the check against Kenso's function field (D13), and two extra forms of the matched gap (D19). The headline definitions did not change.
5. Published tables show counts under 50 as "<50" (D22).

## 12. Sources

- **Shared extracts:** the shared headcount history (built for the SDR study, build of 2026-10-17); the shared funding events extract (built for the first sales hire study); the shared sales title taxonomy (built for the GTM engineer study).
- **Methods reused:** matching mechanics from the AI homepages study; the product-software labels follow the software sets in the first sales hire study and the SDR study.
- **Sources:** Kenso internal data (public professional profiles, work histories and company records), read 2026-10-19; U.S. Securities and Exchange Commission, Form D data sets (2008 Q1 to 2026 Q3), through the shared funding events extract.
