A sourcing screen answers one question: which private companies deserve a first call this month? This guide builds one from four signals, which are hiring growth, stack maturity, private capital raises and announcements. It gives the query, the thresholds to start from and a reading of what comes back. It is written for an associate who has to show why a name is on the list.
The signals and where they live
Seven datasets feed the screen. Each goes by its name, with the identifier you type in a query beside it.
| Signal | Dataset | What to read | Why it matters |
|---|---|---|---|
| Hiring growth | Hiring Activity (company_hiring_daily) | Open postings, new postings | Spending committed to a bigger team |
| Go-to-market build | Sales Team Metrics (company_sales_weekly) | Open sales roles, roles by type, new countries | First sellers, new segments, new markets |
| Stack maturity | Technology Stack (company_technologies) and Technology Changes (company_tech_events) | Categories present, tools added in 90 days | The tooling a team installs as it scales |
| Site changes | Website Profile (company_site_facts) | Key pages, markets, currencies | A pricing page, a demo request, a new market |
| Funding | Company Funding (company_funding) | Filing date, amount offered, amount sold | A notice of a private raise |
| Announcements | Company News (company_news) | Event types, roles | Launches, partnerships, leadership by role |
| Attention | Intent Scores (company_intent_weekly) | Score, surge flag, evidence | A ranking built from the signals above |
Four of these rows carry points in the screen below: hiring growth, stack maturity, funding and announcements. The others give context when you read a name. The hiring, marketing stack and intent datasets are described on their own pages, and every field named here is defined in the data dictionary.
The last row builds on the others. An intent score is built from site changes, postings, filings and announcements, so it ranks companies that the other signals already describe. Use it to order companies that tie, and read its evidence list, which names the five strongest signals behind a score.
Step one: the list
Start with companies that have no listing. Every company carries the identifiers of its listing when it or its parent is listed, so a row with no ticker, ISIN or FIGI is neither a listed company nor a brand of one. Remove the companies already in your CRM by company ID. What is left is the private part of the index, and spot-checking the top of the list confirms that each name is still private.
Step two: four tests
In the sentences that follow, the identifiers are the ones the query below uses.
- Hiring growth. New postings over the last 28 days against the previous 28, for companies with at least 10 open postings. A ratio of 1.5 or more passes. The minimum base keeps a company with two postings from topping the list.
- Stack maturity. At least three tools added in the last 90 days, counted from
company_tech_eventswherecategoryistechnologyandchangeisadded. The number of distincttechnology_categoryvalues incompany_technologiessays how complete the stack is. - Funding. A private capital raise notice filed in the last 180 days. Keep notices with no
company_idin a second list, because the issuer, state and industry are still a lead. - Announcements. At least two announcements in the last 90 days with an event type of
product_launch,partnershiporexpansion.
Each test scores one point. For early-stage names, add the founding sales hire: a posting flagged founding_sales in its sales labels, which also appears as a dated signal in Company Signals. The thresholds are starting points. Run the screen on companies you already know, see where they rank, and adjust.
with hiring as (
select
company_id,
sum(case when day > current_date - 29 then new_postings else 0 end) as new_recent,
sum(case when day <= current_date - 29 then new_postings else 0 end) as new_before,
max(case when day = (select max(day) from company_hiring_daily)
then open_postings end) as open_now
from company_hiring_daily
where ticker is null and isin is null and figi is null
and day > current_date - 57
group by company_id
),
stack as (
select company_id, count(*) as tools_added
from company_tech_events
where category = 'technology' and change = 'added'
and observed_at >= current_date - 90
group by company_id
),
notices as (
select company_id, max(filed_at) as last_notice
from company_funding
where company_id is not null
and filed_at >= current_date - 180
group by company_id
),
news as (
select company_id, count(*) as announcements
from company_news
where "at" >= current_date - 90
and (event_types::text like '%"product_launch"%'
or event_types::text like '%"partnership"%'
or event_types::text like '%"expansion"%')
group by company_id
),
surging as (
select company_id, count(*) as surging_topics
from company_intent_weekly
where week_start >= current_date - 28 and surge
group by company_id
)
select
h.company_id,
h.open_now,
round(h.new_recent * 1.0 / nullif(h.new_before, 0), 2) as hiring_ratio,
coalesce(s.tools_added, 0) as tools_added,
n.last_notice,
coalesce(m.announcements, 0) as announcements,
coalesce(g.surging_topics, 0) as surging_topics,
(case when h.new_recent > 0 and h.new_recent >= 1.5 * h.new_before then 1 else 0 end)
+ (case when coalesce(s.tools_added, 0) >= 3 then 1 else 0 end)
+ (case when n.last_notice is not null then 1 else 0 end)
+ (case when coalesce(m.announcements, 0) >= 2 then 1 else 0 end) as points
from hiring h
left join stack s on s.company_id = h.company_id
left join notices n on n.company_id = h.company_id
left join news m on m.company_id = h.company_id
left join surging g on g.company_id = h.company_id
where h.open_now >= 10
order by points desc, surging_topics desc, hiring_ratio desc nulls last
limit 50;Reading each signal
Each test is a number until you open what is behind it.
- Hiring. The split by job function shows whether the growth is in engineering, sales or operations, and the split by seniority whether the company is adding leaders or junior staff. A jump in new postings with no rise in open postings suggests reposting, and a company that keeps evergreen postings open inflates the open count, so check that the roles change from week to week.
- Stack. The categories tell a story. A CRM and a payments tool suggest that the company sells and bills, an analytics and a consent tool that it measures traffic and serves visitors from regulated markets, and an advertising pixel that it pays for traffic. The dated additions matter more than the inventory, which partly reflects how long the site has existed.
- Site. Website Profile records which key pages a site links to, among them pricing, demo, free trial, contact sales and API docs. A site that has just added a pricing page and a contact sales page, which the page events of Technology Changes date, may have begun to sell to buyers it does not know. The website labels for sales motion, pricing model and growth stage appear in the dashboard and the data browser.
- Funding. Compare the amount offered with the amount sold and look at the date of first sale. A notice filed soon after the first sale, with little sold against a large amount offered, describes a round that is probably still open. A notice with most of the amount sold describes one that is nearly closed.
- Announcements. Company News records which leadership role changed and in which direction, as a role and never a person. A finance leader or a revenue leader appointed can mean a company is preparing to scale or to raise, and a chief executive departing is a different event.
Reading one result
Acme Robotics is an invented company, and the row below is illustrative.
| Measure | Acme Robotics |
|---|---|
open_now | 31 |
hiring_ratio | 2.1 |
tools_added | 4 |
last_notice | 40 days ago. The notice shows an amount offered of $12,000,000 and an amount sold of $7,500,000 |
announcements | 2 |
surging_topics | 3 |
points | 4 |
The screen says call, not invest. Before the call, open the postings behind the ratio in Job Postings and read their labels for job function and seniority, which show whether the team is growing in engineering or in sales. Check Website Profile for a pricing page and a demo request, which show how the company sells. Read the notice's details for the number of investors and the minimum investment, and remember that the amount sold at the date of a notice is a floor. The guide to following private capital raises explains the notice in full.
The evidence pack for a call
For each name on the list, assemble the same pack. It holds the open roles by function and seniority from Hiring Activity, and the tools, pages and markets added in the last 90 days from Technology Changes. It holds the notice, with its accession number so that you can open the filing itself, and the announcements with their links. The last item is the intent evidence. A pack of five items that you can check against their sources is what turns a score into a reason to call.
If the call becomes a diligence, the guide to commercial due diligence with public signals applies the same signals outside-in to a target and its competitors. The evidence pack is the starting file for it.
Keeping the list fresh
Run the screen every Monday, after the weekly datasets for the closed week are written. Names you have reviewed and passed on should not come back every week. Store a decision per company ID, suppress the name for a period you choose, and let it return only when a signal of a different kind appears. Without that rule the list fills with the same companies week after week, and the associate stops reading it.
How to read the list
- A signal is a lead. The screen ranks momentum that is visible in public records. Revenue, valuation, investors and round terms come from the company in the first call, which is what the list is there to earn.
- Several signals beat one. A name with a hiring ratio, new tools, a notice and announcements together is a stronger lead than a name with a single spike. The points total expresses exactly that.
- A notice is a floor. The amount sold at the date of a filing is what had been sold by then, and later filings can show more.
- Public posting is part of the picture. The screen reads companies that post roles on a public board and publish news, so a name with a long run of such signals has built an evidence file that a call can start from.
Log each run with its date and its list, and score the screen a quarter later against what happened to the names on it. A screen is a hypothesis about what precedes a good company, and the log is how you find out whether it holds.
Frequently asked questions
How do venture capital firms source companies from public data?
They turn public signals into a repeatable screen: hiring growth, tools added to a website, regulatory filings and announcements, scored per company and ranked. The output is a short list for a first call, with the evidence for each name. Each name arrives with its dated signals, so the associate can explain the ranking and open the first conversation on specifics.
Can job postings show which startups are growing?
They show where a company is committing spend: the number of open roles, how fast new ones appear, which functions and seniorities, and which countries. A posting records an intention to hire, so read growth in postings as evidence of intent. Set a minimum number of open postings so that a company with two roles does not outrank one with forty.
What does a private capital raise notice tell a venture investor?
It tells you that a US issuer has sold or is selling securities under an exemption, the amount offered, the amount sold so far, the date of first sale and the number of investors. The amount sold at filing is a floor, so a notice filed soon after a first sale describes a round that is probably still open.
How do I avoid chasing noise in a growth screen?
Require a minimum base before reading a ratio, use windows long enough to span a normal publishing cycle, and ask for more than one kind of signal before a name reaches the list. Read the postings and notices behind each score. Log every run, and compare the list with outcomes a quarter later.
Is intent data useful for startup sourcing?
As a ranking, yes. Fokals delivers evidence-backed intent scores: each company is scored from 0 to 100 by topic each week, from the dated signals of the trailing 90 days, and a surge is flagged when a score at least doubles against the company's own twelve-week average. Every score carries the signals behind it, so a name's ranking can be opened and checked.
The queries and code on this page are examples to adapt. Test them in your own environment before you rely on them.