Monthly Market Report

May 2026 Job Market

593

postings scored across 472 companies

Fit scores, skill demand, salary transparency, ghost job analysis.

54/100 Avg Fit Score
37% Salary Disclosed
57% Remote Listings
0% Ghost Signal Rate

Key Metrics

593

Jobs Analyzed

▼ 627 vs April

472

Companies Hiring

unique employers

54

Avg Fit Score

▲ 1pts vs April

37%

Salary Disclosed

▲ 1% vs April

57%

Remote Listings

of all postings

0%

Ghost Signal Rate

of postings


Executive Summary

The scoring engine processed 593 job postings in May 2026, running them against active candidate profiles to generate 593 fit scores. That's down from 1,220 the prior month. The average fit score was 54 — lower than you'd want, and a sign that this month's postings had specific requirements that most profiles didn't fully meet. The average moved up 1 points from last month's 53. 434 postings (73%) scored below 60, meaning the fit was too thin to compete without significant profile improvement.

On the demand side, Communication Skills, Bachelor's Degree, Data Analysis led across all scored postings. React and Healthcare Experience led the gap list — appearing in dozens of postings where candidates consistently fell short of the required depth. These aren't obscure skills. A 100% gap rate across 5 postings is a systemic problem, not an outlier. The L-level breakdown — which measures required skill depth from L1 (basic awareness) to L5 (architect-grade expertise) — reveals which skills are commoditized versus genuinely differentiating. Skills sitting at L3 or higher are where candidates get separated from the pack.

Salary was disclosed in 37% of listings, which is workable but limits precision on the compensation side. 57% of postings were listed as remote or remote-friendly. Ghost job signals were relatively low at 0%, suggesting above-average listing quality this month. The salary data, skill rankings, and company breakdown below pull from the same scored dataset — not survey data, not self-reported figures.


Fit Score Distribution

How scored postings spread across the 0–100 range. Scores below 60 represent thin fit; 75+ is where applications compete well.

0–39
10%
40–59
43373%
60–74
15726%
75–89
20%
90–100
00%

434

Below 60 (weak fit)

157

60–74 (partial fit)

2

75+ (strong fit)

Fit scores weight profile match at 70% and resume match at 30%. A score of 75+ means the candidate's skills, experience level, seniority, and logistics overlap enough to compete. See how fit scores work for the full methodology.


Top In-Demand Skills — May 2026

Ranked by how often each skill appeared in scored postings. L-level indicates the typical required depth: L1 is basic familiarity, L5 is architecture-level expertise. Skills above L3 signal roles where depth actually matters. Full skill profiles at /skills.

#SkillPostings
1Communication Skills130
2Bachelor's Degree85
3Data Analysis77
4SQL75
5Project Management59
6Account Management25
7Organizational Skills24
8Project Management Experience22
9Python21
10Problem-Solving20
11Microsoft Office Suite20
12Excel17
13Sales Experience16
14Communication16
15Analytical Skills16
16Business Acumen15
17Stakeholder Management15
18Relationship Building14
19Salesforce13
20Budget Management13

Depth levels (L1–L5) derived from how surrounding job description context describes required experience. See the L-level system explained. Browse all tracked skills at /skills.


Biggest Skill Gaps

Skills where candidates most frequently fell below the required proficiency level. A high gap rate means this skill appears often in postings — and most candidates who applied were underprepared. These are the skills most worth closing before your next job search cycle.

SkillGap RatePostings
React100% gap5
Healthcare Experience86% gap7
Master's Degree83% gap6
PMP Certification80% gap5
Sales Experience75% gap16
Industry Knowledge67% gap6
Salesforce62% gap13
Forecasting60% gap5
Java60% gap5
Financial Analysis57% gap7
Customer Success50% gap8
SaaS experience50% gap6
Machine Learning50% gap8
Data Science Experience40% gap5
CRM40% gap5

How to use this list: Skills with a gap rate above 50% and an L3+ requirement are the highest-leverage areas to improve. They appear frequently, they matter to employers, and most candidates applying don't have the depth required. Closing one of these gaps can move your fit score significantly across dozens of relevant postings. Run your scores to see which of these affect you specifically.


Salary Insights

Based on 220 postings that disclosed compensation out of 593 total (37% transparency rate). Midpoint is used where both min and max are listed.

$124K

Median Salary

$132K

Average Salary

$14K

Floor

$334K

Ceiling

Remote vs. On-Site Compensation

$126K

Average — Remote listings

$139K

Average — On-site listings

+$13K above remote avg

Salary by Role Category

Roles with at least 3 salary-disclosing postings

RoleMediann
Data Science / ML$214K7
Software Engineering$158K37
Marketing$144K41
Data Analysis$124K27
Sales$105K14
Other$106K59
Finance$133K4
Project Management$105K13

Top Hiring Companies — May 2026

Companies with the most active postings this month. Avg score reflects how well those postings matched the candidate profiles that viewed them. High ghost rates suggest the company posts frequently but may not actively fill those roles. Company profiles at /companies.

#CompanyListings
1Walmart
18
2Google
9
3Jobs via Dice
5
4Jobgether
5
5Aquent Talent
4
6Motion Recruitment
4
7Aquent
3

Ghost Job Analysis

Ghost jobs are postings that show low hiring intent — old posting dates, no salary disclosure, and generic descriptions that suggest the role isn't actively filling. ShouldApply scores each listing across multiple quality signals. Learn how ghost job detection works.

0%

of postings with ghost signals

0

postings with at least one ghost signal

593

postings with clean quality signals

Ghost signals are based on: posting age (45+ days), absence of salary data, and vague job description content. A listing can have one or more signals. The dashboard flags these automatically so you can deprioritize them. Full ghost job methodology.


Market Observations — May 2026

Patterns worth noting from this month's dataset. Not statistical projections — just what the numbers show.

Depth requirements are rising in specific areas

Communication Skills, Bachelor's Degree, Data Analysis averaged 4.9+ on the depth scale this month — meaning postings weren't looking for familiarity, they required working fluency. Skills at L5+ are where candidates get separated from the pile. Communication Skills skill profile →

By contrast, Sales Experience and Salesforce appeared frequently but at low depth (L2), which means they're table stakes — worth having, but not differentiating.

On-site roles carried a pay premium

Remote listings averaged $126K vs. $139K for on-site — a $13K gap. With 57% of postings flagged as remote, the supply of remote work remains strong.

Salary transparency is still below average

37% of postings included compensation data this month. The median was $124K, which holds in line with market expectations for the skills in demand. State-level salary transparency laws (Colorado, New York, Washington) push overall rates up, but the remaining 63% of listings still leave candidates negotiating blind.


How This Report Is Built

Data transparency matters. Here's exactly what goes into these numbers.

Data Sources

Job postings are pulled from five sources: JSearch, Remotive, Adzuna, Arbeitnow, and Wellfound. Each source is refreshed every 2–6 hours. Cross-source duplicates are removed using a SHA-256 content hash plus Jaccard title similarity (threshold: 0.8) within the same company.

Quality filters remove thin descriptions (under 100 words), postings from blocked domains, and non-English listings. What's left goes into the scoring pipeline.

Scoring Methodology

Each posting is scored against a candidate's profile using a five-dimension model: Skills Match, Experience Level, Seniority Alignment, Industry Fit, and Logistics (salary, remote, location). The overall score is 70% profile fit + 30% resume match.

Skill depth (L1–L5) is extracted from surrounding context in the job description — not just keyword presence. SHA-256 input hashing prevents re-scoring identical profile+JD combinations, keeping the dataset efficient.

Ghost Job Signals

A posting is flagged as having ghost signals if it was posted more than 45 days ago and includes no salary data. This is one component of a broader additive ghost probability model (capped at 95%) that also weighs applicant count, vague description quality, and reposting patterns. See ghost job methodology for the full model.

Report Freshness

Monthly reports are computed from all jobs created during the calendar month. This page is cached with a 7-day ISR window — data updates weekly as new postings are scored. Salary figures use the midpoint of disclosed min/max ranges where both values are present. Minimums of 3 data points are required before salary stats are shown.

Sample size: 593 postingsScored: 593Salary sample: 220Companies: 472Period: May 2026

Frequently Asked Questions

How is the fit score calculated?
The fit score is a 0–100 number. It weights profile fit at 70% and resume match at 30%. Profile fit covers five dimensions: Skills Match, Experience Level, Seniority Alignment, Industry Fit, and Logistics (salary, location, remote preference). Each job description is parsed by the scoring engine to extract specific requirements, which are then compared against the candidate's profile and resume text. The result is a single number with a breakdown showing exactly where points were lost.
What is a ghost job?
A ghost job is a listing that shows low hiring intent — typically because it's been posted for a long time without being filled, has vague requirements, or lacks salary data. Companies sometimes keep listings live to collect resumes passively, or forgot to close a filled role. ShouldApply scores ghost probability additively using multiple signals capped at 95%. You can learn more in the ghost job red flags guide.
How often is this report updated?
Monthly reports are cached with a 7-day ISR window, meaning the underlying data refreshes weekly. Job postings themselves are pulled from five sources every 2–6 hours. The monthly report always reflects all postings scored during that calendar month — it's not a snapshot of a single day.
What does L1–L5 skill depth mean?
The L-level system measures required expertise depth, not just keyword presence. L1 is basic awareness or familiarity. L2 is working knowledge. L3 is daily professional use. L4 is advanced usage with mentoring ability. L5 is architect-grade mastery. The scoring engine reads the surrounding context in job descriptions to assign depth — "familiar with React" maps differently than "lead React architecture decisions." See the skills index for depth data across hundreds of tracked skills.
Where does the salary data come from?
Salary figures come directly from job postings that disclose compensation. When a posting lists both a minimum and maximum, the midpoint is used. Only postings with a disclosed salary figure above $10,000/year are included. A minimum of 3 data points is required before any salary statistic is shown. The 37% transparency rate this month means 63% of postings gave no salary signal at all — those listings are excluded from salary analysis but still counted in all other stats.
What job sources does ShouldApply pull from?
Five sources: JSearch, Remotive, Adzuna, Arbeitnow, and Wellfound. Each has its own refresh cadence — JSearch refreshes every 6 hours, others every 3 hours. Cross-source duplicates are removed using a content hash and title similarity check. This means a job posted on both Indeed (via JSearch) and directly on Adzuna will only appear once in the dataset.
How do I see my own fit scores against these postings?
Create a free account at ShouldApply, upload your resume or fill out your skills profile, and the scoring engine will run your profile against available postings automatically. Free accounts get up to 3 scored jobs to start. Start scoring now →
How is this different from LinkedIn's job match percentage?
LinkedIn's match percentage is keyword-based — it checks if your profile words appear in the job description. ShouldApply's scoring model is multi-dimensional: it compares skill depth (L1–L5), experience level alignment, seniority match, industry context, and logistics simultaneously. It also outputs a specific gap analysis showing exactly what it would take to improve your score on any given posting. The goal isn't a match percentage — it's a decision engine that tells you whether applying is worth your time.

See how you stack up

Stop guessing. Score your fit against real postings.

Upload your resume, get scored against 593 postings from May, and see exactly where you match and where you don't.