Data
How to Tell an Active Sponsor From a Dormant Licence
A sponsor licence proves permission, not activity. Home Office sponsorship transparency data shows who actually assigns certificates, and joining it to the register is harder than it looks.
The single most common mistake made with UK sponsor data is treating the register as a list of employers who sponsor. It is a list of employers who may sponsor.
A licence is permission. It says the Home Office has assessed the organisation and allowed it to assign certificates of sponsorship. It says nothing at all about whether it ever has.
Why the distinction is expensive
Consider two organisations, both A rated, both licensed for the Skilled Worker route, both appearing on identical rows of the register:
- one assigned 180 certificates last year across four occupation codes;
- the other took a licence out in 2023, never used it, and renews it because letting it lapse would be awkward if they ever need it.
In the free register file, these two are indistinguishable. Every downstream use inherits that ambiguity:
- a job seeker applies to both and hears nothing from the second;
- a recruiter builds a target list where a meaningful share of the names have no sponsorship appetite at all;
- an analyst reports "X companies sponsor in this sector" when the real figure is much smaller.
Dormant licences are not rare edge cases. Organisations acquire licences speculatively, for a single hire that then falls through, or as contingency. The register keeps them all.
The data that answers it
The Home Office publishes sponsorship transparency data quarterly, and it is a genuinely different publication from the register. Where the register lists licences, this lists activity.
Each row carries roughly:
| Field | What it tells you |
|---|---|
| Employer name | The sponsoring organisation |
| Sponsor licence number | Its licence identifier |
| Visa route | Which route the certificates were assigned under |
| Occupation code and name | The SOC code the sponsorship sat under |
| Quarter and year | The period |
| Sponsorship count | How many certificates |
That last column is the one that matters. It converts "holds a licence" into "assigned this many certificates, for these roles, in this period".
It also lets you see the shape of an employer's sponsorship, not just the volume. An employer with 200 certificates all under one occupation code is a very different prospect from one with 200 spread across fifteen codes.
Three things that make the join hard
If the two publications shared a key, this would be a five-minute task. They do not.
1. Employer names do not match between sources
The register and the transparency data are produced from different systems and the same organisation is frequently written differently in each. Legal suffixes, ampersands, punctuation, casing and trading-versus-registered names all vary.
A naive string join loses a large share of matches silently, which is worse than losing them loudly, because the result looks complete. Reliable matching needs normalisation on both sides: stripping legal suffixes, standardising ampersands and punctuation, collapsing whitespace, and then matching on the normalised form rather than the raw string.
2. Small counts are suppressed
Low sponsorship counts are withheld in the published data to protect identifiability. A suppressed row is not zero. It means "some, but below the disclosure threshold".
Treating suppressed as zero systematically understates smaller sponsors, which are often exactly the ones a recruiter or job seeker most wants to find. Treating it as a large number overstates them. Either choice is a judgement that has to be made explicitly and applied consistently, and it should be recorded in the data rather than buried in a script.
3. Coverage is partial and periodic
Not every licensed sponsor appears in the transparency data for any given period, and absence carries two very different meanings: the employer assigned nothing, or the employer's rows were suppressed. Quarters are published on their own schedule, so the most recent register snapshot and the most recent activity data usually describe different points in time.
Any honest joined dataset therefore has to state which register version and which activity period it combines. A single "sponsorship score" with no dates attached is not something to build decisions on.
What good looks like
A usable activity signal has, at minimum:
- a stated period, so you know what the number describes;
- an explicit suppression state, so withheld and zero are distinguishable;
- occupation-level breakdown, since sponsorship in one code says little about another; and
- a normalised employer identity that survives the differences between the two sources.
Without those, "active sponsor" is an opinion rather than a measurement.
The honest caveat
Historic activity is a signal about the past. An employer that sponsored heavily last year may have paused, filled its roles, or been affected by the July 2025 skill-level changes that made a large number of occupations ineligible for new sponsorship.
It is a much better signal than licence status alone, which is the point. It is not a prediction, and anyone selling it as one is overreaching.
For job seekers we make the same point in our guide on checking whether a job is still eligible for sponsorship: register presence establishes only that the organisation held the recorded status when the register was published.
How we handle it
VisaAtlas Data joins the register to sponsorship transparency data with normalised employer matching, preserves the suppression state rather than flattening it to zero, and carries the register source date and CoS year on every version so you always know what period a figure describes.
See the dataset and what each field means →
Sources and verification
This article was checked on 26 August 2026 against:
- GOV.UK: sponsorship transparency data;
- GOV.UK: register of licensed sponsors, workers; and
- GOV.UK: certificates of sponsorship.
Published field names and suppression thresholds are set by the Home Office and have changed between releases. Confirm the current structure against the latest published quarter before relying on a specific column.