# The Role Fillability Read: Hire as Written, Relax One Constraint, or Rethink

*You can take a role brief plus public labor signals and hand back a defensible fillability verdict with a demand-to-supply ratio and a time-to-fill band.*

- Canonical URL: https://www.refolk.ai/guides/role-fillability-read
- Pillar: Market and talent intelligence
- Format: Framework
- Published: 2026-10-02
- Last reviewed: 2026-10-02
- Reading time: 15 min
- Keywords: is this role hard to fill, talent supply demand ratio for a role, how to assess hiring feasibility before opening a req, labor market tightness by role, fillability analysis talent market, which requirement to relax to fill a role

## Key takeaways

- Build the ratio from a discounted pool, not a raw profile count: Total Potential Pool x Qualification Rate x Accessibility Rate x Compensation Fit gives the number the ratio should use.
- Geography is usually the highest-leverage single constraint - fully remote postings attract about 2.6 times the applications of in-person roles, a larger step than lifting pay one percentile.
- The same brief can be fillable in one country and not another at roughly a 5x gap: Refolk's index shows 963 US versus 182 Germany Rust engineers.
- Seniority banding is often the binding limit before skill is - only 40% of the US Rust pool (385 of 963) sits at Senior, so a Senior-only brief silently discards about 60% of supply.
- The default prior has flipped: national openings-per-seeker fell from a 2.0 peak in March 2022 to 0.9 in November 2025, so assume slack unless you prove tight.
- A zero-match brief usually signals over-specification, not scarcity - 63% of candidates skip a job because they feel they miss the listed requirements.

Before a requisition opens, leadership wants one thing from research: can we actually hire this person, as written, from the outside market? This guide is for strategy, research, and talent-intelligence analysts who are handed a role brief and expected to return a defensible answer, not an adjective. It gives you a scoring method that turns the economists' tightness ratio and published time-to-fill benchmarks into a one-page read: fillable as written, fillable only if one named constraint moves, or not fillable as scoped.

The reason this read is worth standardising is that the public answers stop early. They tell you demand outstrips supply, then sell a dashboard. None of them score one specific brief and name the single constraint - geography, must-have stack, seniority band, or comp percentile - that unlocks the pool. That is the job here.

## What the fillability read actually decides

The read produces one of three verdicts for one specific brief: fillable as written, fillable only if one named constraint moves, or not fillable as scoped. Each verdict carries a demand-to-supply ratio and an expected time-to-fill band, so leadership plans against numbers instead of hope.

The core instrument is a role-level analogue of the national labor-market tightness ratio. The economy-wide benchmark is the JOLTS job-openings-to-unemployed ratio, which divides total job openings by the total number of unemployed persons to give the number of openings for every unemployed person. At the role level, the practitioner version is Talent Market Pressure = Relevant Job Demand / Addressable Talent Supply. It is a comparison tool, not a verdict on its own.

One thing changed the baseline you should carry into every read. The national ratio peaked at 2.0 openings per unemployed person in March 2022, matched its 2019 average of 1.2, then inverted: it slipped to 0.9 in November 2025, the lowest since March 2021, meaning more unemployed job seekers than open roles.

**0.9 - National job openings per unemployed person, November 2025**

Down from a 2.0 peak in March 2022, so the default prior has flipped from tight to slack.

The practical consequence is that your starting assumption should now be "slack unless proven tight," the reverse of three years ago. A brief that would have read as unfillable in 2022 may be routine today, and the burden of proof sits on the person claiming the market is tight.

## The two inputs and what each one hides

The read needs exactly two measured inputs - demand and supply - and each comes from sources with documented blind spots you must correct for before dividing. Demand is active matching openings; supply is the realistic addressable pool, not a raw profile count.

On the demand side, vacancy counts come from JOLTS and from job-posting aggregates. JOLTS surveys approximately 21,000 business establishments across all 50 states monthly, which gives it national weight but no role-level granularity. Posting aggregates give you the granularity but carry bias: coverage is limited to jobs posted on online platforms, which over-represents higher-skilled occupations and industries - exactly the roles this read usually targets. Worse for attribution, 30 to 40% of employer names are missing because staffing firms do not disclose the clients they post for, and only about 11% of US vacancies carried advertised salaries in 2022.

On the supply side, self-reported profile databases are incomplete, duplicated, outdated, or inferred. A raw count flatters you twice: it treats every matching profile as both qualified and reachable, and it ignores whether those people would accept your pay. Correcting that is the single most important discipline in the whole method.

> **Rule:** Discount supply before you divide
>
> Never build the ratio from a raw profile count. Apply Total Potential Pool x Qualification Rate x Accessibility Rate x Compensation Fit first, so the denominator is the pool a recruiter could actually reach and convert.

A retained-search convention makes the scale of the discount concrete: of 60 people fitting a C-level role, if one-third sit in the salary-and-experience "Goldilocks Zone," only 20 represent the realistic pool, and a further rule of thumb holds that roughly 1% of a qualified pool reaches offer and accept. The lesson travels down the org chart. A collection of 50,000 outdated resumes is less useful than 2,000 recently active, tagged profiles.

## Reading supply by market and band

Supply is not a single number for a role; it splits by geography and by seniority, and those splits often decide the verdict before stack or comp ever come up. Two briefs with the same title can differ five-fold across countries and roughly two-to-one across seniority bands.

The numbers below come from Refolk's index of professional profiles, using a fixed title set (Software Engineer plus Senior Software Engineer) so the comparison is clean.

**Table A - Rust engineer supply by market and band (Refolk's index)**

| Segment | Addressable count | Derived ratio |
|---|---|---|
| US, Rust SWE (all levels) | 963 | baseline |
| Germany, Rust SWE (all levels) | 182 | 5.3x smaller than US |
| US, Rust SWE, Senior band | 385 | 40% of US pool is Senior |
| US, Golang SWE (all levels) | 2,430 | 2.5x the US Rust pool |

Read this table as a set of moves, not just facts. The 963-versus-182 gap means the same Rust brief can be fillable in the US and effectively not fillable in Germany, and the constraint to move is geography, not the stack. The 385 Senior figure means a Senior-only brief silently discards about 60% of the US Rust pool before any other filter touches it. And the Golang column shows how much a stack choice moves supply: 2,430 Golang engineers against 963 Rust is 2.5x, so if the work can be done in either language, the stack must-have is itself a relaxable constraint.

**385 - US Rust engineers at the Senior band, out of 963 total**

A Senior-only brief discards roughly 60% of the US Rust pool before stack, geography, or comp.

> A zero-match brief is usually a defect in the brief, not evidence that the talent does not exist.
> </pull>
>
> ## Turning supply gaps into the one constraint to move
>
> Once you have the discounted pool, the read's real output is which single constraint, if moved, gives the largest pool gain. There are four candidates - geography and modality, a must-have in the stack, the seniority band, and the comp percentile - and you test each by re-running the count with just that one lever changed.

figure
kind: matrix
title: Constraint-move decision after the ratio
caption: Where a brief lands on tightness and brief quality tells you whether to move a constraint or rewrite the ask.
x: Loose ratio (slack) :: Tight ratio (scarce)
y: Clean brief :: Over-specified brief
quadrant: Clean and slack :: Fillable as written; open the req.
quadrant: Clean and tight :: Move the highest-leverage constraint, usually geography.
quadrant: Over-specified and slack :: Rewrite the brief first; scarcity is self-inflicted.
quadrant: Over-specified and tight :: Not fillable as scoped; rethink role and requirements.
```

The magnitudes you compare against are published. Geography and modality is the biggest single lever: fully remote postings attract on average 2.6 times as many applications as in-person jobs, and an independent 2023 report found two to three times more applicants per role for remote work. Requirements framing matters at the margin: posts that mentioned "responsibilities" but not "requirements" received 14% more applications per view. And compensation removes the top decline driver: Robert Half found compensation is the most common reason for an offer decline at 17.3%.

**Table C - Pool expansion per relaxed constraint**

| Constraint relaxed | Measured effect | Source |
|---|---|---|
| Onsite to remote | ~2.6x applications | Vena/BCG |
| Onsite to remote (alt) | 2 to 3x applicants | Greenhouse 2023 |
| Drop "requirements" framing | +14% applications per view | LinkedIn |
| Lift comp to >= P50 | removes the 17.3% top decline driver | Robert Half 2024 |

Treat these as directional magnitudes, not interchangeable units. Geography multiplies raw volume; comp lifts acceptance; wording lifts top-of-funnel. The ranking you hand back should combine each lever's effect with how much it costs your organisation to grant. Lifting comp to the median is a defensible default, since the WorldatWork survey found 52% of organisations target the 50th percentile and only 5% intentionally pay below it, so a sub-P50 brief is already an outlier you can flag on sight.

I ran this search: `Senior Rust backend engineers in Germany open to relocation or remote, who have shipped production systems with Tokio` - [see the full result list](https://www.refolk.ai/s/gxxpge0gad).

*Returns the realistic Germany-based Senior pool so you can confirm whether geography or modality is the binding constraint before opening the req.*

The reason to name a specific pool query here is that the constraint test is only as good as the re-run. Running four clean pool counts by hand across sources is where most analysts lose a day; asking for each variant in plain English and comparing the counts is where [Refolk](/) removes the friction this section just described.

## Assigning the time-to-fill band

The ratio tells leadership whether the role is fillable; the time-to-fill band tells them how long to budget. Map the role family to a published benchmark and quote the vintage, because the headline figures come from different years and quoting the wrong one mis-sets the plan.

**Table B - Time-to-fill bands by role family**

| Role family | Days | Source |
|---|---|---|
| All industries | 44 | SHRM |
| Non-executive (2026) | 39 | SHRM 2026 |
| Technical / engineering | 50 to 62 | LinkedIn |
| Executive / C-suite | 90 to 120+ | candidately / nextrise |
| CEO | 149 | nextrise |

The vintage trap is real: SHRM reported average time to fill falling from 48 days in 2023 to 41 days in 2024, and its 2026 benchmarking puts the median at 39 days for non-executive and 45 days for executive roles. For retained searches, expect 90 to 120 days to offer, and executive searches can stretch past that. Always state which year's figure you used, so the band is auditable.

One correction before you quote a band: if your verdict relies on moving a constraint, the band should assume the moved brief, not the original. A technical role that is only fillable remote should carry the technical band plus the note that it applies to the remote version, because the onsite version has no band at all - it does not fill.

## The procedure

This is the eight-step read, start to finish, in the order a postings-led analyst runs it. Retained-search practitioners reorder it, putting the compensation and Goldilocks-Zone discount first because they price risk on it; postings-led analysts lead with demand. Either order reaches the same verdict, so pick the one that matches your data access.

#### Score one brief, end to end

1. **Lock the brief** - Extract title, must-have stack, seniority band, geography and radius, modality, and comp band into a one-line machine-queryable definition. Use a 40 mile radius for a broad market, adjusting for remote. Done when the brief can be queried verbatim.
2. **Count raw supply** - Query a profile index for the exact brief in the target geography. The count should reflect real, sourceable profiles, not estimates. Done when you have one raw number with source and date.
3. **Discount to realistic pool** - Apply Total Potential Pool x Qualification Rate x Accessibility Rate x Compensation Fit. Done when you have an addressable number a recruiter could actually reach, not a raw count.
4. **Count demand** - Pull active matching openings from a deduplicated postings aggregate for the same geography. Deduplication removes about 80% of collected postings, so un-deduped counts overstate demand. Done when you have an openings count with its date.
5. **Compute the ratio** - Calculate Talent Market Pressure = Relevant Job Demand / Addressable Talent Supply and cross-check against the JOLTS baseline where 1.0 is the tight/slack line. Done when you have one ratio and a tight-or-slack call.
6. **Assign a time-to-fill band** - Map the role family to a published benchmark - non-exec ~39 to 44 days, technical 50 to 62, exec 90+ - and cite the year. Done when you have a date band leadership can plan against.
7. **Test each relaxable constraint** - Re-run the pool count with geography widened, one must-have dropped, seniority widened, or comp lifted to P50. Rank by pool gain. Done when the single highest-leverage constraint is named with a number.
8. **Write the verdict** - Record fillable as written, fillable if one named constraint moves, or not fillable as scoped, with the ratio and the band. Done when it fits on one page handed back before the req opens.

#### From raw profiles to the realistic pool

| Stage | Figure | Note |
| --- | --- | --- |
| Qualified people fitting the role | 60 | C-level example from retained search |
| In the salary and experience Goldilocks Zone | 20 | one-third of the fitting set |
| Reach offer and accept | ~1 | roughly 1% of the qualified pool |

*The discount between a raw index count and an addressable pool is where a fillable-looking brief turns unfillable.*

## How this read goes wrong

The failure modes below are the most valuable part of the standard, because each one produces a confident verdict that is wrong. Learn the false positive and the local check for each before you trust your own output.

**Profile count mistaken for market size.** A brief looks fillable because 2,430 Golang profiles exist, but most may be non-mobile or mis-skilled. Search tools encourage treating profile counts as market size; they are not the same thing. Check: apply the qualification, accessibility, and comp-fit discount before you divide.

**Double-counting across sources.** Postings aggregates inflate demand because deduplication removes about 80% of collected postings, so an un-deduped count overstates openings and makes the market look tighter than it is. Check: use a deduplicated source and record the date.

**Comp gap hidden by missing salary data.** The market looks affordable because few postings show pay, but only about 11% of US vacancies carried salaries in 2022, so cheap-looking demand is often just undisclosed demand. Check: benchmark compensation against a survey, not scraped postings.

**AND-chained must-haves collapse the pool silently.** Zero matches read as "no talent" when the real cause is over-specification - redundant AND-linked skills like Angular AND React AND Node AND JavaScript sharply limit qualified candidates, and 63% of candidates skip a job because they feel they miss the listed requirements. Check: re-run with OR logic and with each must-have dropped.

**Staffing-agency noise in employer demand.** One competitor looks dominant in the postings, but 30 to 40% of employer names are missing because staffing firms do not disclose the client. Check: treat concentrated demand as provisional until you can attribute the postings.

**Benchmark vintage mismatch.** The 44-day and 39-day figures are from different years, and quoting the wrong one mis-sets the band. Check: cite the year every time; SHRM's 2026 figure is 39 days, down from 44 the prior year.

**Remote multiplier overread.** Remote lifts volume, not necessarily qualified supply - higher volume does not translate to higher quality, and roles requiring highly specific skills remain open longer regardless of modality. Check: discount remote gains by the qualification rate before claiming remote "unlocks" the role.

> **Watch out:** Volume is not supply
>
> A 2.6x jump in applications from going remote is a top-of-funnel effect. If the role needs a rare stack, discount that lift by the qualification rate before you let it change the verdict, or you will promise a fill that does not come.

## The one-page verdict and keeping it current

The deliverable is one page, written so a non-specialist can act on it without a meeting. State the verdict, the ratio, the band, and the one constraint to move if there is one. The template below is the skeleton; fill every field or the reader will fill the gap with an assumption.

**Fillability verdict, one page**

```
ROLE: [title, seniority band, geography/radius, modality, comp percentile]
VERDICT: [fillable as written | fillable if one constraint moves | not fillable as scoped]
RATIO: demand [N openings] / addressable supply [N] = [ratio] -> [tight | slack vs 1.0 baseline]
TIME-TO-FILL BAND: [X-Y days], source [benchmark + year]
CONSTRAINT TO MOVE: [geography | must-have | seniority | comp] -> pool goes [N] to [N]
DISCOUNT APPLIED: qualification [%] x accessibility [%] x comp-fit [%]
SOURCE DATE: [date of supply count and demand count]
```

*Replace the bracketed values with your own; keep every field, including the source date.*

Before you hand it over, run the checklist. It separates a defensible read from a plausible one.

#### Before you call the read done

- [ ] The denominator is a discounted addressable pool, not a raw profile count.
- [ ] The demand count came from a deduplicated source with its date recorded.
- [ ] The ratio is stated against the 1.0 JOLTS baseline with a tight-or-slack call.
- [ ] The time-to-fill band cites its benchmark year.
- [ ] All four constraints were re-run and the highest-leverage one is named with a number.
- [ ] Any remote-driven pool gain was discounted by the qualification rate.
- [ ] Compensation was benchmarked against a survey, not scraped postings.
- [ ] The verdict fits on one page and every template field is filled.

Keep the read current by re-checking the mechanism, not the number. The national baseline moves: it was 2.0 in March 2022 and 0.9 in November 2025, so pull the current JOLTS openings-per-seeker figure before each major read rather than trusting a cached prior. Time-to-fill benchmarks revise yearly, so confirm the vintage each time you quote a band. And supply counts drift as profiles go stale, so re-run the pool query close to when the req opens rather than reusing a count from a quarter ago. The method is stable; the inputs are not, and an analyst who re-checks the inputs is the one whose verdicts hold up when the req actually opens.

## Frequently asked questions

### What is a good talent supply demand ratio for a single role?

No public source sets a single numeric cutoff for tight at the role level, so the defensible anchor is the national JOLTS convention: more than 1.0 openings per seeker is tight, below 1.0 is slack. Nationally the ratio peaked at 2.0 in March 2022, matched its 2019 average of 1.2, and fell to 0.9 by November 2025. Treat your role ratio as a comparison tool against that baseline rather than an absolute threshold.

### How do I count a realistic talent pool instead of a raw profile count?

Multiply the total potential pool by a qualification rate, an accessibility rate, and a compensation fit. A raw index count treats every matching profile as reachable and convertible, which it is not. A retained-search rule of thumb holds that roughly 1% of a qualified pool reaches offer and accept, so a collection of 50,000 outdated resumes is less useful than 2,000 recently active, tagged profiles.

### Which requirement should I relax first to fill a hard role?

Test all four before deciding, but geography is usually the highest-leverage single constraint. Fully remote postings attract about 2.6 times the applications of in-person roles, a larger step than lifting pay one percentile. Seniority is the next most common silent limit, since a Senior-only brief can discard most of the pool. Re-run the count with each constraint moved and rank by pool gain.

### Why does a role show zero matches when I believe talent exists?

Usually the brief is over-specified, not the market empty. AND-chained must-haves like Angular AND React AND Node AND JavaScript sharply limit the qualified set, and 63% of candidates skip a job because they feel they miss the listed requirements. Re-run with OR logic and with each must-have dropped before concluding there is no talent. A zero-match verdict is frequently a brief defect.

### Can I build the ratio from scraped job postings alone?

Not safely. Postings aggregates over-represent higher-skilled occupations, which are exactly the roles this read targets, so a posting-only ratio overstates tightness. Only about 11% of US vacancies carried advertised salaries in 2022, so pay looks affordable when it is simply undisclosed. Deduplicate the postings, note the vintage, and benchmark compensation against a survey rather than scraped pay fields.

---

*From the Refolk guide library. I revise these guides rather than replacing them, so the current version is always at https://www.refolk.ai/guides/role-fillability-read*
