Net Purpose Data Share

Welcome to the documentation for the Net Purpose data share on Snowflake. This guide explains our data model, how the tables relate to each other, and provides some sample queries to get you started.

What is in the share?

The share is organised into several schemas. Information in the system centres on a tuple of who (entity_id), what (question_id / canonical_question_id) and when (year).

LayerWhat it containsKey tables
Reference dataThe “what”: the definition of every question in our system, plus shared reference information such as source documents, units and the activity taxonomy.questions, units, sources, taxonomy
EntitiesThe “who”: the entities in the Net Purpose data universe, their coverage across the different datasets, and security ↔ entity identifier mappings.entities, entities_data_coverage, entity_identifiers
Foundation dataThe underlying collected data: facts extracted from company disclosures, estimated datapoints and their lifecycle chains, and calculated KPI results.revenue_facts, outcomes_facts, supporting_facts, datapoints, estimation_lifecycle, kpi_results
Revenue & SDIThe breakdown of each company’s revenue, mapped into our impact activity taxonomy and thus to the SDGs. Includes SDI formula calculations for companies where outcomes are used to inform product splits.entity_segment_revenue (esr), entity_taxonomy_revenue (etr), sdi_classifications
OutcomesThe full universe of outcome data — one clean, analysis-ready row per entity, question and year.all_data, all_data_origins

How the layers fit together

  • Reference data Objects which are shared across the layers.
  • Entities The reporting entities in the Net Purpose universe and their mapped securities for mapping into wider systems.
  • Foundation data holds each individual “answer” (fact, kpi_result, or datapoint) we collect. Each one can always be identified by a (who, what, when) triplet.
  • Revenue & SDI is built on top of the foundation layer. Reported revenue segments are mapped into the Net Purpose taxonomy and aggregated into framework-aligned revenue, with the SDI intelligence layer applied on top to provide further, outcomes led disaggregation.
  • Outcomes (all_data) is the consolidated, best-available view of the outcomes data universe, covering the majority of the question set, including per-company intensity figures and year-on-year analysis.

Adding the share in Snowflake

The Net Purpose data reaches you as privately shared Snowflake listings. Before you can query anything, mount them as databases in your own account:

  1. In Snowsight, go to Data Sharing → External sharing → Privately shared listings.
  2. Find the Net Purpose listing and click Get.
  3. When prompted, specify the database name the share will be mounted under. This defaults to NET_PURPOSE, but you can name it whatever suits your account’s conventions.
  4. If you are licensed for revenue data, repeat the same steps for the Net Purpose Revenue listing. This mounts as a second database, defaulting to NET_PURPOSE_REVENUE.

The knock-on effect on queries

The database names you pick when clicking Get become the first part of every fully-qualified table name. The examples throughout this guide are written against the default names — NET_PURPOSE and NET_PURPOSE_REVENUE — using the pattern <database>.<schema>.<table>:

-- Core database (default name NET_PURPOSE)
FROM NET_PURPOSE.ENTITIES.ENTITIES e
FROM NET_PURPOSE.REFERENCE.UNITS u
 
-- Revenue database (default name NET_PURPOSE_REVENUE)
FROM NET_PURPOSE_REVENUE.REVENUE.ENTITY_TAXONOMY_REVENUE etr

If you named either database something other than the default when clicking Get, substitute your own name for NET_PURPOSE / NET_PURPOSE_REVENUE throughout — the schema and table parts are fixed, only the database prefix changes. Alternatively, set the database and schema context for your session (for example USE DATABASE NET_PURPOSE;) and you can drop the prefix for tables in that database.

Note that because revenue data lives in its own database, some queries join across both — for example revenue tables in NET_PURPOSE_REVENUE.REVENUE against reference tables in NET_PURPOSE.REFERENCE.

Where should I start?

  • If you haven’t mounted the share yet — start with Adding the share in Snowflake.
  • If it’s your first read-through - start with the Conventions.
  • “Give me a company’s data” — start with Outcomes and join to entities and questions.
  • “How much of this company’s revenue is SDG-aligned?” — see Revenue & SDI.
  • “Where did this number come from?” — see Foundation data for transparency and origins of information.
  • “How do I write correct queries against these tables?” — read Conventions first; the promoted tables are versioned and most queries should filter to the current view.
  • Ready-made SQL for common workflows lives in the Query cookbook as well as samples in individual sections.