DATE:
AUTHOR:
Dimensions product team
Data / General updates

Coming to Dimensions: a major upgrade to SDG classification

DATE:
AUTHOR: Dimensions product team

TL;DR: We're rolling out a significantly improved Sustainable Development Goal (SDG) classifier, touching 26.1 million publications across all 17 SDGs. It's available today in preview via BigQuery — full rollout across Dimensions and the API follows in the coming months.

Why this matters

SDG classification is one of the most-used ways researchers, funders, and institutions track research impact against global priorities. The 2026 classifier is our biggest quality and coverage upgrade to date:

  • 33.4M publications now carry an SDG code, up from 20.6.M — a gain of 12.8M newly classified publications

  • 18.2M publications gain SDG coverage they didn't have before; a smaller, more precise set (5.4M) is refined out

  • Meaningful shifts in several categories as classification precision improves — most notably SDG 8, 9, and 14 see substantial coverage gains, while SDG 7 and 10 are re-scoped for greater accuracy

This is a retrained model, not a patch — expect real movement in your SDG numbers once you adopt it.

What's changing, and when

Phase 1 — Preview (live now, July 2026)

  • Nothing changes in your existing reports. Current SDG data in Dimensions, the Dimensions API, and BigQuery category_sdg) stays exactly as is.

  • A new BigQuery field, sdg_v2026, is now available alongside the existing data — so you can explore, validate, and prepare your downstream reporting on your own timeline.

  • Preview covers Publications only.

Phase 2 — Full rollout (in 3 months, October 2026)

  • sdg_v2026 becomes the default powering category_sdg across Dimensions, the Dimensions API, and BigQuery.

  • The current classifier remains accessible in BigQuery as sdg_v2021, so historical comparisons stay possible.

  • Full rollout extends to all relevant content types.

What you should do now

If SDG data feeds into your dashboards, KPIs, or reporting pipelines, now's the time to:

  1. Query the new sdg_v2026 field in BigQuery and compare it against your current `category_sdg values.

  2. Flag any reports or thresholds that may need recalibrating ahead of the full rollout.

  3. Reach out to your Dimensions contact with questions — we'll share the full rollout date as soon as it's confirmed.

We're giving you this lead time deliberately: no downstream reporting should break without warning. More details, including full category-by-category breakdowns, are available on request.


Appendix: sample BigQuery queries

For teams who want to start validating sdg_v2026 directly, here are a few queries to get started.

Total publications covered: sdg_v2021 vs sdg_v2026

SELECT

  (

    SELECT COUNT(DISTINCT t.id)

    FROM dimensions-ai.data_analytics.publications AS t

    WHERE ARRAY_LENGTH(COALESCE(t.categories.sdg_v2021.codes, [])) > 0

  ) AS sdg_v2021,

  (

    SELECT COUNT(DISTINCT t.id)

    FROM dimensions-ai.data_analytics.publications AS t

    WHERE ARRAY_LENGTH(COALESCE(t.categories.sdg_v2026.codes, [])) > 0

  ) AS sdg_v2026;

Publications present in one version but not the other

WITH PublicationComparison AS (

  SELECT

    t.id AS publication_id,

    COALESCE(t.categories.sdg_v2021.codes, []) AS codes_2021_array,

    COALESCE(t.categories.sdg_v2026.codes, []) AS codes_2026_array

  FROM dimensions-ai.data_analytics.publications AS t

)

SELECT

  'Records with 2021 codes only' AS comparison_type,

  COUNT(DISTINCT publication_id) AS count_of_records

FROM PublicationComparison

WHERE ARRAY_LENGTH(codes_2021_array) > 0 AND ARRAY_LENGTH(codes_2026_array) = 0

UNION ALL

SELECT

  'Records with 2026 codes only' AS comparison_type,

  COUNT(DISTINCT publication_id) AS count_of_records

FROM PublicationComparison

WHERE ARRAY_LENGTH(codes_2026_array) > 0 AND ARRAY_LENGTH(codes_2021_array) = 0;

Publication counts per SDG category, 2021 vs 2026

WITH Counts2021 AS (

  SELECT code AS sdg_code, COUNT(DISTINCT t.id) AS count_2021

  FROM dimensions-ai.data_analytics.publications AS t,

  UNNEST(COALESCE(t.categories.sdg_v2021.codes, [])) AS code

  GROUP BY sdg_code

),

Counts2026 AS (

  SELECT code AS sdg_code, COUNT(DISTINCT t.id) AS count_2026

  FROM dimensions-ai.data_analytics.publications AS t,

  UNNEST(COALESCE(t.categories.sdg_v2026.codes, [])) AS code

  GROUP BY sdg_code

)

SELECT

  COALESCE(c21.sdg_code, c26.sdg_code) AS sdg_code,

  COALESCE(c21.count_2021, 0) AS count_2021,

  COALESCE(c26.count_2026, 0) AS count_2026

FROM Counts2021 AS c21

FULL OUTER JOIN Counts2026 AS c26

ON c21.sdg_code = c26.sdg_code

ORDER BY sdg_code;



Powered by LaunchNotes