DefinitionTheme schema v1 · Sentiment schema v2

How the scores work

Two series, one publication. The EOR Index scores the text of public customer reviews. The EOR Index Field Sentiment labels named sentiment in practitioner language. They measure different things and are never merged.

What it measures

The EOR Index answers one question: in the last calendar month, how did customers write about each tracked employer-of-record (EOR) provider? It does not measure market share, payroll volume, country coverage or product completeness, and it does not use star ratings as the score.

Sources

Scores use public reviews from G2, Capterra and Trustpilot. Field Sentiment uses practitioner channels, including off-market communities that public review sites cannot see. New sources are added as they are onboarded and are listed here with their start month. Competitor comparison sites, listicles, news articles and vendor marketing pages are not inputs. Review text is not republished.

SourceUsed forAccessSinceWhat it is
G2Review scorepublic2026-06Public B2B software reviews
CapterraReview scorepublic2026-06Public B2B software reviews
TrustpilotReview scorepublic2026-06Public customer reviews
LinkedInField Sentimentpublic2026-06Posts and comments by practitioners naming EOR providers
Slack communitiesField Sentimentoff-market2026-06Slack communities of People Ops and global employment operators
closed WhatsApp groupsField Sentimentoff-market2026-06Closed WhatsApp groups of People Ops and global employment operators
Reddit threadsField Sentimentpublic2026-06Reddit threads in which employers and workers discuss EOR providers

Platform total review counts (for example, all-time G2 reviews) are shown as context only. They are never inputs to the score.

Window and cadence

Each snapshot covers one calendar month in UTC and is frozen on the 1st of the following month. Reviews are selected by their own publication date, not the date they were collected. The series starts in June 2026.

Formula

Each in-window review is scored for sentiment from −1.0 to 1.0 from its text. The provider score is:

score = round((mean(sentiment) + 1) × 2.5, 1)

This maps −1..1 onto 0..5, reported to one decimal place. The 90-day score applies the same formula to the trailing 90 days. The category index is the unweighted mean of scored providers. It is not volume-weighted, so the largest review footprints cannot set the category number. Δ 30d is this month’s published score minus last month’s. Providers with the same score are ordered by number of reviews.

States

  • scored: at least one in-window review.
  • insufficient_data: no in-window reviews. Shown as “—”, never as 0.
  • not_tracked: the provider was acquired or is defunct. Earlier figures stay published.

Every score is published with its sample size n.

Themes

Up to three themes are attached to each review, from a closed list (schema v1). Adding a theme requires a version bump. History is never silently remapped.

ThemeMeans
payroll accuracypayroll errors, wrong amounts, missed deductions
payroll timelinesslate payment, delayed filings
support responsivenesstime to first response, chasing
support qualitycompetence of the answer once received
onboarding speedtime from signature to first payroll
offboarding and exittermination handling, final pay, leaving the provider
compliance confidencecontracts, classification, local law, audit
pricing transparencyunexpected fees, FX, unclear invoices
platform usabilitythe software itself
account managementnamed contact, continuity, relationship

The EOR Index Field Sentiment

Field Sentiment is original research and a named dataset. It reads practitioner language about EOR providers in 4 channels:

  • LinkedIn: Posts and comments by practitioners naming EOR providers
  • Slack communities (off-market): Slack communities of People Ops and global employment operators
  • closed WhatsApp groups (off-market): Closed WhatsApp groups of People Ops and global employment operators
  • Reddit threads: Reddit threads in which employers and workers discuss EOR providers

The unit is an observation, not a star. Each observation gets exactly one dominant sentiment from the closed list below. Shares are counts over the calendar month. Month-to-month change is reported in percentage points of share. It is never converted to a 0–5 score or split into positive vs negative; the named sentiment is the product. Field Sentiment is not derived from G2, Capterra or Trustpilot.

SentimentDirection
Trustpositive
Expertisepositive
Frustrationnegative
Angernegative
Midneutral

Sentiment schema v2: trust, expertise, FX transparency, frustration, anger and mid (neutral or mixed). Direction is used only to colour month-to-month moves, never to score. Adding or renaming a category bumps the schema version.

FX-rate transparency

Each month we run two checks on how each provider handles FX on cross-currency payroll, taxes and total employment cost (TEC):

  • Is the FX rate public? Yes if the provider publicly publishes the rate (or rate source) it applies. Linked to the page where it was found.
  • Is the FX markup zero? Yes if the provider applies no markup over the mid-market rate. Where a markup is known, it is shown as a percentage.

Where a provider does not publish its rate, The EOR Index estimates the markup over the mid-market rate, based on reports from users and operators in closed WhatsApp groups, Slack communities and Reddit threads. Estimates are always labelled “est.” on the site and marked estimated in the data files. Published figures are marked published.

Estimates may not be accurate. We treat them as provisional. Providers and their customers can correct an estimate by sending invoices that show the FX rate applied alongside the spot (mid-market) rate on the same date. Where the evidence shows a different markup, we update the next snapshot and log a correction.

Both are shown beside the score and are not part of it. A blank means the provider was not checked that month.

Overrides and corrections

Editors may override a provider’s published 0–5 score for one period. The model score is kept and shown beside the published figure, with the reason. Frozen pages are not rewritten. A later error is logged as a dated correction at the foot of the affected snapshot. Field Sentiment observations are never overridden onto the 0–5 index.

Publishing and data

Each month’s figures come from one source workbook. Adding a new data source is a new row in that workbook, so the source list above is always complete. That month’s rows are published unchanged at /data/YYYY-MM.csv, beside a JSON file containing every derived figure and generated sentence. Rank, monthly change, the category index and all sentences are calculated from the sheet at publication, so the page, the JSON and the structured data always agree.

Machine-readable: all.json · llms.txt · llms-full.txt · Atom feed.

What this is not

The EOR Index is an editorial measurement. It ranks providers on what buyers reported in the window; it is not legal, tax or procurement advice, and it is not a star rating. Placement cannot be bought. Questions about the method belong on this page.

Frequently asked questions

Which sources are used?

Public reviews from G2, Capterra and Trustpilot, plus Field Sentiment observations from practitioner channels listed on the methodology page. New sources are added as they are onboarded and listed with their start month. Competitor comparison sites, listicles, news articles and vendor marketing pages are not inputs.

Why is the category index unweighted?

Volume-weighting would let the two largest review footprints set the category number, so each scored provider counts equally.

What happens when a provider has no reviews in a month?

It is shown as “insufficient data” and rendered as “—”, never as 0. Acquired or defunct providers are marked “not tracked”.

Can editors change a score?

Editors may override a published score for one period. The model score is kept and shown beside the published figure, with the reason.