The share of new job postings that are remote, hybrid or on site can be read every week, by industry and country, from the Fokals Market Series. This guide explains what the measure counts, how to pull it, how to read its rate and index, and why it describes what employers advertise, which is the earliest public trace of where they want people to work.
What the measure counts
Each posting on a company's own job board carries a work mode: onsite, hybrid, remote, or empty when the board states none. The work_mode_share family in Market Series (market_series) turns this into one series per mode, named work_mode_share:remote, work_mode_share:hybrid and work_mode_share:onsite. A row is the share of postings opened in a window that state that mode, for one industry, country, size band, sector or all companies, as of a Sunday.
Windows are 7, 30 and 180 days. Every row stands on at least 20 postings, so each share rests on a base large enough to read. The table shows the questions the series can answer.
| Question | Series and dimension | Window |
|---|---|---|
| Is hybrid replacing remote in an industry? | work_mode_share:hybrid and work_mode_share:remote by industry | 30 days |
| Is the remote share in a country moving? | work_mode_share:remote by country | 7 and 30 days |
| Do larger companies advertise differently from small ones? | work_mode_share:onsite by size | 30 days |
Two fields describe work mode on a posting, and it helps to know which is which. work_mode is the mode the employer states on the posting, and is empty when none is stated. The remote_policy label is produced from the posting's text under the frozen version jobs-v2, and it is unspecified when the text states no policy. Market Series counts work_mode, so reconcile any aggregate of your own with that field first, then test whether the label adds postings the board field leaves empty.
Opened or open: two ways to count
A company's postings can be counted as they open or as they stand open, and the two answer different questions.
| Postings opened | Postings open | |
|---|---|---|
| Source | Market Series, work_mode_share | Hiring Activity, by_work_mode |
| Counts | Postings that opened in the window | Postings open at the end of a day, by mode |
| Moves | Soon after employers change practice | Later, because a posting stays until its role closes |
| Detail | Industry, country, size band, sector | One company per row |
| Use it to | Follow a trend | Describe one company, or build a grouping of your own |
Postings opened reflect what employers are deciding now. Postings open mix recent and old decisions. Use the opened series for a trend, and the open counts of Hiring Activity for one company or a grouping of your own. The open counts are held as JSON in by_work_mode, one object of counts per company and day. In the query, watchlist is your own table of company_id values, and the SQL is PostgreSQL.
select
company_id,
day,
open_postings,
coalesce((by_work_mode::jsonb ->> 'remote')::int, 0) as remote_open,
coalesce((by_work_mode::jsonb ->> 'hybrid')::int, 0) as hybrid_open,
coalesce((by_work_mode::jsonb ->> 'onsite')::int, 0) as onsite_open
from company_hiring_daily
where company_id in (select company_id from watchlist)
and day >= current_date - 28
order by company_id, day;Pulling the series
The REST API returns series by metric, dimension and window. This call asks for the 30-day remote share of every industry from the as-of date you choose:
GET /api/v1/series?metric=work_mode_share:remote&dimension_kind=industry&window=30&since=2026-10-04&limit=1000
Authorization: Bearer <your key>If you load the bulk files into a database, the same rows are in market_series. This query lists industries by remote share at the latest as-of date:
select dimension as industry, rate, cohort, count, index
from market_series
where metric = 'work_mode_share:remote'
and dimension_kind = 'industry'
and window_days = 30
and as_of = (select max(as_of) from market_series where metric = 'work_mode_share:remote')
order by rate desc;GET /api/v1/series/metrics lists every family with its subjects and units, so you can confirm the modes available. The API reference describes each parameter.
Reading a row
A row carries a count (the postings in the mode), a cohort (the postings the share is over), a rate (the share, from 0 to 1), a previous count, a growth and an index. Take an illustrative row: a count of 312 and a cohort of 1,040 give a rate of 0.30, so three in ten of the postings that stated a work mode in that window were remote. For an event metric the cohort is a same-store cohort of companies; for a share metric like this one it is the postings themselves.
Growth is a change in the count, not in the share. growth compares the number of remote postings with the window before. It rises when hiring rises, even if the remote share falls. To see the share move, compare rate between two as-of dates, or read index.
The index is relative to the base week. index is 100 at the first as-of date of the series and the rate relative to it afterwards, so 105 means a remote share 5 percent above its level at the start. It lets you compare industries that start from different levels, and it carries the noise of its base week.
Consecutive weeks overlap. A 30-day window ending on one Sunday shares 23 days with the window ending the Sunday before. For a change that does not reuse the same postings, compare 7-day rows week on week, or 30-day rows five weeks apart.
Read the cohort beside the rate. A share over a small cohort moves on a single employer's decision. A rough 95 percent margin is 2 * sqrt(p * (1 - p) / n), with the share as p and the cohort as n. At a share of 0.30 that is about 7.5 points over a cohort of 150 postings and about 2.8 points over 1,040. Employers post many near-identical roles at once, so the real margin is wider. Treat a move smaller than the margin as no move.
The three modes add to one. The shares of remote, hybrid and onsite are taken over the same postings, so for one industry, window and as-of date the three rate values add to 1, and a rise in one is a fall in the others. Summing them on your own pull is a quick check that it is complete.
Rank two ways. Sort industries by rate for a snapshot of who advertises remote work most. Sort them by the change in rate between two non-overlapping windows, or by index, for who is moving. The two lists differ, and the second is the one a trend needs.
Choosing industry, country or size
industryis a label produced under a named, frozen version, one of 21 values, and a company has one industry.countryis the headquarters country of the hiring company, not the location of the job. A United States company hiring in Poland counts under the United States.sizeis the band of stated employees, from1-10to5000+, so it covers the companies with a stated headcount.sectoris the company's sector, andallcovers every company.
For remote work by the location of the job, group Job Postings (job_postings) by country, which holds the country of a posting's first listed location, and by work_mode.
Work mode also differs by job function, so an industry's remote share can rise because its hiring shifts toward functions that are more often remote, with no employer changing its policy. Market Series is cut by industry, country, size band and sector, and Job Postings carries the job function, so you can control for mix by grouping the postings yourself:
select
labels::jsonb ->> 'job_function' as job_function,
count(*) as postings,
round(100.0 * count(*) filter (where work_mode = 'remote') / count(*), 1) as remote_pct
from job_postings
where work_mode in ('onsite', 'hybrid', 'remote')
and found_on_first_read = false
and first_seen_at >= current_date - 30
group by 1
having count(*) >= 20
order by remote_pct desc;How to read advertised work mode
The series describe advertised work mode: the share of new postings that state remote, hybrid or on site. They are the employer's decision, published, which makes them an early reading of where employers want people to work. Hybrid is a stated mode and carries no number of days, so read it as a policy category. For the experience of workers, pair the series with surveys of workers, and for office occupancy with building or badge data.
A share is a ratio inside each window, so growth of the index of companies does not inflate it as it would a raw count. The mix of companies behind a share can still shift, which is a reason to read a move beside its cohort and over several weeks. Every row is dated by its as-of Sunday and written once, so a reading for a past Sunday is the same on every later day.
How Fokals delivers it
The Market Series dataset holds 28 families of weekly series, written once for each Sunday and not revised. The blog explains how the cohorts stay comparable as the company index grows. The guide to sector hiring trends for macro and thematic research reads the same series across sectors, and the guide to producing market research from weekly series covers charting and citing them.
Frequently asked questions
What share of job postings are remote?
It depends on the industry, the country and the week, so no single figure is useful. The remote share series gives the share of new postings that state remote work for each industry, country and size band, with the cohort that shows how many postings stand behind it. Read the latest rate for your cut and check its cohort before you quote it.
Is a remote job posting the same as a remote worker?
A posting is an advertised role with a stated work mode, and the series reads that decision as it is published: it shows what employers advertise, week by week. Hybrid carries no number of days, so for how many days a person is in an office, pair the series with surveys of workers.
How often is the remote work series updated?
Weekly. A new as-of date is written for each Sunday, after the week closes, with 7, 30 and 180-day windows. Rows are written once and not revised, so a reading for a past Sunday is the same on every later day. For one company, Hiring Activity is written daily with its open postings by work mode.
How large is the base behind each remote share?
Every row stands on at least 20 postings, and it carries its cohort, the number of postings the share is over, so you can read the margin beside the rate. Use a longer window or a broader dimension, such as all companies, where you want a larger base, or build your own aggregate from Job Postings.
How do I measure remote work by the country of the job?
Build it from Job Postings: each posting carries its locations, so group by country, which holds the country of the first listed location, and by work mode. The country dimension of the Market Series is the headquarters country of the hiring company, which suits a view by employer, and the posting-level view suits a view by place of work.
The queries and code on this page are examples to adapt. Test them in your own environment before you rely on them.