Last modified by Artur K. on 2026/05/29 14:28

From version 3.1
edited by Artur K.
on 2026/05/29 14:28
Change comment: Copied from sdmxsrlocalization:Methodology.Guidelines on coding time transformations in SDMX.WebHome
To version 2.7
edited by Helena K.
on 2026/01/27 13:41
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -xwiki:XWiki.arturkryazhev
1 +xwiki:XWiki.helena
Content
... ... @@ -88,40 +88,40 @@
88 88  
89 89  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}}
90 90  
91 -[[image:1769510529532-579.png]]
91 +//GT= VT-VT-PVT-P//[[image:file:///C:/Users/axyli/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png]]
92 92  
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.
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.
94 94  
95 95  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.
96 96  
97 97  **Example:**
98 98  
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]]
99 +|**Year à**|**2010**|**2011**|**2012**|**2013**
100 +|**GDP Level**|500|505|510|505
101 +|**Growth rate,
102 +period on period**| |0.0100|0.0099|-0.0098
103 +|**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]]
104 +|**Growth rate,
105 +over 2 periods**| | |0.0200|0.0000
106 +|**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]]
107 107  
108 108  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:
109 109  
110 -|**Year →**|2011|(% rowspan="4" %)(((
110 +|**Year à**|2011|(% rowspan="4" %)(((
111 111  **Transformed series:**
112 112  
113 -REF_YEAR → 2011
113 +REF_YEAR à 2011
114 114  
115 -OBS_VALUE → 0.0100
115 +OBS_VALUE à 0.0100
116 116  
117 -TRANS_TYPE → G (Formula / VTL function)
117 +TRANS_TYPE à G (Formula / VTL function)
118 118  
119 -TRANS_PER → 1
119 +TRANS_PER à 1
120 120  )))
121 121  |**GDP Level**|505
122 122  |**Growth rate,
123 123  period on period**|0.0100
124 -|**Formula**|[[image:1769510755278-324.png]]
124 +|**Formula**|//GT= V2011-V2011-1V2011-1//[[image:file:///C:/Users/axyli/AppData/Local/Temp/msohtmlclip1/01/clip_image007.png]]
125 125  
126 126  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.
127 127  
... ... @@ -152,130 +152,156 @@
152 152  
153 153  Example for composite CL_TIMETRANS:
154 154  
155 -|(% style="width:227px" %)**Recommended code value**|(% style="width:527px" %)**Recommended code description**|(% style="width:976px" %)**Annotation**
156 -|(% style="width:227px" %)N|(% style="width:527px" %)Non transformed data|(% style="width:976px" %)
157 -|(% style="width:227px" %)A2|(% style="width:527px" %)2-period moving average|(% style="width:976px" %)Period on period
158 -|(% style="width:227px" %)A3|(% style="width:527px" %)3-period moving average|(% style="width:976px" %)
159 -|(% style="width:227px" %)A4|(% style="width:527px" %)4-period moving average|(% style="width:976px" %)
160 -|(% style="width:227px" %)A6|(% style="width:527px" %)6-period moving average|(% style="width:976px" %)
161 -|(% style="width:227px" %)A12|(% style="width:527px" %)12-period moving average|(% style="width:976px" %)
162 -|(% style="width:227px" %)C3|(% style="width:527px" %)3-period cumulated sum|(% style="width:976px" %)
163 -|(% style="width:227px" %)C4|(% style="width:527px" %)4-period cumulated sum|(% style="width:976px" %)
164 -|(% style="width:227px" %)C6|(% style="width:527px" %)6-period cumulated sum|(% style="width:976px" %)
165 -|(% style="width:227px" %)C12|(% style="width:527px" %)12-period cumulated sum|(% style="width:976px" %)
166 -|(% style="width:227px" %)C16|(% style="width:527px" %)16-period cumulated sum|(% style="width:976px" %)
167 -|(% style="width:227px" %)D2|(% style="width:527px" %)Differences, period on period, first order|(% style="width:976px" %)
168 -|(% style="width:227px" %)DD|(% style="width:527px" %)Differences, period on period, second order|(% style="width:976px" %)
169 -|(% style="width:227px" %)D4|(% style="width:527px" %)Difference, period on 4 periods, first order|(% style="width:976px" %)
170 -|(% style="width:227px" %)F2|(% style="width:527px" %)Growth rate, flow over stock, over two periods|(% style="width:976px" %)Period on period
171 -|(% style="width:227px" %)F3|(% style="width:527px" %)Growth rate, flow over stock ,over 3 periods|(% style="width:976px" %)
172 -|(% style="width:227px" %)F4|(% style="width:527px" %)Growth rate, flow over stock over 4 periods|(% style="width:976px" %)
173 -|(% style="width:227px" %)F6|(% style="width:527px" %)Growth rate, flow over stock over 6 periods|(% style="width:976px" %)
174 -|(% style="width:227px" %)F12|(% style="width:527px" %)Growth rate, flow over stock over 12 periods|(% style="width:976px" %)
175 -|(% style="width:227px" %)FO2|(% style="width:527px" %)Contribution to growth rate, flow over stock, over two periods|(% style="width:976px" %)Period on period
176 -|(% style="width:227px" %)FO3|(% style="width:527px" %)Contribution to growth rate, flow over stock, over 3 periods|(% style="width:976px" %)
177 -|(% style="width:227px" %)FO4|(% style="width:527px" %)Contribution to growth rate, flow over stock, over 4 periods|(% style="width:976px" %)
178 -|(% style="width:227px" %)FO6|(% style="width:527px" %)Contribution to growth rate, flow over stock, over 6 periods|(% style="width:976px" %)
179 -|(% style="width:227px" %)FO12|(% style="width:527px" %)Contribution to growth rate, flow over stock, over 12 periods|(% style="width:976px" %)
180 -|(% style="width:227px" %)FO16|(% style="width:527px" %)Contribution to growth rate, flow over stock, over 16 periods|(% style="width:976px" %)
181 -|(% style="width:227px" %)G2|(% style="width:527px" %)Growth rate, over two periods|(% style="width:976px" %)Period on period
182 -|(% style="width:227px" %)G3|(% style="width:527px" %)Growth rate over 3 periods|(% style="width:976px" %)
183 -|(% style="width:227px" %)**G4**|(% style="width:527px" %)**Growth rate over 4 periods**|(% style="width:976px" %)
184 -|(% style="width:227px" %)G6|(% style="width:527px" %)Growth rate over 6 periods|(% style="width:976px" %)
185 -|(% style="width:227px" %)G10|(% style="width:527px" %)Growth rate, over 10 periods|(% style="width:976px" %)
186 -|(% style="width:227px" %)G12|(% style="width:527px" %)Growth rate over 12 periods|(% style="width:976px" %)
187 -|(% style="width:227px" %)GR|(% style="width:527px" %)Growth rate, over reference year|(% style="width:976px" %)
188 -|(% style="width:227px" %)GO2|(% style="width:527px" %)Contribution to growth rate, over 2 periods|(% style="width:976px" %)Period on period
189 -|(% style="width:227px" %)GO3|(% style="width:527px" %)Contribution to growth rate, over 3 periods|(% style="width:976px" %)
190 -|(% style="width:227px" %)GO4|(% style="width:527px" %)Contribution to growth rate, over 4 periods|(% style="width:976px" %)
191 -|(% style="width:227px" %)GO6|(% style="width:527px" %)Contribution to growth rate, over 6 periods|(% style="width:976px" %)
192 -|(% style="width:227px" %)GO12|(% style="width:527px" %)Contribution to growth rate, over 12 periods|(% style="width:976px" %)
193 -|(% style="width:227px" %)LA|(% style="width:527px" %)Annualised levels|(% style="width:976px" %)This relates to stock versus flow series. For example, many countries publish their QNA at quarterly level, which means that annual 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.
194 -|(% style="width:227px" %)G1Y|(% style="width:527px" %)Growth rate, over 1 year|(% style="width:976px" %)
195 -|(% style="width:227px" %)F1Y|(% style="width:527px" %)Growth rate, flow over stock, over 1 year|(% style="width:976px" %)
196 -|(% style="width:227px" %)D1Y|(% style="width:527px" %)Difference, over 1 year|(% style="width:976px" %)
197 -|(% style="width:227px" %)G3Y|(% style="width:527px" %)Growth rate, over 3 years|(% style="width:976px" %)
198 -|(% style="width:227px" %)G4Y|(% style="width:527px" %)Growth rate, over 4 years|(% style="width:976px" %)
199 -|(% style="width:227px" %)GC5Y|(% style="width:527px" %)Compound growth rate, over 5 years|(% style="width:976px" %)
200 -|(% style="width:227px" %)GC10Y|(% style="width:527px" %)Compound growth rate, over 10 years|(% style="width:976px" %)
201 -|(% style="width:227px" %)GO1Y|(% style="width:527px" %)Contribution to growth rate, over 1 year|(% style="width:976px" %)
202 -|(% style="width:227px" %)C1Y|(% style="width:527px" %)Cumulated sum, over 1 year|(% style="width:976px" %)
155 +|**Recommended code value**|**Recommended
156 +code description**|**Annotation**
157 +|N|Non transformed data|
158 +|A2|2-period moving average|Period on period
159 +|A3|3-period moving average|
160 +|A4|4-period moving average|
161 +|A6|6-period moving average|
162 +|A12|12-period moving average|
163 +|C3|3-period cumulated sum|
164 +|C4|4-period cumulated sum|
165 +|C6|6-period cumulated sum|
166 +|C12|12-period cumulated sum|
167 +|C16|16-period cumulated sum|
168 +|D2|Differences, period on period, first order|
169 +|DD|Differences, period on period, second order|
170 +|D4|Difference, period on 4 periods, first order|
171 +|F2|Growth rate, flow over stock, over two periods|Period on period
172 +|F3|Growth rate, flow over stock ,over 3 periods|
173 +|F4|Growth rate, flow over stock over 4 periods|
174 +|F6|Growth rate, flow over stock over 6 periods|
175 +|F12|Growth rate, flow over stock over 12 periods|
176 +|FO2|Contribution to growth rate, flow over stock, over two periods|Period on period
177 +|FO3|Contribution to growth rate, flow over stock, over 3 periods|
178 +|FO4|Contribution to growth rate, flow over stock, over 4 periods|
179 +|FO6|Contribution to growth rate, flow over stock, over 6 periods|
180 +|FO12|Contribution to growth rate, flow over stock, over 12 periods|
181 +|FO16|Contribution to growth rate, flow over stock, over 16 periods|
182 +|G2|Growth rate, over two periods|Period on period
183 +|G3|Growth rate over 3 periods|
184 +|**G4**|**Growth rate over 4 periods**|
185 +|G6|Growth rate over 6 periods|
186 +|G10|Growth rate, over 10 periods|
187 +|G12|Growth rate over 12 periods|
188 +|GR|Growth rate, over reference year|
189 +|GO2|Contribution to growth rate, over 2 periods|Period on period
190 +|GO3|Contribution to growth rate, over 3 periods|
191 +|GO4|Contribution to growth rate, over 4 periods|
192 +|GO6|Contribution to growth rate, over 6 periods|
193 +|GO12|Contribution to growth rate, over 12 periods|
194 +|LA|Annualised levels|This relates to stock versus flow series. For example, many countries publish their QNA at quarterly level, which means that annual 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.
195 +|G1Y|Growth rate, over 1 year|
196 +|F1Y|Growth rate, flow over stock, over 1 year|
197 +|D1Y|Difference, over 1 year|
198 +|G3Y|Growth rate, over 3 years|
199 +|G4Y|Growth rate, over 4 years|
200 +|GC5Y|Compound growth rate, over 5 years|
201 +|GC10Y|Compound growth rate, over 10 years|
202 +|GO1Y|Contribution to growth rate, over 1 year|
203 +|C1Y|Cumulated sum, over 1 year|
203 203  
204 204  The use of codes like G3Y introduces redundancy in the code list. G3Y equals G36 for monthly data, G12 for quarterly data and G3 for annual data. Thus introducing such extensions should be well justified by solid use cases and DSD guidelines should explain which of the two possibilities (GxY or Gx) are preferred and why. Machine-to-machine queries, formulas, validation rules or coding templates may require mappings between those possibilities, taking into account both the frequency of a series and the transformation code.
205 205  
206 -= 4. Annex: coded examples =
207 += Annex: coded examples =
207 207  
208 208  The table below shows coding example using all 3 options lined out above.
209 209  
210 -|(% style="width:571px" %)Statement|(% style="width:486px" %)Normalised{{footnote}}For sake of readability the prefix TIMETRANS_ was not put in the table. The concepts are in fact called TIMETRANS_TYPE and TIMETRANS_PER.{{/footnote}}|Type+Period|Type+Period+Freq
211 -|(% style="width:571px" %)Level series (non transformed data)|(% style="width:486px" %)(((
211 +|Statement|Normalised{{footnote}}For sake of readability the prefix TIMETRANS_ was not put in the table. The concepts are in fact called TIMETRANS_TYPE and TIMETRANS_PER.{{/footnote}}|Type+Period|Type+Period+Freq
212 +|Level series (non transformed data)|(((
212 212  FREQ=A or Q or M …
214 +
213 213  TYPE=N
216 +
214 214  PER=1
215 215  )))|(((
216 216  FREQ=A or Q or M …
220 +
217 217  TIMETRANS=N
218 218  )))|(((
219 219  FREQ=A or Q or M …
224 +
220 220  TIMETRANS=N
221 221  )))
222 -|(% style="width:571px" %)Quarter on quarter growth rate|(% style="width:486px" %)(((
227 +|Quarter on quarter growth rate|(((
223 223  FREQ=Q
229 +
224 224  TYPE=G
231 +
225 225  PER=1
226 226  )))|(((
227 227  FREQ=Q
235 +
228 228  TIMETRANS=G1
229 229  )))|(((
230 230  FREQ=Q or M …
239 +
231 231  TIMETRANS=G1Q
232 232  )))
233 -|(% style="width:571px" %)Contribution to growth over 1 year (quarterly data)|(% style="width:486px" %)(((
242 +|Contribution to growth over 1 year (quarterly data)|(((
234 234  FREQ=Q
244 +
235 235  TYPE=GC
246 +
236 236  PER=4
237 237  )))|(((
238 238  FREQ=Q
250 +
239 239  TIMETRANS=GC4
240 240  )))|(((
241 241  FREQ=Q
254 +
242 242  TIMETRANS=GC1Y
243 243  )))
244 -|(% style="width:571px" %)Contribution to growth over 1 year (annual data)|(% style="width:486px" %)(((
257 +|Contribution to growth over 1 year (annual data)|(((
245 245  FREQ=A
259 +
246 246  TYPE=GC
261 +
247 247  PER=1
248 248  )))|(((
249 249  FREQ=A
265 +
250 250  TIMETRANS=GC1
251 251  )))|(((
252 252  FREQ=A
269 +
253 253  TIMETRANS=GC1Y
254 254  )))
255 -|(% style="width:571px" %)3 months moving average|(% style="width:486px" %)(((
272 +|3 months moving average|(((
256 256  FREQ=M
257 -~|TYPE=A
274 +
275 +TYPE=A
276 +
258 258  PER=3
259 259  )))|(((
260 260  FREQ=M
280 +
261 261  TIMETRANS=A3
262 262  )))|(((
263 263  FREQ=Q or M …
284 +
264 264  TIMETRANS=A3M
265 265  )))
266 -|(% style="width:571px" %)Annual index|(% style="width:486px" %)(((
287 +|Annual index|(((
267 267  FREQ=A
289 +
268 268  TYPE=I
291 +
269 269  PER=1
270 270  )))|(((
271 271  FREQ=A
295 +
272 272  TIMETRANS=I1
273 273  )))|(((
274 274  FREQ=A or Q or M …
299 +
275 275  TIMETRANS=I1Y
276 276  )))
277 277  
278 278  
304 +
279 279  ----
280 280  
281 281  {{putFootnotes/}}
1769510529532-579.png
Author
... ... @@ -1,1 +1,0 @@
1 -xwiki:XWiki.helena
Size
... ... @@ -1,1 +1,0 @@
1 -1.8 KB
Content
1769510625588-573.png
Author
... ... @@ -1,1 +1,0 @@
1 -xwiki:XWiki.helena
Size
... ... @@ -1,1 +1,0 @@
1 -1.9 KB
Content
1769510654674-828.png
Author
... ... @@ -1,1 +1,0 @@
1 -xwiki:XWiki.helena
Size
... ... @@ -1,1 +1,0 @@
1 -1.9 KB
Content
1769510676535-250.png
Author
... ... @@ -1,1 +1,0 @@
1 -xwiki:XWiki.helena
Size
... ... @@ -1,1 +1,0 @@
1 -2.0 KB
Content
1769510701118-480.png
Author
... ... @@ -1,1 +1,0 @@
1 -xwiki:XWiki.helena
Size
... ... @@ -1,1 +1,0 @@
1 -1.8 KB
Content
1769510718908-350.png
Author
... ... @@ -1,1 +1,0 @@
1 -xwiki:XWiki.helena
Size
... ... @@ -1,1 +1,0 @@
1 -2.0 KB
Content
1769510755278-324.png
Author
... ... @@ -1,1 +1,0 @@
1 -xwiki:XWiki.helena
Size
... ... @@ -1,1 +1,0 @@
1 -1.9 KB
Content
© Semantic R&D Group, 2026