How we read the job market

What Reddit Job Market is, how the numbers are built, and what they can and cannot tell you.

Why we're doing this

Official labor statistics are careful and authoritative, but they move slowly and they rarely capture how a job search actually feels. People talk about layoffs, long searches, weak offers, and pay cuts in public forums long before those stories show up in a monthly report.

We built this page to read that conversation directly — not as a replacement for government data, but as a live, human-scale signal of worker pressure and worker leverage in the United States.

What this is

Reddit Job Market is a daily reading of US job-market conditions drawn from career conversations on Reddit. We collect posts from r/layoffs, r/jobs, and r/recruitinghell, classify them into structured signals, and turn those signals into charts and headline numbers.

The centerpiece is the Job Market Index: a single score from −100 to +100 that summarizes whether workers are under more pressure or have more leverage than usual. Around it sit supporting measures — layoff mentions, applications per offer, months unemployed, salary pressure, desperation, and bargaining power — plus breakdowns by occupation, industry, US state, country, and conversation topic.

Everything on the dashboard is computed from posts in the selected time window. When you change the range, you are looking at a different slice of the same pipeline, not a different methodology.

What this isn't

This is not an official unemployment rate, payroll survey, or job-openings statistic. We do not scrape company filings, count real layoff filings, or model the whole US or Global labor force.

It is not a random sample of workers. Reddit skews toward certain ages, industries, and geographies. People post when something went wrong, when they are venting, or when they finally got an offer — that selection matters.

It is not a forecast of GDP, stocks, or next month's jobs report. We describe what people are saying right now, smoothed and normalized so you can compare today with the recent past.

We never show post text on this site. Comments are not included. You are seeing aggregated patterns, not individual stories.

Where the data comes from

We ingest public posts from three subreddits. r/layoffs captures layoff announcements and unemployment stories. r/jobs and r/recruitinghell capture job-search friction, hiring weirdness, pay talk, and recruiting complaints. The latter two are keyword-filtered at ingest so we keep posts that look job-related rather than every thread on those boards.

Posts are stored with title and body for classification, then discarded from the public product. The page only ever shows counts, shares, medians, and index values — never usernames or quotes.

The pipeline runs on a schedule through the day. Aggregates refresh as new posts are classified, and the dashboard is cached briefly so numbers stay fast to load.

How posts become signals

Most posts are not about someone's job market experience. A cheap candidate filter removes obvious noise before anything expensive runs.

What remains is classified with a structured taxonomy: layoffs, long unemployment, application counts, offers received, pay cuts or raises, distressed searching, signs of bargaining power, occupation, industry, US state and country when mentioned, and a conversation topic. Each classification carries a confidence score; low-confidence reads are dropped.

From those labels we compute daily counts and rates per subreddit. A post can contribute to more than one signal when it mentions several things, but the index only uses posts classified as relevant to worker pressure versus leverage.

How the Job Market Index is calculated

Each day, for each subreddit, we score the balance of negative worker-pressure signals against positive worker-leverage signals among relevant posts. That raw daily score is noisy, so we smooth it with a seven-day moving average.

Raw post volume on Reddit swings with the platform, news cycles, and moderation — so we do not compare today's count to yesterday's count directly. Instead, each subreddit's smoothed score is compared to its own trailing year of history. Zero on the index means "about normal for this community over the past year." Negative readings mean workers are under more pressure than that baseline; positive readings mean they have more leverage.

The comparison uses each subreddit's historical mean and spread, then maps the result onto a −100…+100 scale so extreme days do not blow out the chart. The three subreddit scores are combined with equal weight when each has enough relevant posts in the past seven days. If a subreddit is too quiet, it is left out rather than guessed.

On the layoffs page, the same machinery runs on r/layoffs only. Other headline signals are hidden there because they need the broader mix of subreddits to be meaningful.

The other numbers on the page

Layoffs: the share of job-market posts that mention being laid off or a company cutting jobs.

Job search difficulty: the typical number of applications people report sending per offer they received, when both numbers are present.

Time unemployed: the typical months out of work when people say how long they have been searching.

Salary pressure: pay cuts, weaker offers, or raises — shown as a typical pay change when enough people report a figure, otherwise as the balance of cuts versus raises.

Job search desperation: the share of posts that read like a distressed, high-effort search.

Worker leverage: the balance between signs of bargaining power (stronger offers, easier moves, inbound recruiting) and the opposite.

Occupation, industry, US state, and country cards show shares of worker-pressure conversation, not absolute counts. Shares are among posts that named a job, industry, US state, or country; they add to 100% within each list. A rise in one occupation's share means it took a bigger slice of the conversation, not necessarily that the whole market worsened. The United States is included in the country list and often dominates because these communities are US-heavy.

Topic cards group posts into six themes — layoffs, job-search struggles, hiring freezes, salary and offers, career changes, and other job talk — and show each topic's share versus the prior period.

When we show a number — and when we don't

Every metric has a minimum sample size. The index needs enough relevant posts in a seven-day window; layoff and rate-style signals need their own floors; maps and breakdowns need even more named locations or tags before we draw them.

When the sample is too small, we hide the figure or say "not enough data" instead of publishing a fragile estimate. Coverage can look fine on the headline index while a secondary metric is still too thin — that is intentional.

When the index moved clearly, the headline is Weakening or Strengthening versus the immediately previous period of the same length. When it barely moved, the headline describes current conditions instead: Pressured, Neutral, or Favorable.

How to read it responsibly

Treat this as a thermometer for sentiment and stress in a specific corner of the internet, not a headcount of everyone who lost a job this month.

Use it alongside official releases and your own context. A spike in layoff talk can reflect a real wave, a viral thread, or a subreddit growing faster — the index is built to dampen one-day spikes, but it cannot remove selection bias.

Comparisons over time are more reliable than comparing Reddit to the real population. The baselines and smoothing are there so you can ask: is this community more stressed than it usually is?

Updates

Numbers are updated daily as new posts are ingested and classified. The footer on the dashboard shows the latest data date and when the next refresh is expected.

The methodology described here matches the current production index and classification rules. If we change how signals are defined or combined, we will update this page and the versioned aggregates together so historical charts stay interpretable.

Made byYannnis