The Hiring Index
Part of The Respect Index familytherespectindex.com · theseparationindex.com

How Scoring Works

A full account of our data sources, scoring methodology, and bias corrections.

Where we are right now: The Hiring Index is early. Most companies on the platform don't yet have the minimum five email-confirmed reports needed to show a public score, and the ones that do are often near that minimum — which is exactly the range where the statistical adjustments below are doing the most work, and where you should weight a label like "Early data" heavily when deciding how much to trust a number. We'd rather show you an honest "not enough data yet" than a confident-looking score built on too little. That gets less true every day as more reports come in, but it's true today, and we're not going to dress it up.

Our data sources

Every score on The Hiring Index is derived from three categories of input. The primary source is confirmed candidate reports — structured submissions from job seekers describing their experience with a specific company's hiring process. Confirmation is done by email; email-confirmed reports carry five times the weight of unverified ones. The second source is public job posting data pulled from applicant tracking system APIs (Greenhouse, Lever, Ashby, Workday, and others), which feeds ghost posting detection and repost tracking. The third source is state WARN Act layoff filings — 35 states total. 31 states refresh automatically (4 daily, direct from each state's labor agency; 27 weekly, via the Big Local News warn-scraper project, Stanford Computational Journalism Lab, Apache 2.0 license). Texas, New York, Massachusetts, and Colorado remain a one-time historical import, last manually refreshed July 2026, so recent filings there may be missing. Other unlisted states have no WARN data yet — their agencies don't publish filings in a format we can reliably retrieve. Some filing details (like notice period or worker count) may be unavailable for individual filings even in covered states. All WARN filings carry full U.S. Department of Labor attribution and are informational only; they don't feed into hiring scores.

This is not a black box

Every number on this site comes from a formula we publish in full on this page — the actual thresholds, the actual weights, the actual math, not a marketing summary of it. If a company shows a "B" grade, you can read below exactly what earns a B — an absolute score range or a percentile range, depending on how many companies are graded right now — and exactly what went into that number. If a score looks wrong to you, that's a reason to read this page and tell us what you find, not a reason to assume something is being hidden. The one thing we won't publish is any individual candidate's raw answers — those stay aggregated to protect anonymity — but the rules for turning many answers into one score are not a secret.

What counts as a "verified" report

A report is "verified" (we also call this "email-confirmed") when the person who submitted it clicks a one-time confirmation link sent to the email address they provided. That's the entire bar — we don't require a corporate email domain, a LinkedIn match, or proof of employment, because most candidates reporting a bad hiring experience no longer have access to that company's systems and shouldn't be required to prove anything to the company they're reporting on. What email confirmation does prove is that a real, reachable person submitted the report, which is enough to filter out a large share of spam and duplicate submissions. A confirmed report counts five times as much as an unconfirmed one when we calculate a score (see "credibility weight" below) — it doesn't replace unconfirmed reports, it just counts for more. Your email itself is never stored on the report — it exists only long enough to send the confirmation link, then it's discarded.

What the Ghost Score measures

The Ghost Score is the percentage of a company's weighted reports where the candidate was ghosted — no response, no rejection, just silence, or the posting itself vanished without any resolution. A Ghost Score of 20 means roughly a fifth of reported applications to that company ended in silence; a score of 70 means most of them did. We show three plain-language bands instead of asking you to interpret a raw percentage: below 35 is "Low Risk," 35 up to 60 is "Moderate," and above 60 is "High Risk." These exact cutoffs are hard-coded and applied identically to every company — there's no curve, no company-specific adjustment, no exception.

Ghost detection and URL verification

A posting is classified as "likely ghost" when it satisfies two conditions: it has been continuously active on a company's applicant tracking system for 90 or more days, and no confirmed hire has been recorded in our candidate report database for that specific role. The 90-day threshold is derived from ATS platform data showing that the median role that results in a hire closes in under 60 days; by 90 days, the probability of an active hire drops below 10%. Detection runs nightly. Each posting URL is polled for HTTP status — a 200 means the listing remains live; a 301, 404, or application closure message triggers a removal from the ghost list. ATS platforms integrated for direct status polling include Greenhouse, Lever, Ashby, Workday, iCIMS, Taleo, BambooHR, SmartRecruiters, Jobvite, and Breezy. Repost patterns — the same role taken down and relisted, detected via title + department + company fingerprint matching — receive an additional ghost-risk signal. Roles on federal government job boards, military postings, and high-turnover daily-refresh boards (fast food, warehouse, retail) are excluded from ghost classification because their reposting behavior is structurally different. Ghost status is shown as a disclaimer on company profile pages when a company has two or more confirmed reposts.

How we determine ghost posting status

A single staleness threshold is not enough to defensibly call a posting a "ghost job," so we require two independent signals to agree before the strongest public label is shown. Signal one is staleness: the posting has been reposted three or more times, or has been continuously active for 90 or more days. Signal two is outcome data: no confirmed offer or hire (from our email-confirmed candidate reports) exists for that specific posting or the company that listed it. Only when both signals are present does a posting show publicly as "Likely Ghost." If only the staleness signal is present — for instance, a long-running listing where we also have a recent confirmed hire on record — the public label is downgraded to "Suspect" rather than the strongest designation. A separate, independent process verifies the posting URL itself on a loop: an initial HEAD request, then a full GET with soft-404 text detection (phrases like "position has been filled" or "no longer accepting applications"), then redirect resolution, then one retry on a transient failure before giving up for that run. Every flagged posting displays a "last verified" timestamp showing exactly when this check last ran. If a URL check has been inconclusive — meaning we could not get a clear live/dead read after a retry — for more than 14 consecutive days, the public label downgrades further, to "Verification Pending," rather than continuing to show whatever status was last confirmed, however old. Companies can dispute a specific ghost-posting flag directly (separate from our general report-dispute process), which triggers an immediate re-verification of that posting's URL and a full re-run of ghost detection rather than waiting for the next nightly cycle. A posting is also excluded from a ghost label entirely — regardless of how strong the staleness or repost signal is — if we cannot independently verify or attribute it: a missing company link, a missing original posting URL, or an implausible active duration (for example, a multi-year figure that almost certainly reflects a borrowed source timestamp rather than a real observation period) routes the record to manual review instead of a public label. Ghost posting data can be filtered by state at /ghost-postings and /ghost-hall-of-fame, which is useful for comparing enforcement or coverage as ghost-job disclosure laws move through individual state legislatures (New York's S8877 and similar bills in New Jersey, California, Pennsylvania, and Kentucky).

Ghost posting detection currently covers US-based listings

Ghost posting detection currently covers US-based job listings, where our candidate report density and legal context apply. Our platform, the WARN Act, and state ghost-job disclosure laws are all US-specific, so a posting outside the US can't be backed by the same evidentiary basis — we don't have comparable candidate report volume or legal grounding to support a ghost claim there. Non-US postings are excluded from ghost classification entirely and always show as "Normal" regardless of staleness or repost signals, the same way unverifiable records are excluded. /ghost-postings and /ghost-hall-of-fame surface US listings only as a result.

Evergreen and continuously-open roles

Some companies run genuine, continuous rolling requisitions — high-turnover retail and warehouse positions, or pipeline roles kept open across many locations at once. This is a different pattern from a single deceptive posting and isn't treated the same way. A posting that would otherwise be flagged "Likely Ghost" or "Suspect" is instead labeled "Continuously Hiring" when any of the following hold: the title contains language like "all levels," "multiple positions," "rolling basis," or "ongoing/continuous hiring"; the same title is open at three or more distinct company locations at once, indicating real geographic expansion rather than one role being reposted; or two or more postings under that title at that company show a real, non-silent outcome (an offer or a rejection with feedback), evidence of a functioning pipeline rather than a black hole. "Continuously Hiring" is a neutral, informative label — it is neither a clean bill of health nor an accusation.

The four sub-scores

The Process Score is a weighted composite of four dimensions, each calculated from specific report questions. Communication (30%) measures how proactively the company kept candidates informed between stages and whether it responded to direct follow-up. Transparency (25%) measures whether the company gave accurate timeline estimates, whether the role matched its description, and whether rejection decisions were communicated with specificity. Efficiency (25%) captures the number of interview rounds and hours of unpaid work required — structured tests, case studies, or take-home assignments. Respect (20%) is drawn from a direct 1–5 rating of the overall candidate experience and, where applicable, whether a compensation offer matched the stated range.

How a Process Score becomes a letter grade

How the letter grade is derived depends on how many companies currently have a public grade at all. Percentile rank against a handful of peers isn't a meaningful comparison — with only one or two other graded companies, an excellent raw score can rank at the bottom simply because there's no one worse to rank above. So below a floor of 20 graded companies, grades are based on the absolute 0–100 Process Score directly: 90–100 is an A ("Excellent"), 80–89 is a B ("Good"), 70–79 is a C ("Average"), 60–69 is a D ("Below Average"), and below 60 is an F ("Poor"). The score card tells you which basis it's using — "Based on an absolute 0–100 scale" versus a percentile figure — so it's never ambiguous. Once 20 or more companies are graded, grading switches to percentile rank against every other tracked company (see "statistical adjustments" below for how that percentile is actually calculated): 80th percentile or higher is an A, 60th to 79th a B, 40th to 59th a C, 20th to 39th a D, and below the 20th percentile an F. Percentile grading means a grade tells you how a company compares to the rest of the platform right now, not just whether it cleared a fixed bar — but it also means that as more companies get scored over time, where a given raw score lands on the letter scale can shift even if that company's own behavior hasn't changed. That tradeoff is only worth making once there are enough companies for the comparison to mean something.

Sparse scoring

Not every candidate answers every question. A respondent who had no take-home assignment cannot meaningfully rate test hours. A respondent who was rejected before the offer stage cannot rate offer accuracy. Rather than penalizing missing answers with a zero, The Hiring Index uses sparse scoring: unanswered questions are excluded from the calculation entirely, and the weights of the remaining answered questions renormalize to fill the gap. A report that answers only Communication and Transparency questions still contributes fully to those dimensions. This means partial reports are always better than no report — every truthful answer improves the data.

Statistical adjustments for negativity bias

We openly acknowledge that candidates who had a poor experience are more likely to submit a report than those who had a neutral or positive one. We do not pretend this bias does not exist. Instead, we apply four statistical adjustments using Bayesian smoothing, percentile normalization, and recency weighting. These adjustments are designed to reduce known biases in self-reported review data. First, scores are expressed as percentiles relative to all tracked companies, so a platform-wide negative skew affects every company equally and cancels out in comparative ranking. Second, Bayesian smoothing pulls companies with fewer reports toward the platform mean — a company with five reports cannot be pinned at an extreme outlier position; as reports accumulate, the score moves toward its true value. Third, email-confirmed reports carry five times the weight of unverified ones, and reports from candidates who received offers carry additional weight, since they represent the full arc of the hiring experience. Fourth, the scoring system weights factual, observable questions more heavily than feeling-based ratings — did the company respond, was a timeline given, how many rounds were required — because factual recall is more stable across mood and time than subjective sentiment.

How "pulling toward the average" actually works

Here is the literal formula, in plain terms, not just the concept. We treat every company as if it already has 15 invisible "reports" worth of the platform-wide average score, before any of its real reports are counted. A company's adjusted score is: (15 × the platform average, plus the number of real reports × that company's raw score), all divided by (15 plus the number of real reports). With exactly 5 reports, those 15 invisible average-reports still outweigh the real ones more than 2-to-1 — so a company with one furious one-star account and four quiet ones gets pulled hard toward the middle, and a company with five glowing reports gets pulled down from the top the same way. With 50 real reports, the 15 invisible ones barely move the needle — the score is almost entirely the company's own data at that point. This is exactly why early scores carry a confidence label instead of being presented as final: the smoothing is doing real, heavy lifting at low report counts, on purpose, and we want that visible rather than hidden inside a single clean-looking number.

Recency weighting

Hiring cultures change. A company that ghosted candidates two years ago may have rebuilt its recruiting team and now communicates well. To ensure scores reflect current behavior rather than legacy reputation, each report is weighted by when it was submitted. Reports from the last 90 days receive full weight (100%). Reports submitted within the past year but older than 90 days receive 75% weight. Reports older than one year receive 50% weight. Reports older than 36 months are archived and excluded from scoring entirely. This means companies can genuinely improve their scores by changing their practices — and that improvement shows up in the data within months, not years.

Thresholds and confidence

Scores are not displayed publicly until a company has accumulated at least five email-confirmed reports. Below that threshold, the platform shows a message indicating insufficient data rather than a potentially misleading early-data score. Once the five-report threshold is met, a confidence level is assigned and displayed alongside the score. Companies with 5 to 9 email-confirmed reports are labeled "Early data," indicating the score is real but may shift meaningfully as more reports arrive. Companies with 10 to 24 email-confirmed reports are labeled "Medium confidence." Companies with 25 or more email-confirmed reports are labeled "High confidence," meaning the score has stabilized and additional reports are unlikely to change it substantially.

Offer Accuracy

Offer Accuracy is calculated from self-reported, email-confirmed offer outcomes compared against the posted salary range for the same role. We require a minimum of five reports before showing any figure, and we display only the aggregate percentage gap — never individual offer amounts — to protect the privacy of any single candidate, consistent with our Rule of 5 policy used elsewhere on the platform.

Accounts and anonymity

Reports on The Hiring Index do not currently require an account. If you choose to create a free account to use community features, the account is pseudonymous: you select a handle rather than your real name. Community forum participation requires an account; submitting a report does not. The two activities are kept strictly separate by design. If a report is submitted while a user is signed in, a salted one-way hash links the session to the report so the user can later update the outcome (for example, from "in process" to "rejected" or "offer accepted"). This hash cannot be reversed by any party, including us. No user identifier, email, or session data is stored on the report record itself. The hash-to-report mapping is encrypted server-side and is not accessible via any public API or client-side query.

Our current scoring system grades company-level hiring processes

Our platform grades companies and hiring processes. Individual employees are not identified in our current scoring system. Reports and posts naming individual people are not accepted. All scoring, grading, and public data on this platform describes company-level behavior — hiring practices, process quality, ghost rates, and separation handling — not the conduct of any specific recruiter, hiring manager, or employee. This is both a design principle and a moderation rule. Individual names (even in positive contexts) are stripped from submissions and rejected by our forum moderation system.

What companies cannot do

Companies cannot pay to change, suppress, or improve their scores. The Hiring Index does not offer paid placement, sponsored scores, or any product that lets a company purchase a higher grade, a removed report, or a preferred position in search results. Companies that earn a qualifying grade may pay to license a badge, certification, or award recognizing that grade — but the fee buys display rights, not the score itself. Companies cannot request the removal of a report simply because they disagree with its rating — a negative experience, honestly reported, is not grounds for removal. Companies may formally dispute a specific report only on four grounds: documented factual inaccuracy, a clear violation of community guidelines, no verifiable professional relationship between the reporter and the company, or mistaken identity. All disputes are reviewed against the original submission and resolved based on evidence, not complaint volume. The dispute process is documented at the Dispute Process page.

Questions about methodology or data quality? hello@therespectindex.com. See also: How It Works · Dispute Process · Our Independence Charter