Skip to content

ADR-0017 — SBTi dashboard status taxonomy: "Commitment Removed" ≠ withdrawn_commitment

Field Value
Status Accepted
Date 2026-05-22
Supersedes
Superseded by
Related ADR-0014 (CHRB continuity), ADR-0015 (FOREST500 continuity), ADR-0016 (InfluenceMap/CA100+) — source-instrument continuity pattern

Context

Cycle 15c (run_id=38) surfaced 4 non-financial institutions with withdrawn_commitment watchlist entries generated by getWithdrawalEntry() in src/scrapers/sbti.js: National Grid, Haleon, Xylem, and Broadcom. A cross-check confirmed these were also generated in cycle 15b (Microsoft, Stryker, Union Pacific) and cycle 15a (NatWest Group, Unilever) — 9 total.

The root cause was that getWithdrawalEntry() treated any SBTi dashboard record with near_term_status = 'Commitment removed' or net_zero_status = 'Commitment removed' as an evidenced commitment withdrawal, producing a finding_type = 'withdrawn_commitment' watchlist entry with severity = 'medium'.

This was a SOURCE-TAXONOMY ARTEFACT. The 9 institutions are all in-universe; the entries put a wrong, client-visible negative flag on them.


The SBTi "Commitment removed" status — what it actually means

Since 31 January 2023, the SBTi Commitment Compliance Policy marks any commitment not validated within 24 months as "Commitment Removed" on the Target Dashboard. Before this policy, such entries were simply dropped from the dashboard. The new status is therefore visible where before there was silence.

Key properties of "Commitment Removed":

  1. Administrative timeout, not renouncement. The company's 24-month validation window expired. It does not mean the company publicly quit SBTi or renounced its climate goals.

  2. March 2024 bulk wave. Approximately 239–284 companies — including Microsoft, P&G, Unilever, Walmart, and EDF — were swept into "Commitment Removed" simultaneously in a bulk administrative reclassification. These were not 239 independent corporate decisions.

  3. Reversible. A company showing "Commitment Removed" for net-zero can later have that entry flip to "Targets Set" upon validation. The status is fluid, not final.

  4. Near-term and net-zero are independent. A company can hold an active, validated near-term target (SBTi-approved, boolean_value = 1) while simultaneously showing "Commitment Removed" on its net-zero entry. National Grid and Haleon are confirmed examples: validated 1.5°C near-term targets, net-zero entry timed out.

  5. Taxonomy is actively shifting. SBTi introduced new status categories effective 18 December 2025, and made further ACA/standard changes in April 2026. The mapping in this ADR should be confirmed at each quarterly source-continuity review.


Decision

5-state SBTi status taxonomy

Dashboard status Scraper treatment boolean_value confidence Watchlist
Targets set POSITIVE — validated target 1 1.0 none
Committed NEUTRAL — in 24-month window, intent only 0 1.0 none
Active NEUTRAL — same as Committed 0 1.0 none
Commitment removed NEUTRAL — timed out, no current validated target 0 1.0 none
null / absent NO-DATA — not in SBTi database 0 0.5 none

Near-term + net-zero combination rule

A Targets set near-term status is the positive signal and dominates regardless of the net-zero entry status. A Commitment removed net-zero entry when near-term is Targets set does NOT negate the positive near-term read. This is a signal-level fact: UN-E1.3 (near-term) and UN-E1.4 (net-zero) are independent sub-rules; each scores on its own status.

Genuine withdrawal handling

Only an affirmative, evidenced public renouncement of SBTi membership — e.g. a corporate announcement that the company is leaving SBTi — should ever yield a withdrawn_commitment watchlist entry. The SBTi Excel has no column that distinguishes this from a timeout-removal. Genuine withdrawals must be recorded manually via the watchlist UI.

getWithdrawalEntry() in sbti.js now always returns null. It is retained so run.js wiring survives, but produces no output until the Excel schema gains an explicit withdrawal-evidence column.


Consequences

Immediate (migration 048, 2026-05-22)

Nine withdrawn_commitment entries (finding_type = 'withdrawn_commitment', signal_source in SBTI-VALIDATED, SBTI-VALIDATED-CORP) were set to status = 'resolved' with an explanatory title/summary update and audit trail entries in watchlist_entry_status_history. The entries are preserved as resolved audit history, not deleted.

Affected institutions: Broadcom, Haleon, National Grid, Xylem (cycle 15c); Microsoft, Stryker, Union Pacific (cycle 15b); NatWest Group, Unilever (cycle 15a).

Numeric score_stage1_esg values for run_id=38 are unchanged — the false watchlist entries did not feed the scoring engine. The impact was client-visible: the entries appeared as "Withdrawn commitments" in the institution page and watchlist view.

Scoring correctness confirmed

For National Grid, Haleon, and Xylem: UN-E1.3 signals in run_id=38 already show raw_value = 'Targets set', boolean_value = 1 — the positive near-term signal was correctly recorded throughout. The net-zero UN-E1.4 signal (Commitment removed, boolean_value = 0) is correctly neutral. No score changes are required.

For Broadcom: UN-E1.3 shows raw_value = 'Commitment removed', boolean_value = 0 — neutral no-data, correct. No positive near-term signal present.

Forward

Future scrape runs will not produce withdrawn_commitment entries from "Commitment removed" status. The 5-state taxonomy above governs all SBTi status reads.

Source-continuity review

SBTi is added to the quarterly source-continuity review with a specific note that its status taxonomy is actively changing:

  • Jan 2023: Commitment Compliance Policy introduced "Commitment Removed" as an explicit status
  • Mar 2024: Bulk removal wave swept ~239–284 companies
  • Dec 2025: New status categories introduced
  • Apr 2026: ACA/standard changes

At each quarterly review: confirm the Excel column names (near_term_status, net_zero_status), confirm the status vocabulary (new categories since Dec 2025), and re-validate the 5-state mapping above.

This is the 5th confirmed source-instrument continuity finding (after CHRB/Social Benchmark, FOREST500 dual-vintage/Floresta 250, InfluenceMap Measure A/B, FOREST500 E7 label drift). It is a textbook instance of the standing quarterly review backlog item: silent taxonomy change at the source causing a systematic misread, not detectable from the signal values alone.


References

  • src/scrapers/sbti.js — scraper fix (getWithdrawalEntry returns null)
  • src/db/migrations/048_sbti_commitment_removed_reclassify.sql — data reversal
  • SBTi Commitment Compliance Policy (Jan 2023)
  • SBTi Target Dashboard: sciencebasedtargets.org/companies-taking-action
  • Cycle 15c chat session (2026-05-22) — root-cause analysis
  • ADR-0014 (CHRB), ADR-0015 (FOREST500), ADR-0016 (InfluenceMap) — prior continuity ADRs