Loading
  • 21 Aug, 2019

  • By, Wikipedia

Template:Inflation

This template calculates inflation based on several inflation index data sets. The template uses an identification code for an inflation index (usually a country code), an original value, an original start_year and either a specific reference end_year or by default the latest currently available end year, and calculates the equivalent value from historical economic changes between the original and reference years. For example, this template calls the United States inflation table located in the sub-template Template:Inflation/US/dataset to perform the U.S. calculation.

Aside from a convenient way to calculate values from different specified time periods, this template allows a regularly automatically updated calculation of value based on the most recent available inflation data. Whenever inflation tables are updated, potentially annually, all articles using this template have their displayed values updated accordingly.

For US currency, a simplified wrapper template exists, {{USDCY}}, which turns e.g. "{{USDCY|6.66|1899}}" into "($244.00 in 2023)".

Usage

{{Inflation|index|value|start_year}}
{{Inflation|index|value|start_year|end_year}}
{{Inflation|index|value|start_year|r=decimals|fmt=c}}
{{Inflation|index|value|start_year|r=decimals|fmt=eq}}
{{Inflation|index|value|start_year|r=decimals|fmt=eq|cursign=X}}

The supported countries are listed below, with their index and available data periods:

index Country start_year minimum end_year maximum
AR Argentina 1864 2020
AT Austria 1440 2018
AU Australia 1850 2022
AU-road Australia [...?] 1998 2018
BD Bangladesh 1986 2023
BE Belgium 1399 2020
BR Brazil 1820 2020
CA Canada 1688 2023
CH Switzerland 1501 2021
CL Chile 1661 2020
CN China 961 2019
DE Germany 1500 2021
DK Denmark 1502 2022
EG Egypt 1915 2018
ES Spain 1276 2022
EU Euro (European Union) 1996 2023
FI Finland 1860 2023
FR France 1262 2022
GR Greece 1833 2007
HK Hong Kong 1947 2020
ID Indonesia 1820 2007
IL Israel 1951 2021
IN India 1595 2023
IR Iran 1315 1398
IS Iceland 1849 2020
IT Italy 1326 2020
JP Japan 1868 2019
MX Mexico 1525 2007
NL Netherlands 1450 2016
NO Norway 1492 2017
NZ New Zealand 1862 2021
PE Peru 1564 2017
PH Philippines 1899 2021
PK Pakistan 1960 2021
PL Poland 1409 2021
PT Portugal 1672 2007
RU Russia 1548 2023
SE Sweden 1290 2023
SG Singapore 1961 2022
TH Thailand 1820 2020
TR Turkey 1585 2021
TW Taiwan 1903 2021
UK United Kingdom 1209 2023
UK-GDP United Kingdom GDP deflator 1700 2019
US United States 1634 2023
US-GDP United States GDP deflator 1790 2023
ZAR South Africa 1652 2018
KRW South Korea 1906 2017

Parameters

  • |index= (parameter 1), required, an index code for one of several available inflation indexes.
  • |value= (parameter 2), required, original price or value from which to base the inflation calculation on. Will ignore any commas, but must not have a currency symbol.
  • |start_year= (parameter 3), required, original year from which to base the inflation calculation on. Must be a year available in the chosen inflation index. As an exception to this, if the current year is specified and no end_year is specified, the template will output value unchanged, as it can be assumed an inflation of zero.
  • |end_year= (parameter 4), optional, reference year for which to calculate inflation. Must be higher (later) than start_year, but not higher than the highest (most recent) year available in the chosen inflation index, and will default to the highest (most recent) available year if omitted.
  • |r=digit sets the digits to which the value must be rounded. A negative value indicates rounding to an upper significant digit, and a positive value indicates a fractional digit including trailing zeros. Defaults to 0, i.e., without cents.
  • |fmt=c will insert thousands separator commas into the calculated value.
  • |fmt=eq will show an equivalent-to phrase, in the format, "equivalent to cursignend_value in end_year". Uses thousands separator commas.
    • |cursign= will set the currency symbol to be shown. Only functions when |fmt=eq is used. Can use advanced symbol formats, but can only precede the calculated value. Default is $.
    • |orig=yes will display the original value too, with the currency sign provided.

Examples

  • Green tickY {{Inflation|KRW|100|2000}}155
  • Green tickY {{Inflation|DE|100|2000}}70
  • Green tickY {{Inflation|US|595|1982}}1879
  • Green tickY {{Inflation|US|595|1982|fmt=eq}}equivalent to $1,879 in 2023
  • Green tickY {{Inflation|US|800|1942|fmt=eq|r=-3}}equivalent to $15,000 in 2023
  • Green tickY {{Inflation|US|100|2010|2012|fmt=eq|r=2}}equivalent to $105.28 in 2012
  • Green tickY US$595 ({{Inflation|US|595|1982|fmt=eq}})US$595 (equivalent to $1,879 in 2023)
  • Green tickY US$595 ({{Inflation|US|595|1982|fmt=eq|cursign=[[United States dollar|US$]]}})US$595 (equivalent to US$1,879 in 2023)
  • Green tickY $21 million (equivalent to ${{Inflation|US|21|2005|r=2}} million in {{Inflation/year|US}})$21 million (equivalent to $32.76 million in 2023)
  • Green tickY {{Inflation|UK|1|1209|fmt=eq|cursign=£}}equivalent to £1,780 in 2023
  • Green tickY {{Inflation|AU|100|2024|fmt=eq}}equivalent to $100 in 2024
  • Green tickY ${{Inflation|US|100|2024}} in {{Inflation/year|US}}$100 in 2023
  • Green tickY {{Inflation|UK|100|1982|fmt=eq|orig=yes|cursign=£}}£100 (equivalent to £446 in 2023)

It is possible to use the template in incorrect ways without producing error messages. Please read the warnings and appropriate uses of this template at the beginning of the template description.

  • Red XN {{Inflation|UK|10|1971|fmt=eq}}equivalent to $179 in 2023 (Omitting the |cursign= parameter will show the $ symbol by default, which is the wrong currency symbol for British currency)
  • Green tickY {{Inflation|UK|10|1971|fmt=eq|cursign=£}}equivalent to £179 in 2023
  • Red XN $595 (${{Inflation|US|595|1982|fmt=c}} today)$595 ($1,879 today) (Misleading time reference)
  • Red XN $595 (${{Inflation|US|595|1982|fmt=c}} in {{CURRENTYEAR}})$595 ($1,879 in 2024) (Misleading time reference)
  • Red XN $100 (${{Inflation|US|595|1982|fmt=c}} adjusted for inflation)$100 ($1,879 adjusted for inflation) (Misleading time reference)
  • Green tickY $595 ({{Inflation|US|595|1982|fmt=eq}})$595 (equivalent to $1,879 in 2023)
  • Green tickY $595 (equivalent to ${{Inflation|US|595|1982|fmt=c}} in {{Inflation/year|US}})$595 (equivalent to $1,879 in 2023)
  • Red XN Jane Doe amassed a fortune of $1 billion in 1975, making her worth ${{Inflation|US|1|1975|fmt=c}} billion in {{Inflation/year|US}}.Jane Doe amassed a fortune of $1 billion in 1975, making her worth $6 billion in 2023. (CPI is not for personal wealth of the wealthy – use GDP deflator instead)
  • Red XN Jane Doe amassed a fortune of $1 billion in 1975, equivalent to ${{Inflation|US|1|1975|fmt=c}} billion in {{Inflation/year|US}}.Jane Doe amassed a fortune of $1 billion in 1975, equivalent to $6 billion in 2023. (CPI is not for personal wealth of the wealthy – use GDP deflator instead)
  • Green tickY Jane Doe amassed a fortune of $1 billion in 1975, equivalent to ${{Inflation|US-GDP|1|1975|fmt=c}} billion in {{Inflation/year|US-GDP}}.Jane Doe amassed a fortune of $1 billion in 1975, equivalent to $4 billion in 2023

Entering invalid parameters or omitting required parameters will result in an error message and categorization into Category:Pages with errors in inflation template.

  • Red XN {{Inflation}}Error when using {{Inflation}}: |index= (parameter 1), |value= (parameter 2) and |start_year= (parameter 3) must be specified.
  • Red XN {{Inflation|abc}}Error when using {{Inflation}}: |value= (parameter 2) and |start_year= (parameter 3) must be specified.
  • Red XN {{Inflation|AU}}Error when using {{Inflation}}: |value= (parameter 2) and |start_year= (parameter 3) must be specified.
  • Red XN {{Inflation|AU|100}}Error when using {{Inflation}}: |start_year= (parameter 3) must be specified.
  • Red XN {{Inflation|abc|€100|1980}}Error when using {{Inflation}}: |index=abc (parameter 1) not a recognized index.
  • Red XN {{Inflation|DE|€100|1980}}Error when using {{Inflation}}: NaN, check parameters for non-numeric data: |value=€100 (parameter 2).
  • Red XN {{Inflation|DE|€100|zzzz|zzzz|r=zzzz}}Error when using {{Inflation}}: NaN, check parameters for non-numeric data: |value=€100 (parameter 2), |start_year=zzzz (parameter 3), |end_year=zzzz (parameter 4) and |r=zzzz.
  • Red XN {{Inflation|AU|100|1200|2025}}Error when using {{Inflation}}: |start_year=1200 (parameter 3) is lower than the earliest available year (1850) in index "AU" and |end_year=2025 (parameter 4) is greater than the latest available year (2022) in index "AU".
  • Red XN {{Inflation|AU|100|2005|2004}}Error when using {{Inflation}}: |start_year=2005 (parameter 3) is greater than |end_year=2004 (parameter 4). (see the Limitations section below)
  • Red XN {{Inflation|AU|100|2005|2025|fmt=eq}}Error when using {{Inflation}}: |end_year=2025 (parameter 4) is greater than the latest available year (2022) in index "AU".
  • Red XN {{Inflation|AU|100|2024|2025|fmt=eq}}Error when using {{Inflation}}: |end_year=2025 (parameter 4) is greater than the latest available year (2022) in index "AU".
  • Red XN {{Inflation|AU|100|2024|1905|fmt=eq}}Error when using {{Inflation}}: |start_year=2024 (parameter 3) is greater than |end_year=1905 (parameter 4).
  • Red XN {{Inflation|AU|100|2025|fmt=eq}}Error when using {{Inflation}}: |start_year=2025 (parameter 3) is greater than the latest available year (2022) in index "AU".

Tips & tricks

Currency conversion

Many datasets are currency agnostic, which means they don't convert between different currencies (or for currency redenominations). Thus, if you wanted to know today's equivalent value of 1,000.00 Austrian schillings in 1960, entering {{Inflation|AT|1000|1960|r=2}} would provide a result (6550.14) still in schillings, not in euros.

Consequently, if you need a result in a currency other than the one in which the original value is stated, for now you must do the conversion manually, as in the following example which uses the defined conversion rate of 13.7603 schillings to one Euro:

  • Green tickY {{#expr:({{Inflation|AT|1000|1960|r=2}} / 13.7603) round 2}}476.02

Instead of manually inputting a conversion for the Euro from a national currency, it is possible to divide by {{FixedEuroRate}} instead; for conversion to USD, use {{International dollars}}.

Some datasets are not currency agnostic; check the sources for each dataset to determine this.

 ToDo A currency conversion template to ease these conversion tasks is planned. This section will be updated accordingly once it's developed.

Non-decimal inputs

The template does not accept non-decimal inputs such as £sd; these must be decimalized beforehand. For example, if you wanted to know the value of three shillings and sixpence (3s 6d) Sterling in 1950 in 2018, you must convert to the appropriate decimal value (in this case £0.175) for use in the template:

  • Green tickY {{Inflation|GBP|0.175|1950|2018}}6

For £sd specifically {{Pounds, shillings, and pence}} can be used to convert to decimal. For other non-decimal currencies, such as the old Indian rupee, templates can be made for decimalization upon request.

  • Green tickY {{Inflation|GBP|{{Pounds, shillings, and pence|s=3|d=6}}|1950|2018|r=0|fmt=eq|cursign=£}}equivalent to £6 in 2018
  • Green tickY {{Inflation|UK|{{Pounds, shillings, and pence|s=10|d=6}}|1865|fmt=eq|cursign=£}}equivalent to £64 in 2023

Rounding

By default the values are calculated to the unit, as for all but very low values cents are undesirable. You can specify rounding with the |r= parameter which determines the number of decimals. To obtain cents use |r=2, but other values can be used, including negative ones: |r=-3, for example, will round to the nearest thousand, |r=-6 to the nearest million, and so on. It is advisable to avoid false precision; even if the start value is known to be exact, the template's result will not be because the inflation index tables are rarely accurate to more than about 1%, and a granularity of whole years is used.

Very large results

Very large results are expressed in scientific notation ("1.2E+14" instead of "120000000000000") which is normally not desirable. A workaround is to express the value to be inflated with fewer digits, adding a multiplier text such as "trillion" after the result, using the "Show preview" button as many times as needed, changing parameters until the best result is found:

  • Green tickY ${{Inflation|US-GDP|1000000000000|1900|r=-11|fmt=c}}$30,100,000,000,000
  • Red XN ${{Inflation|US-GDP|10000000000000|1900|r=-12|fmt=c}}$301,000,000,000,000
  • Red XN ${{Inflation|US-GDP|10000000000|1900|r=-9|fmt=c}} thousand$301,000,000,000 thousand
  • Green tickY ${{Inflation|US-GDP|10000000|1900|r=-6|fmt=c}} million$301,000,000 million
  • Green tickY ${{Inflation|US-GDP|10000|1900|r=-3|fmt=c}} billion$301,000 billion
  • Green tickY ${{Inflation|US-GDP|10|1900|fmt=c}} trillion$301 trillion

The following section provides an automated way of avoiding this trial and error scenario.

Format price

{{Format price}} is a template specifically designed to display price values, both big and small, in a readable way. For example, instead of showing the whole of a huge number such as "953,783,409,856.12", it would show it as "954 billion", while small numbers have their cents part appearing as expected, "1234.5" being properly shown as "1,235".

  • Green tickY ${{Format price|{{Inflation|US-GDP|10000000000000|1900}}}}$301 trillion
  • Green tickY ${{Format price|{{Inflation|US-GDP|1000000|1990}}}}$2.06 million
  • Green tickY DM {{Format price|{{Inflation|DE|1000000|1957|1978}}}}DM 2.01 million
  • Green tickY £{{Format price|{{Inflation|UK-GDP|1000|1323}}}}£830,513

Citing inflation data sources

It's a good practice to provide a valid reference for the prices calculated with this template in articles where it's used. The template {{Inflation/fn}} was developed to ease this task. It accepts as its single parameter the same country codes used here, and will generate one or more appropriate footnotes. Typically, this is how a piece of text using it looks like:

  • In 1985 a unit cost on average $1,040. This is {{Inflation|US|1040|1985|fmt=eq}}.{{Inflation/fn|US}}

Resulting in this converted code (notice the footnote link at the end):

  • In 1985 a unit cost on average $1,040. This is equivalent to $2,946 in 2023.

The footnote thus generated appears whenever {{reflist}} or <references /> is used in an article, usually in its "References" section. See below for the live example in this document's own References section, or click the above generated footnote to jump to it.

Limitations

  1. Currently it isn't possible to "de-inflate" a value to what it would have been in a previous year. If you need this functionality, please request it at the talk page. Adding it won't be difficult, but there's no point in doing so before someone actually needs it.
  2. Substitution isn't supported at all. Trying to {{subst:Inflation|...}} would only result in a long sequence of embedded parser code without any direct benefit. If you need to obtain an inflated price only once, please use the special ExpandTemplates page then copy the result and paste it at the desired location.

Developer documentation

An inflation series represents templates in the following categories:

  • Template:Inflation/index
  • Template:Inflation/index/dataset
  • Template:Inflation/index/startyear
  • Template:Inflation/doc/index (Which is then displayed at Inflation/name/dataset as the documentation, and needs to refer to the original data source)

Modifications need to be made to:

Current subpages:

In this templatespace:

Template:
Inflation
Template talk:
Inflation

Useful sources

TemplateData

This is the TemplateData for this template used by TemplateWizard, VisualEditor and other tools. See a monthly parameter usage report for Template:Inflation in articles based on its TemplateData.

TemplateData for Inflation

This template calculates inflation based on several inflation index data sets. Note that this template defaults to calculating the inflation of Consumer Price Index values: staples, workers' rent, small service bills (doctor's costs, train tickets). For inflating capital expenses, government expenses, or the personal wealth and expenditure of the rich, the US-GDP or UK-GDP indexes should be used, which calculate inflation based on the [[gross domestic product]] (GDP) for the [[United States]] and [[United Kingdom]], respectively.

Template parameters[Edit template data]

This template prefers inline formatting of parameters.

ParameterDescriptionTypeStatus
Indexindex 1

An index code for one of several available inflation indexes. One of AU, AU-road, BD, CA, DE, IN, JP, PH, PK, UK, UK-GDP, US, US-GDP, ZAR, and various others.

Example
US
Stringrequired
Valuevalue 2

Original price or value from which to base the inflation calculation on. Will ignore any commas.

Example
1000
Numberrequired
Start yearstart_year 3

Original year from which to base the inflation calculation on. Must be a year available in the chosen inflation index. As an exception to this, if the current year is specified and no 'End year' is specified, the template will output value unchanged, as it can be assumed an inflation of zero.

Example
1975
Numberrequired
End yearend_year 4

Reference year for which to calculate inflation. Must be higher (later) than 'Start year', but not higher than the highest (most recent) year available in the chosen inflation index, and will default to the highest (most recent) available year if omitted.

Example
2015
Numberoptional
Number of digitsr

Sets the digits to which the value must be rounded. A negative value indicates rounding to an upper significant digit, and a positive value indicates a fractional digit including trailing zeros. Defaults to 0. When used in mainspace, this should be set to the number of [[significant figures]] the source value has.

Default
0
Example
1
Numberrequired
Formatfmt

"c" will insert thousands separator commas into the calculated value. "eq" will show an equivalent-to phrase, in the format, "equivalent to (cursign)(end_value) in (end_year)". Uses thousands separator commas.

Example
eq
Stringoptional
Currency signcursign

Sets the currency symbol to be shown. Only functions when Format "eq" is used. Can use advanced symbol formats, but can only precede the calculated value. Default is $.

Default
$
Example
Stringoptional

See also