How the fit score works
Every criterion you set carries a weight, and the weights add up to 100 when all five are in use.
| Criterion | Weight | How it is matched |
|---|---|---|
| Job title | 30 | Every word of a target title must appear in the title on the row, so "Head of Growth" matches "Global Head of Growth" and not "Growth Marketing Manager". A short synonym table covers CEO, CTO, VP and founder. |
| Industry | 25 | Normalised through a small alias table (saas becomes software, fintech becomes financial services), then matched on containment in either direction. |
| Seniority | 15 | Read from a seniority column if your file has one. Otherwise derived from the job title, most senior first, and labelled as derived in the breakdown. |
| Company size | 15 | Parsed from whatever the column holds: a number, a band like 51-200, 1,000+, or 10k. A band resolves to its midpoint. |
| Country | 15 | Normalised through a country alias table that also reads location strings, so "London, United Kingdom" is the United Kingdom. A two-letter code is only trusted as the whole cell. |
Two numbers come out of that, and keeping them apart is the whole idea.
Fit is the weight you matched as a share of the weight that could be read from your file. A row with no industry column is not punished for it in the fit score.
Data coverage is how much of your ICP could be evaluated at all. It is the honesty check on the fit score: a row scoring 100 on one readable criterion out of five has a coverage of around 30 per cent, and should not be at the top of anyone's call list.
How a row gets classified
| Classification | Rule |
|---|---|
| Strong fit | Fit 80 or above, with at least 60% of your criteria readable from the file |
| Partial fit | Fit 50 or above, or a high fit read from too little of the row to trust |
| Outside ICP | Fit below 50 |
| Not enough data | Under 40% of your criteria could be read from the file |
Those thresholds are 80 for a strong fit, 50 for a partial one, 60 per cent coverage before a high fit is trusted, and 40 per cent below which a row is reported as not having enough data. They are fixed, documented and the same for everyone, so two people scoring the same list get the same answer.
Missing data is never treated as a match. A blank industry cell is unknown, and unknown lowers coverage instead of quietly passing. Nothing in this tool infers a company attribute that is not in your file.
What stays in your browser
All of it. The file is read with the browser's own FileReader, parsed and scored by JavaScript on this page, and held in memory until you press Reset or close the tab. There is no request to Signl, no third-party service, no enrichment lookup and no storage.
Analytics on this page record counts only: how many rows were loaded, how many landed in each band, how many criteria were set. No names, no emails, no company names, no file name and no cell contents. That is a property of the code rather than a policy promise, which is the only version of this claim worth making.
The export is generated in the same way. The scored CSV is built in the tab and handed to your browser's download, with your original columns and values preserved exactly as they were read, plus seven columns of scoring.
Limits of scoring a CSV
- It can only see what you uploaded. If your list has no industry column, industry cannot be scored, and the tool says so rather than guessing the company.
- Job title matching is strict on purpose. "Head of Growth" does not match "Growth Marketing Manager". Loose matching produces confident wrong answers, which is the worse failure here.
- Seniority is sometimes derived. Where your file has no seniority column, the level is read from the job title and labelled as derived in the breakdown so you can see which it was.
- It is a filter, not a qualification. A strong fit means the person looks like someone you sell to, not that they want to talk. Fit is who; intent is when, and a list cannot tell you that.
- Nothing here is enriched or verified. Signl has not touched your file, so the values are as accurate as the list you uploaded.
Fit tells you who, not when
A scored list answers which rows are worth a message. It cannot tell you which of them has the problem this month, because that information is not in a CSV; it is in what those people say in public.
That is the gap between a list and a signal, and it is covered in LinkedIn buying signals and in the wider guide to LinkedIn social listening. If you want to write the ICP this tool scores against into something that runs every day, define your ICP covers the fields Signl uses, which are the same five.