A company that plans to grow adds sellers before it reports the revenue. Its sales postings show which roles it is adding, which customers those roles are meant to reach, in which countries, and what it offers to pay. This guide shows how to read that sequence from Sales Team Metrics for two readers: an investor judging a company's growth plans, and a competitor watching what a rival is building.
What the weekly dataset holds
Sales Team Metrics has one row per company and closed week, Monday to Sunday UTC, for each week in which the company had a sales posting open, opened or closed. It is written once, after the week closes, and never revised. A sales posting here is one that the labelling places in a sales role, so postings for sales operations, account management and sales leadership count alongside account executives. The hiring dataset holds the postings behind it in Job Postings, with advertised base pay and on-target earnings where a posting states them. In a query the dataset is company_sales_weekly, and these are its fields.
| Field | What it holds |
|---|---|
open_sales, new_sales, closed_sales | Sales postings open at the week's end, opened in the week and closed in it |
open_all | Every open posting, the denominator for the sales share |
by_role, by_segment, by_country | Open sales postings by role, by segment (smb, mid_market, enterprise, unspecified) and by country |
new_countries | Countries where the company opened its first sales posting this week |
upmarket | Set in the week of the company's first enterprise-segment sales posting |
median_base_usd, median_ote_usd | Median advertised base pay and on-target earnings by role, in yearly US dollars |
tools, quota_stated, inbound_share | Sales tools named, postings that state a quota, and the median stated share of inbound pipeline |
The roles are sdr_bdr, account_executive, account_manager, sales_engineer, sales_leadership, sales_operations and partnerships_channel. New countries and the upmarket flag are events, not levels. Both are written for companies with earlier sales postings, so a company's first observation sets a baseline and each event marks a real first.
Five readings, in order
Each reading qualifies the one before it.
- Capacity. Take open sales postings as a share of all open postings, and the net of new less closed over eight weeks. A rising share means sales is growing faster than the company as a whole.
- Composition. The split by role shows what kind of selling is being built. SDR and BDR roles feed pipeline that account executives close. Account managers rising alone tend to point to existing customers, and sales engineers to a product that needs a technical sale. A new sales leader suggests a new motion or region.
- Segment. The split by segment shows who the roles are aimed at, and the upmarket flag marks the week of the first enterprise posting.
- Geography. The split by country shows where the team sits, and new countries marks the first sales posting in a country.
- Price. The median OTE for a role, set against the market quartiles in Sales Pay Benchmarks (
sales_pay_benchmarks), shows how hard the company is competing for that role.
select
week_start,
open_sales,
round(100.0 * open_sales / nullif(open_all, 0), 1) as sales_share_pct,
sum(new_sales - closed_sales) over w as net_8w,
coalesce((by_segment::json ->> 'enterprise')::int, 0) as enterprise_open,
new_countries,
upmarket
from company_sales_weekly
where company_id = :company_id
window w as (
order by week_start
rows between 7 preceding and current row
)
order by week_start;Read rates with the counts beside them. A company with four open sales postings doubles with four more, and that tells you less than a company with forty adding ten. Set a minimum count before you read a share or a ratio, and compare a company with its own earlier weeks before you compare it with others.
From the week to the postings
The weekly dataset says when and how much, and the postings say what. Job Postings (job_postings) holds each sales posting with its link, locations and first-seen date, and with the sales labels that give its role, its segment and flags such as quota_carrying, new_business and founding_sales. The sales facts hold what the posting itself states about the deal, where it states anything: OTE and base, quota, ramp, lead source, average deal size and sales cycle. A rise in enterprise postings means more when the postings also state larger deals and longer sales cycles.
An illustrative sequence
Acme Robotics is an invented company, and these five weeks are illustrative.
| Week | open_sales | open_all | Enterprise open | new_countries | upmarket |
|---|---|---|---|---|---|
| 1 | 10 | 120 | 0 | none | no |
| 2 | 12 | 122 | 0 | none | no |
| 3 | 15 | 128 | 1 | none | yes |
| 4 | 18 | 131 | 3 | DE | no |
| 5 | 21 | 135 | 4 | none | no |
The sales share rises from 8.3% to 15.6% while all open postings grow by 12.5%. Capacity comes first, then the first enterprise posting in week 3, then a first sales posting in Germany in week 4. A run of capacity, segment and country reads as a plan being carried out, and the order is as informative as the levels.
Reading it as an investor
Sales capacity tends to lead revenue by the time a new seller takes to become productive. Where a posting states a ramp period, the sales facts of Job Postings carry it as months, so you have the employer's own estimate of how long to wait before looking for the effect in reported figures. Set the sales share and the net of new less closed postings against the company's later bookings or revenue growth, and test whether the relationship holds for that company, for its sector or for neither. The guide to hiring data in equity research covers the wider method.
Subtract the sector. The weekly Market Series carry the sales share, the share of the postings opened in a window that are sales roles, and the sales segment share, by industry, country and size band. A company whose sales share is rising in an industry where it is rising everywhere says less than one that is rising against its industry.
To screen a coverage list instead of reading one company, take the last four closed weeks and keep the rows where an event is set:
select company_id, isin, week_start, open_sales, new_countries, upmarket
from company_sales_weekly
where isin is not null
and week_start >= current_date - 28
and (upmarket or coalesce(json_array_length(new_countries::json), 0) > 0);Reading it as a competitor
A competitor wants to know where a rival is going and what it pays to get there. A first sales posting in a new country and a first enterprise posting are dated moves that can precede an announcement. The sales tools field shows which sales tools the rival names, and the inbound share how much of its pipeline it says comes from inbound leads. The guide to reading a competitor's strategy from its hiring sets out a monthly brief.
Confirm a move on a second signal. A first sales posting in a new country is stronger evidence when the rival's website adds the market, a language or a currency in Technology Changes and its newsroom announces an expansion in Company News. One signal is a hint, and two or three that agree in time are a plan.
For pay, compare the rival's median OTE for a role with the quartiles advertised across all companies. A median above the 75th percentile means the rival advertises more for that role than three quarters of the market's postings do. It is a statement about what is advertised, which is the signal of how hard a company competes for a hire.
select
s.week_start,
(s.median_ote_usd::json ->> 'account_executive')::numeric as rival_ote,
b.ote_p25_usd,
b.ote_median_usd,
b.ote_p75_usd
from company_sales_weekly s
join sales_pay_benchmarks b
on b.week_start = s.week_start
and b.role = 'account_executive'
and b.country = 'ALL'
where s.company_id = :rival_id
order by s.week_start;Sales Pay Benchmarks give quartiles for each role and country where the group is large enough to be meaningful. The guide to benchmarking sales compensation goes further into the pay data.
How to read the weekly record
- Postings are intent. A posting records an intention to hire, and a closed posting shows a role leaving the board, whether filled or withdrawn. Read closures as a count of roles leaving, and compare them with openings over several weeks.
- Roles and segments are labels. They are produced under a named, frozen version, so the same version gives the same label to the same posting, and an empty value reads as not known.
- Pay is advertised. Base and OTE are the employer's statement about the role, a target. They are converted to one annual US-dollar scale, so a move for a role advertised in another currency can reflect the exchange rate as well as the posting.
- Acquired teams. A sales team that arrives with an acquisition adds capacity without a posting. Company News records acquisitions under
acquisition_made, so check it before reading a step in revenue as the result of a build-out. - The first weeks are a baseline. A company's first observation writes no new postings, so its earliest rows show open sales postings and zero new ones. That is the baseline, and the trend starts from the next week.
Frequently asked questions
What does a company's sales hiring tell you about its growth?
It shows what the company intends to sell, to whom and where, before the result appears in reported numbers. Capacity, role mix, segment and country each say something different, and they are most useful read together and over time. Every week is dated and written once, so you can test the link to later revenue on a point-in-time record.
How can I tell whether a company is moving upmarket?
Watch the split by segment for a growing count of enterprise-segment sales postings, and the upmarket flag, which is set in the week of the company's first enterprise-segment sales posting. Look for supporting changes: sales engineers and sales leadership in the split by role, and higher advertised pay for the same role compared with earlier weeks.
How do I compare a competitor's sales pay with the market?
Take the competitor's median OTE for a role from Sales Team Metrics and join it to Sales Pay Benchmarks on the same week, role and country, using the all-countries row for every country together. The benchmarks give quartiles of advertised base and OTE across companies, so you see where the competitor sits in the market's range for that role.
What does a closed sales posting show?
It shows a role leaving the company's job board. Sales Team Metrics counts openings and closings every week, so the net of the two is the change in open sales capacity. Read closures as a count of postings leaving the board, and compare them with openings over several weeks to see whether a team is growing, holding or turning over.
How far ahead of revenue does sales hiring move?
It depends on how long a new seller takes to become productive. Where a posting states a ramp period, the sales facts of Job Postings give it in months. Measure the lag company by company or sector by sector against reported figures, using the dated weekly record to set the window.
The queries and code on this page are examples to adapt. Test them in your own environment before you rely on them.