What Is Job Market Data? β Definition and How It Works
Learn what job market data reveals about hiring intent, which sources are usable, and the biases that distort posting counts.
Job market data is information derived from job postings and hiring activity: which roles organisations are recruiting for, where, with what requirements, and how that changes over time.
1. Why Postings Are a Useful Signal
A job posting is an organisation spending money on a stated intention. That makes it a forward-looking indicator in a way that most public data is not.
| What postings reveal | How |
|---|---|
| Strategic direction | Which functions are expanding |
| Technology choices | Named tools and platforms in requirements |
| Geographic expansion | New locations appearing |
| Team structure | Reporting lines and seniority mix |
| Growth rate | Posting volume over time |
| Compensation levels | Where salary ranges are disclosed |
| Product direction | Roles implying unannounced work |
The technology signal is particularly reliable: an organisation hiring for a specific platform is using or adopting it, which is harder to obscure than a public statement.
2. Where the Data Comes From
Company career pages β the authoritative source. A posting on the employer's own site is first-hand, current, and unduplicated.
Job boards β broad coverage across employers, with the caveat of duplication and staleness.
Public sector and regulated postings, which are published as a matter of course.
Government labour statistics, which provide the aggregate baseline that microdata lacks.
Structured data on posting pages β many career sites publish job posting markup, which gives typed fields directly and avoids parsing layout entirely.
That last point is the practical shortcut: where JobPosting structured data exists, extraction is a JSON read rather than a selector exercise.
3. The Biases That Distort Posting Counts
Treating posting volume as hiring volume is the characteristic error. The distortions:
- Duplicates. One role posted to a career page and several boards counts many times.
- Evergreen postings. Roles kept open continuously that are not active vacancies.
- Stale postings left up after being filled.
- Multi-hire postings. One posting for ten positions.
- Agency reposting of the same client role under different wording.
- Unposted hiring. Senior and confidential roles frequently never appear publicly.
- Posting-practice differences between organisations, which are not hiring differences.
Deduplication and recency filtering are therefore not refinements; without them the numbers mean very little.
4. Deduplication Approach
The identity of a posting is roughly title, employer, location, and first-seen date β with fuzzy matching, because titles are rewritten between boards.
def posting_key(p):
return (
normalize_employer(p["company"]),
normalize_title(p["title"]), # strip seniority noise, punctuation, order
normalize_location(p["location"]), # to city or metro
)
Normalising location to a metropolitan area rather than a literal string is what collapses "London", "London, UK", and "Greater London" into one β and its absence inflates counts substantially.
Preferring the employer's own career page as the canonical record, with board appearances as observations of it, gives the cleanest dataset.
5. What Requires Care
Personal data. Postings usually name a hiring contact, and that is personal data. Collect it only if needed, and set a retention period.
Salary data is inconsistently disclosed, varying by jurisdiction and by whether disclosure is mandatory. Absence is not evidence of a low salary; it is evidence of a different disclosure regime.
Titles are not comparable across organisations. Seniority labels mean different things, so title-based analysis needs normalisation to a role taxonomy.
Requirements are aspirational. A list of requirements describes a wish, not a threshold.
6. What the Analysis Supports
- Technology adoption tracking across an industry.
- Company growth signals, ahead of announcements.
- Skills-demand trends, which is the most robust output because it aggregates across employers.
- Compensation benchmarking, where disclosure is sufficient.
- Geographic hiring shifts, including remote-work patterns.
- Competitive intelligence on which functions a rival is building.
Skills-demand trends deserve the emphasis: aggregate patterns across many employers are far more reliable than inferences about any single one, because the biases above partly cancel in aggregate and dominate at the individual level.
7. Collection Practicalities
- Prefer career pages as canonical, with boards as supplementary.
- Read
JobPostingstructured data where present. - Record first-seen and last-seen dates, so duration is measurable.
- Check for removal, since a posting disappearing is itself information.
- Normalise employer names before aggregating, or subsidiaries fragment.
- Filter by recency so stale postings do not inflate current demand.
- Minimise personal data from contact fields.
8. Summary
Job market data derives hiring intent, technology adoption, geographic expansion, and skills demand from job postings β a signal that is forward-looking because a posting is money spent on a stated intention.
Posting counts are not hiring counts: duplicates, evergreen and stale listings, multi-hire postings, and unposted senior roles all distort them, so deduplicate on normalised employer, title, and metro area, prefer career pages as canonical, read JobPosting structured data where it exists, and trust aggregate skills trends more than any single company's numbers.