Methodology
How these numbers are produced, and what they do not mean. If a figure here looks wrong, this page should tell you why.
What this measures
Advertised salary — the pay range an employer put in a public job posting. It is not actual pay, not a wage survey, and not a cost-of-living estimate. Employers who advertise a range tend to differ from those who do not, so the figures describe the advertised market, not the labour market.
Where the data comes from
Public job postings from Philippine job boards, collected in a real browser at a human pace. Only the fields needed for statistics are kept: title, employer name, location, employment type, posting date and the salary text. Job descriptions are not stored or republished, and no applicant or contact information is collected.
How a posting becomes a number
- Salary parsing. The salary text is read into a currency, a period (hour / day / week / month / year) and a range. Fixed project fees and postings whose salary field contains contact details are excluded.
- Conversion. Everything is converted to PHP per month using a monthly FX rate and fixed period factors (hour × 173.33, day × 26, week × 4.33, year ÷ 12). The basis of every conversion is stored with the row.
- Role classification. Titles are normalised (promotional noise removed) and matched to a role family by dictionary. Unmatched titles are kept but excluded from statistics.
- De-duplication. Postings sharing employer, title, location and salary are collapsed to one — including repeats from the same site. Staffing agencies re-list the same role dozens of times a month.
What is excluded
- Segments with fewer than 10 salary-disclosing postings, to avoid identifying individual employers.
- Government vacancies, whose pay is set by statute rather than the market.
- Amounts that cannot be a monthly wage (implausibly low or outside a plausible range), flagged and dropped.
- Postings advertising below the applicable regional minimum wage are flagged (they remain visible in counts but are marked).
Monthly insights
Each report carries one short analysis drawn from the same postings as the index, limited to Philippines-based jobs. Two things are read from the title of the ad, never from its body: whether it says no experience is needed (phrases such as “no experience”, “without experience”, “fresh grads”, “freshers”, “career shifters”) and, for BPO roles, which client account it names (travel, healthcare, telco, financial, insurance, retail, gaming). An employer is counted as a staffing agency when its name or stated industry says so; employers we cannot classify are left out of that comparison. Every figure shows its count, and groups under 10 postings are not shown.
The headline number is composition-controlled
A plain median across all postings moves whenever the mix of postings changes — a month with more overseas-remote listings looks like a pay rise that never happened. The headline figure is therefore a fixed-weight composite: role × work-arrangement medians are weighted by the base month's composition, so the index moves only when pay within those segments moves. Coverage (how much of the base weight was available that month) is published alongside it.
Concretely, in August 2026 the plain median rose 23% over July while the composite rose 3.0% — the difference was composition, not pay.
Months collected retrospectively are not published
Historical months were reconstructed from postings still listed on the source sites. Postings that were filled or expired are gone, and what remains is not a random sample of what was advertised at the time. Those months are computed but withheld, and marked as such.
Revisions
Statistics are rebuilt from stored raw postings whenever the parser or the aggregation changes, so past months can be restated. Each row records the parser and aggregation version that produced it.
Contact
Corrections and takedown requests are welcome — the underlying postings can be removed from the statistics on request.