Changes for page Guidelines on coding time transformations in SDMX
Last modified by Artur K. on 2026/05/29 14:28
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 8 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -12,12 +12,12 @@ 12 12 13 13 Examples: 14 14 15 -|**Statement**|**T**|**P**|**F** 16 -|Quarter on quarter growth rate|Growth rate|2|Q 17 -|Contribution to growth over 1 year (quarterly data)|Contribution to growth|4|Q 18 -|Contribution to growth over 1 year (annual data)|Contribution to growth|1|A 19 -|3 months moving average|Moving average|3|M 20 -|Annual index (reference year=100){{footnote}}Note that for the case of an index, it is useful to specify the reference base period in an additional attribute (see concept BASE_PER specified in the SDMX Glossary).{{/footnote}}|Index|1|A 15 +|(% style="width:501px" %)**Statement**|(% style="width:303px" %)**T**|(% style="width:472px" %)**P**|(% style="width:454px" %)**F** 16 +|(% style="width:501px" %)Quarter on quarter growth rate|(% style="width:303px" %)Growth rate|(% style="width:472px" %)2|(% style="width:454px" %)Q 17 +|(% style="width:501px" %)Contribution to growth over 1 year (quarterly data)|(% style="width:303px" %)Contribution to growth|(% style="width:472px" %)4|(% style="width:454px" %)Q 18 +|(% style="width:501px" %)Contribution to growth over 1 year (annual data)|(% style="width:303px" %)Contribution to growth|(% style="width:472px" %)1|(% style="width:454px" %)A 19 +|(% style="width:501px" %)3 months moving average|(% style="width:303px" %)Moving average|(% style="width:472px" %)3|(% style="width:454px" %)M 20 +|(% style="width:501px" %)Annual index (reference year=100){{footnote}}Note that for the case of an index, it is useful to specify the reference base period in an additional attribute (see concept BASE_PER specified in the SDMX Glossary).{{/footnote}}|(% style="width:303px" %)Index|(% style="width:472px" %)1|(% style="width:454px" %)A 21 21 22 22 This guideline describes two methods that may be used to code a time transformation: 23 23 ... ... @@ -37,29 +37,26 @@ 37 37 Definition: This concept provides coded information about time-related transformation types of time series. 38 38 39 39 **Concept ID: **The concept ID is TIMETRANS_TYPE. 40 - 41 41 **Code List Name**: Code list for Time Transformation Type. 42 - 43 43 **Code List ID:** CL_TIMETRANS_TYPE. 44 - 45 45 **Established international standard(s) used as input for the code list**: None. 46 46 47 47 **Version**: 1.0, 15 September 2016 48 48 49 -|**Recommended code value**|Recommended code description|Annotation 50 -|**N**|Non transformed|TIMETRANS_PER is always 1, since a non-transformed number covers by definition a single period 51 -|**A**|Average|Moving average, i.e. an operation that preserves the frequency of the series 52 -|**C**|Cumulated sum| 53 -|**D**|Difference| 54 -|**DD**|Difference, second order|A second order difference is the delta of deltas 55 -|**F**|Growth rate, flow over stock| 56 -|**FC**|Contribution to growth, flow over stock| 57 -|**G**|Growth rate| 58 -|**GC**|Contribution to growth| 59 -|**I**|Index|In the usual case, the index is fixed to 100 for a specific reference period, in most cases a year. It is recommended that the DSD contains an additional attribute BASE_PER (type ObservationalTimePeriod), which specifies the reference period of the index. In special cases (e.g. National Accounts chain linking), the index is fixed to a value different to 100 in the reference year. In these cases the BASE_PER attribute is even more important. 60 -|**LA**|Annualised levels|This relates to stock versus flow series. For example, many countries publish their Quarterly National Accounts (QNA) at quarterly level, which means that annual Gross Domestic Product (GDP) is the sum of the four quarters, whereas some countries publish their QNA at annual level (e.g. US), which means that annual GDP is the average of the four quarters. In order to present quarterly data in comparable levels across countries and to derive zone aggregates, quarterly data expressed at quarterly levels are “transformed” to annual levels (i.e. multiplied by four) and have this code. 61 -|**S**|Shifted|The time series was moved back or forth in time. This may for instance be used when non-calendar year series are aligned to the calendar year using certain estimation formulas. 62 -|**_O**|Other transformation|This code is taken from the guidelines on generic codes, specifying "Other". In that context it should be used if more complex transformations are applied. An explanation of the transformation or a transformation script should be given in a comment field. 46 +|**Recommended code value**|(% style="width:309px" %)Recommended code description|(% style="width:1262px" %)Annotation 47 +|**N**|(% style="width:309px" %)Non transformed|(% style="width:1262px" %)TIMETRANS_PER is always 1, since a non-transformed number covers by definition a single period 48 +|**A**|(% style="width:309px" %)Average|(% style="width:1262px" %)Moving average, i.e. an operation that preserves the frequency of the series 49 +|**C**|(% style="width:309px" %)Cumulated sum|(% style="width:1262px" %) 50 +|**D**|(% style="width:309px" %)Difference|(% style="width:1262px" %) 51 +|**DD**|(% style="width:309px" %)Difference, second order|(% style="width:1262px" %)A second order difference is the delta of deltas 52 +|**F**|(% style="width:309px" %)Growth rate, flow over stock|(% style="width:1262px" %) 53 +|**FC**|(% style="width:309px" %)Contribution to growth, flow over stock|(% style="width:1262px" %) 54 +|**G**|(% style="width:309px" %)Growth rate|(% style="width:1262px" %) 55 +|**GC**|(% style="width:309px" %)Contribution to growth|(% style="width:1262px" %) 56 +|**I**|(% style="width:309px" %)Index|(% style="width:1262px" %)In the usual case, the index is fixed to 100 for a specific reference period, in most cases a year. It is recommended that the DSD contains an additional attribute BASE_PER (type ObservationalTimePeriod), which specifies the reference period of the index. In special cases (e.g. National Accounts chain linking), the index is fixed to a value different to 100 in the reference year. In these cases the BASE_PER attribute is even more important. 57 +|**LA**|(% style="width:309px" %)Annualised levels|(% style="width:1262px" %)This relates to stock versus flow series. For example, many countries publish their Quarterly National Accounts (QNA) at quarterly level, which means that annual Gross Domestic Product (GDP) is the sum of the four quarters, whereas some countries publish their QNA at annual level (e.g. US), which means that annual GDP is the average of the four quarters. In order to present quarterly data in comparable levels across countries and to derive zone aggregates, quarterly data expressed at quarterly levels are “transformed” to annual levels (i.e. multiplied by four) and have this code. 58 +|**S**|(% style="width:309px" %)Shifted|(% style="width:1262px" %)The time series was moved back or forth in time. This may for instance be used when non-calendar year series are aligned to the calendar year using certain estimation formulas. 59 +|**_O**|(% style="width:309px" %)Other transformation|(% style="width:1262px" %)This code is taken from the guidelines on generic codes, specifying "Other". In that context it should be used if more complex transformations are applied. An explanation of the transformation or a transformation script should be given in a comment field. 63 63 64 64 == 2.2 Time Transformation Periods == 65 65 ... ... @@ -66,40 +66,25 @@ 66 66 Definition: This concept provides information about the number of periods used for a time-related transformation of the time series. 67 67 68 68 **Concept ID: **The concept ID is TIMETRANS_PER. 69 - 70 70 **Code List Name**: Code list for Time Transformation Periods. 71 - 72 72 **Code List ID:** CL_TIMETRANS_PER. 73 - 74 74 **Established international standard(s) used as input for the code list**: None. 75 75 76 76 **Version**: 1.0, 15 September 2016 77 77 78 -|**Recommended code value**|**Recommended 79 -code description**|**Annotation** 80 -|**1**|One| 81 -|**2**|Two| 82 -|**etc.**|etc.| 72 +(% style="width:1172.96px" %) 73 +|(% style="width:320px" %)**Recommended code value**|(% style="width:408px" %)**Recommended 74 +code description**|(% style="width:442px" %)**Annotation** 75 +|(% style="width:320px" %)**1**|(% style="width:408px" %)One|(% style="width:442px" %) 76 +|(% style="width:320px" %)**2**|(% style="width:408px" %)Two|(% style="width:442px" %) 77 +|(% style="width:320px" %)**etc.**|(% style="width:408px" %)etc.|(% style="width:442px" %) 83 83 84 84 == 2.3 Relation of transformation coding to transformation rules == 85 85 86 86 Transformation can also be expressed with transformation rules using a syntax such as the Validation and Transformation Language (VTL). Following the transformation graph model behind VTL, the transformation coding suggested in this guideline can be seen complementary with using transformation rules in VTL. The idea is that a coded non-transformed time series is transformed using a VTL rule and the result is then coded again with transformation codes for further data exchange. This principle is shown in the graph below: 87 87 83 +[[image:1769510498202-796.png]] 88 88 89 -|((( 90 -Level series 91 -))) 92 - 93 -|((( 94 -Transformed series 95 -))) 96 - 97 -|((( 98 -Transformation rule 99 - 100 -(VTL) 101 -))) 102 - 103 103 Using the two concepts as suggested above for coding the type of transformation applied and the number of periods covered will additionally ensure that the parameters used for the formula are directly used in the coding of the resulting series. Thus no complex mapping is needed. The transformation applied is linked to the transformation type concept and the number of periods used for the calculation is linked to the transformation periods concept. 104 104 105 105 **Example:** ... ... @@ -106,40 +106,40 @@ 106 106 107 107 The formula for a simple annual growth rate can be expressed as follows:{{footnote}}Note: often growth rates are expressed as percentage growth, in which case the value is multiplied with 100%. This is however not relevant for this guideline and is left out for simplicity.{{/footnote}} 108 108 109 - //GT= VT-VT-PVT-P//[[image:file:///C:/Users/axyli/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png]]91 +[[image:1769510529532-579.png]] 110 110 111 - àA growth rate over P years in year T is the difference between the current year value and the value P years ago related to the value P years ago; with G being the growth rate, V being the absolute value, T being the time (year) and P the number of periods.93 +A growth rate over P years in year T is the difference between the current year value and the value P years ago related to the value P years ago; with G being the growth rate, V being the absolute value, T being the time (year) and P the number of periods. 112 112 113 113 The growth rate formula can be expressed in VTL and linked to transformation type G. The year T is linked to the respective year in the time series and the parameter P is linked to the transformation period concept. 114 114 115 115 **Example:** 116 116 117 -|**Year à**|**2010**|**2011**|**2012**|**2013** 118 -|**GDP Level**|500|505|510|505 119 -|**Growth rate, 120 -period on period**| |0.0100|0.0099|-0.0098 121 -|**Formula**| |//GT= V2011-V2011-1V2011-1//[[image:file:///C:/Users/axyli/AppData/Local/Temp/msohtmlclip1/01/clip_image002.png]]|//GT=V2012-V2012-1V2012-1//[[image:file:///C:/Users/axyli/AppData/Local/Temp/msohtmlclip1/01/clip_image003.png]]|//GT=V2013-V2013-1V2013-1//[[image:file:///C:/Users/axyli/AppData/Local/Temp/msohtmlclip1/01/clip_image004.png]]122 -|**Growth rate, 123 -over 2 periods**| | |0.0200|0.0000 124 -|**Formula**| | |//GT= V2012-V2012-2V2012-2//[[image:file:///C:/Users/axyli/AppData/Local/Temp/msohtmlclip1/01/clip_image005.png]]|//GT=V2013-V2013-2V2013-2//[[image:file:///C:/Users/axyli/AppData/Local/Temp/msohtmlclip1/01/clip_image006.png]]99 +|(% style="width:427px" %)**Year à**|(% style="width:230px" %)**2010**|(% style="width:365px" %)**2011**|(% style="width:386px" %)**2012**|(% style="width:322px" %)**2013** 100 +|(% style="width:427px" %)**GDP Level**|(% style="width:230px" %)500|(% style="width:365px" %)505|(% style="width:386px" %)510|(% style="width:322px" %)505 101 +|(% style="width:427px" %)**Growth rate, 102 +period on period**|(% style="width:230px" %) |(% style="width:365px" %)0.0100|(% style="width:386px" %)0.0099|(% style="width:322px" %)-0.0098 103 +|(% style="width:427px" %)**Formula**|(% style="width:230px" %) |(% style="width:365px" %)[[image:1769510625588-573.png]]|(% style="width:386px" %)[[image:1769510654674-828.png]]|(% style="width:322px" %)[[image:1769510676535-250.png]] 104 +|(% style="width:427px" %)**Growth rate, 105 +over 2 periods**|(% style="width:230px" %) |(% style="width:365px" %) |(% style="width:386px" %)0.0200|(% style="width:322px" %)0.0000 106 +|(% style="width:427px" %)**Formula**|(% style="width:230px" %) |(% style="width:365px" %) |(% style="width:386px" %)[[image:1769510701118-480.png]]|(% style="width:322px" %)[[image:1769510718908-350.png]] 125 125 126 126 When looking at the formulas, you can see that the same parameters that are used to call a transformation service can be used to code the resulting series, which makes it very easy for data processing systems to ensure consistency between calculations and coding of results: 127 127 128 -|**Year à**|2011|(% rowspan="4" %)(((110 +|**Year **→|2011|(% rowspan="4" %)((( 129 129 **Transformed series:** 130 130 131 -REF_YEAR à2011113 +REF_YEAR → 2011 132 132 133 -OBS_VALUE à0.0100115 +OBS_VALUE → 0.0100 134 134 135 -TRANS_TYPE àG (Formula / VTL function)117 +TRANS_TYPE → G (Formula / VTL function) 136 136 137 -TRANS_PER à1119 +TRANS_PER → 1 138 138 ))) 139 139 |**GDP Level**|505 140 140 |**Growth rate, 141 141 period on period**|0.0100 142 -|**Formula**| //GT= V2011-V2011-1V2011-1//[[image:file:///C:/Users/axyli/AppData/Local/Temp/msohtmlclip1/01/clip_image007.png]]124 +|**Formula**|[[image:1769510755278-324.png]] 143 143 144 144 This is especially useful when only transformed series should be exchanged and level series or transformations are not subject to exchange. An example could be GDP growth rates, where for early estimates often level series are still under embargo, whereas growth rates are publishable. 145 145 ... ... @@ -165,7 +165,8 @@ 165 165 166 166 In case the mixed frequencies or complex transformations as outlined above are needed in a simpler way and normalisation does not need to be strictly enforced, a composite code list CL_TIMETRANS may be created. 167 167 168 -The number of periods in the code follows the frequency of the series unless stated otherwise. Example: code G3Y refers to a three-year growth rate, irrespective of the series frequency. For complex transformations, the codes that would be used for the respective transformations can be concatenated and separated by an underscore[[~[4~]>>path:#_ftn4]]. 150 +The number of periods in the code follows the frequency of the series unless stated otherwise. Example: code G3Y refers to a three-year growth rate, irrespective of the series frequency. For complex transformations, the codes that would be used for the respective transformations can be concatenated and separated by an underscore{{footnote}}Example: 151 +G1_C4 Growth rate, period on period, over 4-period cumulated sum{{/footnote}}. 169 169 170 170 Example for composite CL_TIMETRANS: 171 171 ... ... @@ -321,12 +321,4 @@ 321 321 322 322 ---- 323 323 324 -Example: 325 - 326 -|**G1_C4**|Growth rate, period on period, over 4-period cumulated sum 327 - 328 - 329 - 330 -[[~[5~]>>path:#_ftnref5]] 331 - 332 332 {{putFootnotes/}}
- 1769510498202-796.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +xwiki:XWiki.helena - Size
-
... ... @@ -1,0 +1,1 @@ 1 +9.0 KB - Content
- 1769510529532-579.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +xwiki:XWiki.helena - Size
-
... ... @@ -1,0 +1,1 @@ 1 +1.8 KB - Content
- 1769510625588-573.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +xwiki:XWiki.helena - Size
-
... ... @@ -1,0 +1,1 @@ 1 +1.9 KB - Content
- 1769510654674-828.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +xwiki:XWiki.helena - Size
-
... ... @@ -1,0 +1,1 @@ 1 +1.9 KB - Content
- 1769510676535-250.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +xwiki:XWiki.helena - Size
-
... ... @@ -1,0 +1,1 @@ 1 +2.0 KB - Content
- 1769510701118-480.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +xwiki:XWiki.helena - Size
-
... ... @@ -1,0 +1,1 @@ 1 +1.8 KB - Content
- 1769510718908-350.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +xwiki:XWiki.helena - Size
-
... ... @@ -1,0 +1,1 @@ 1 +2.0 KB - Content
- 1769510755278-324.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +xwiki:XWiki.helena - Size
-
... ... @@ -1,0 +1,1 @@ 1 +1.9 KB - Content