Skip to content
AhaMoment Green Career MRI
/

First-hand data · updated weekly

Green-Collar Posted-Salary Index

Every number here comes from a job posting that actually printed a salary. Nothing is modelled, self-reported, or copied from a recruiter’s guide. The cost of that rule is sparseness — most cells cannot be published yet, and those empty cells stay on the page exactly as they are.

98
Observations
59
In cells
3
Cells at n≥5
39
Excluded

2025-11-132026-07-28 · exported 2026-07-30

How this data is collected

  1. 1.Only salaries printed verbatim on the posting are recorded. Model estimates and self-reported figures never enter the database.
  2. 2.If a posting does not make seniority readable, that row enters no cell — 26 rows are currently in that state. They count towards the total and affect no range.
  3. 3.A cell publishes a range only once it holds 5 distinct postings. Below that the cell still appears, without numbers, showing how many it has.
  4. 4.What is published is the **median and the P25–P75 range**, not the lowest-to-highest. The first version published lowest-to-highest, and a single SGD 1,000/month internship posting dragged Singapore’s entry floor down to 1,000 — that number was misleading and was corrected on 2026-07-30. Internships are now excluded outright, as are the 12 rows that turned out to be the same posting captured twice.
  5. 5.Who collects it, and for how long: a scheduled job sweeps three markets’ job boards every Sunday. Nothing is hand-entered. All 98 rows currently in the ledger were inserted between 2026-07-21 and 07-28 — this ledger is days old, not months. The 2025-11 to 2026-07 span below is when the POSTINGS were seen, not how long collection has run.

Status, honestly: every row was read off the posting at capture time, and **none has been re-opened since**, so the whole snapshot is marked "source available, not individually re-verified". Until a spot-check is recorded we will not call it audited.

The cells as they stand

Sorted by sample size. Cells with numbers have cleared the threshold; the rest are listed anyway so you can see where the gaps are.

Singaporen=83

FunctionExperienceSamplePosted range
In-house sustainability0–3 yrs8SGD 3,750SGD 4,200/momedian SGD 4,000
ESG consulting0–3 yrs8SGD 3,750SGD 4,250/momedian SGD 4,125
In-house sustainability4–8 yrs7SGD 5,000SGD 6,750/momedian SGD 5,750
Climate tech0–3 yrs41 more needed
Climate tech4–8 yrs41 more needed
Sustainable finance0–3 yrs23 more needed
Carbon & environmental commodities0–3 yrs23 more needed
Carbon & environmental commodities4–8 yrs23 more needed
Carbon & environmental commodities8+ yrs23 more needed
In-house sustainability8+ yrs23 more needed
ESG consulting4–8 yrs23 more needed
Compliance & disclosure0–3 yrs23 more needed
Compliance & disclosure4–8 yrs23 more needed
ESG consulting8+ yrs14 more needed
Climate tech8+ yrs14 more needed

Hong Kongn=8

FunctionExperienceSamplePosted range
In-house sustainability0–3 yrs32 more needed
Sustainable finance0–3 yrs23 more needed
ESG consulting8+ yrs14 more needed
Compliance & disclosure0–3 yrs14 more needed

United Kingdomn=7

FunctionExperienceSamplePosted range
Sustainable finance0–3 yrs14 more needed
Climate tech4–8 yrs14 more needed
Climate tech8+ yrs14 more needed

Coverage, and how skewed it is

The sample is heavily concentrated in Singapore. That is not a design choice but a fact about the sources: Singapore’s government job platform requires salary disclosure, Hong Kong and the UK do not. So read this as "a Singapore posted-salary index with scattered Hong Kong and UK observations", not as pan-APAC.

Why there is no Taiwan column

Because 36% of Taiwan’s green-collar postings say "salary negotiable", against 16% across all postings (source: Ministry of Environment × 104, 2026 H1 green-collar employment report). Inventing a range for a market that does not disclose is the exact opposite of why this page exists. The Taiwan column stays empty until enough postings print a number.

You can fill a cell

If you have a green-collar posting that prints a salary — one you are looking at, or one your own company opened — send me the link and it goes into the next update. Attribution is your call; anonymous is the default.

Send me a posting

Which cell are you in?

This table shows what the market advertises, not what you are worth. To see how your particular combination gets read and where it sits, run the free Green Career MRI.

Run the free MRI

Holding an offer?

A posted range can only tell you the spread. Whether to take this one, what is negotiable, and whether the level is a lateral move or a downlevel — that takes a conversation.

See Offer & Path Read