variable
An indicator (also commonly called 'variable') is a collection of data points (usually a time series) with metadata. The indicator metadata fields are the attributes of the VariableMeta
object in ETL.
variable.description_from_producer
type: string
| recommended (if existing)
Description of the indicator written by the producer, if any was given.
- Must start with a capital letter.
- Must end with a period.
- Should be identical to the producer's text, except for some formatting changes, typo corrections, or other appropriate minor edits.
- Should only be given if the producer clearly provides such definitions in a structured way. Avoid spending time searching for a definition given by the producer elsewhere.
variable.description_key
type: array
, array
| recommended (for curated indicators)
List of key pieces of information about the indicator.
- Must be a list of one or more short paragraphs.
- Each paragraph must start with a capital letter.
- Each paragraph must end with a period.
- Must not contain
description_short
(although there might be some overlap of information). - Should contain all the key information about the indicator (except that already given in
description_short
). - Should include the key information given in other fields like
grapher_config.subtitle
(if different fromdescription_short
) andgrapher_config.note
. - Should not contain information about processing (which should be in
description_processing
). - Should only contain information that is key to the public.
- Anything that is too detailed or technical should be left in the code.
variable.description_processing
type: string
| required (if applicable)
Relevant information about the processing of the indicator done by OWID.
- Must start with a capital letter.
- Must end with a period.
- Must be used if important editorial decisions have been taken during data processing.
- Must not be used to describe common processing steps like country harmonization.
- Should only contain key processing information to the public.
- Anything that is too detailed or technical should be left in the code.
variable.description_short
type: string
| required
One or a few lines that complement the title to have a short description of the indicator.
- Must start with a capital letter.
- Must end with a period.
- Must be one short paragraph (for example suitable to fit in a chart subtitle).
- Should not mention any other metadata fields (like information about the processing, or the origins, or the units). Exceptions:
- The unit can be mentioned if it is crucial for the description.
variable.display
We keep display for the time being as the 'less powerful sibling' of grapher config.
variable.display.color
type: string
Color to use for the indicator in e.g. line charts.
variable.display.conversionFactor
type: number
Conversion factor to apply to indicator values.
- Note: We should avoid using this, and instead convert data and units (and possibly other metadata fields where the units are mentioned) consistently in the ETL grapher step.
variable.display.description
type: string
Description to display for the indicator, to replace the indicator's description
.
variable.display.entityAnnotationsMap
type: string
Entity annotations
variable.display.includeInTable
type: boolean
Whether to render this indicator in the table sheet.
variable.display.isProjection
type: boolean
Indicates if this time series is a forward projection (if so then this is rendered differently in e.g. line charts).
variable.display.name
type: string
| required
Title to display for the indicator, to replace the indicator's title
. NOTE: Currently, grapher_config.title
will be used only in charts, whereas display.name
will be used in other places, like the table tab.
- Must be suitable to be publicly displayed, even for 'big datasets' with many dimensions.
- Must start with a capital letter.
- Must not end with a period.
- Must be one short sentence (a few words).
- Should not mention other metadata fields like
producer
orversion
.
DO | DON'T |
---|---|
«Number of neutron star mergers in the Milky Way » |
«Number of neutron stars (NASA) » |
«Share of neutron star mergers that happen in the Milky Way » |
«Share of neutron star mergers that happen in the Milky Way (2023) » |
«Area harvested of barley » |
«Barley | 00000044 || Area harvested | 005312 || hectares » |
variable.display.numDecimalPlaces
type: integer
Number of decimal places to show in charts (and in the table tab).
variable.display.shortUnit
type: string
Short unit to use in charts instead of the indicator's short_unit
.
variable.display.tableDisplay
Configuration for the table tab for this indicator, with options hideAbsoluteChange
and hideRelativeChange
.
variable.display.tableDisplay.hideAbsoluteChange
type: boolean
Whether to hide the absolute change.
variable.display.tableDisplay.hideRelativeChange
type: boolean
Whether to hide the relative change.
variable.display.tolerance
type: integer
Tolerance (in years or days) to use in charts. If data points are missing, the closest data point will be shown, if it lies within the specified tolerance.
variable.display.unit
type: string
Unit to use in charts instead of the indicator's unit
.
variable.display.yearIsDay
type: boolean
Switch to indicate if the number in the year column represents a day (since zeroDay) or a year.
variable.display.zeroDay
type: string
ISO date day string for the starting date if yearIsDay
is True
.
variable.license
type: string
| required (in the future this could be automatic)
License of the indicator, which depends on the indicator's processing level and the origins' licenses.
- If the indicator's
processing_level
is major, assignCC BY 4.0
. - If the indicator's
processing_level
is minor, choose the most strict license among the origins'licenses
.
variable.origins
type: array
List of all origins of the indicator.
- Note: Origins should be propagated automatically from snapshots. Therefore, this field should only be manually filled out if automatic propagation fails.
variable.presentation
An indicator's presentation defines how the indicator's metadata will be shown on our website (e.g. in data pages). The indicator presentation metadata fields are the attributes of the VariablePresentationMeta
object in ETL.
variable.presentation.attribution
type: string
| optional
Citation of the indicator's origins, to override the automatic format producer1 (year1); producer2 (year2)
.
- Must start with a capital letter. Exceptions:
- The name of the institution or the author must be spelled with small letter, e.g.
van Haasteren
.
- The name of the institution or the author must be spelled with small letter, e.g.
- Must join multiple attributions by a
;
. - Must not end in a period (and must not end in
;
). - Must contain the year of
date_published
, for each origin, in parenthesis. - Should only be used when the automatic format
producer1 (year1); producer2 (year2)
needs to be overridden.
DO | DON'T |
---|---|
«Energy Institute - Statistical Review of World Energy (2023); Ember (2022) » |
«UN (2023), WHO (2023) » |
variable.presentation.attribution_short
type: string
| recommended (for curated indicators)
Very short citation of the indicator's main producer(s).
- Must start with a capital letter. Exceptions:
- The name of the institution or the author must be spelled with small letter, e.g.
van Haasteren
.
- The name of the institution or the author must be spelled with small letter, e.g.
- Must not end in a period.
- Should be very short.
- Should be used if the automatic concatenation of origin's
attribution_short
are too long. In those cases, choose the most importantattribution
(e.g. the main producer of the data).
variable.presentation.faqs
type: array
| recommended (for curated indicators)
List of references to questions in an FAQ google document, relevant to the indicator.
- Each reference must contain
fragment_id
(question identifier) andgdoc_id
(document identifier).
variable.presentation.grapher_config
Our World in Data grapher configuration. Most of the fields can be left empty and will be filled with reasonable default values.
Find more details on its attributes here.
variable.presentation.title_public
type: string
| optional
Indicator title to be shown in data pages, that overrides the indicator's title.
- Must start with a capital letter.
- Must not end with a period.
- Must be one short sentence (a few words).
- Should not mention other metadata fields like
producer
orversion
. - Should help OWID and expert users identify the indicator.
- For big datasets where constructing human-readable titles is hard (e.g. FAOSTAT), consider using other metadata fields to improve the public appearance of the title (namely
presentation.title_public
andgrapher_config.title
).
variable.presentation.title_variant
type: string
| optional
Short disambiguation of the title that references a special feature of the methods or nature of the data.
- Must start with a capital letter.
- Must not end in a period.
- Should be very short.
- Should only be used if the indicator's title is ambiguous (e.g. if there are multiple indicators with the same title).
- Should not reference the data provider. For that, instead, use
attribution_short
.
DO | DON'T |
---|---|
«Age-standardized » |
«The data is age-standardized » |
«Historical data » |
«Historical data from 1800 to 2010 » |
variable.presentation.topic_tags
type: array
| recommended (for curated indicators)
List of topics where the indicator is relevant.
- Must be an existing topic tag, and be spelled correctly (see the list of topic tags in datasette (requires Tailscale).
- The first tag must correspond to the most relevant topic page (since that topic page will be used in citations of this indicator).
- Should contain 1, 2, or at most 3 tags.
variable.presentation_license
License to display for the indicator, overriding license
.
variable.presentation_license.name
type: string
variable.presentation_license.url
type: string
variable.processing_level
type: string
| required (in the future this could be automatic).
Level of processing that the indicator values have experienced.
- Must be
minor
if the indicator has undergone only minor operations since its origin:- Rename entities (e.g. countries or columns)
- Multiplication by a constant (e.g. unit change)
- Drop missing values.
- Must be
major
if any other operation is used:- Data aggregates (e.g. sum data for continents or income groups)
- Operations between indicators (e.g. per capita, percentages, annual changes)
- Concatenation of indicators, etc.
variable.short_unit
type: string
| required
Characters that represent the unit we use to measure the indicator value.
- Must follow the rules of capitalization of the International System of Units, when applicable.
- Must not end with a period.
- Must be empty if the indicator has no units.
- Should not contain spaces.
- If, for clarity, we prefer to simplify the units in a chart, e.g. to show
kWh
instead ofkWh/person
, usedisplay.short_unit
for the simplified units, and keep the correct one inindicator.short_unit
(and ensure there is no ambiguity in the chart).
DO | DON'T |
---|---|
«t/ha » |
«t / ha » |
«% » |
«pct » |
«kWh/person » |
«pc » |
variable.sources
type: array
List of all sources of the indicator. Automatically filled. NOTE: This is no longer in use, you should use origins.
variable.title
type: string
| required
Title of the indicator, which is a few words definition of the indicator.
- Must start with a capital letter.
- Must not end with a period.
- Must be one short sentence (a few words).
- For 'small datasets', this should be the publicly displayed title. For 'big datasets' (like FAOSTAT, with many dimensions), it can be less human-readable, optimized for internal searches (then, use
display.name
for the publicly displayed title). - Should not mention other metadata fields like
producer
orversion
.
DO | DON'T |
---|---|
«Number of neutron star mergers in the Milky Way » |
«Number of neutron stars (NASA) » |
«Share of neutron star mergers that happen in the Milky Way » |
«Share of neutron star mergers that happen in the Milky Way (2023) » |
«Barley | 00000044 || Area harvested | 005312 || hectares » |
«Barley » |
variable.unit
type: string
| required
Very concise name of the unit we use to measure the indicator values.
- Must not start with a capital letter.
- Must not end with a period.
- Must be empty if the indicator has no units.
- Must be in plural.
- Must be a metric unit when applicable.
- Should not use symbols like “/”.
- If it is a derived unit, use 'per' to denote a division, e.g. '... per hectare', or '... per person'.
- Should be '%' for percentages.
DO | DON'T |
---|---|
«tonnes per hectare » |
«tonnes/hectare » |
«kilowatts per person » |
«kilowatts per capita » |