Info
The Turnover Index is a business cycle indicator showing the monthly evolution of the market of goods and services in the industrial sector. It also records the evolution of turnover over longer periods of time. The turnover of industry index is not deflated. It is therefore the objective of this indicator to measure the market activity in the industrial sector in value. Data are compiled according to the Statistical classification of economic activities in the European Community, (NACE Rev. 2, Eurostat). Industrial turnover is compiled as a “fixed base year Laspeyres type volume-index”.
indic_bt
Code
sts_intvnd_m %>%
left_join (indic_bt, by = "indic_bt" ) %>%
group_by (indic_bt, Indic_bt) %>%
summarise (Nobs = n ()) %>%
arrange (- Nobs) %>%
print_table_conditional ()
TOVE
Index of turnover - Non domestic market
3871473
TOVZ
non-domestic turnover - euro area market
1768223
TOVX
non-domestic turnover - non euro area market
1743332
nace_r2
Code
sts_intvnd_m %>%
left_join (nace_r2, by = "nace_r2" ) %>%
group_by (nace_r2, Nace_r2) %>%
summarise (Nobs = n ()) %>%
print_table_conditional ()
s_adj
Code
sts_intvnd_m %>%
left_join (s_adj, by = "s_adj" ) %>%
group_by (s_adj, S_adj) %>%
summarise (Nobs = n ()) %>%
arrange (- Nobs) %>%
print_table_conditional ()
SCA
Seasonally and calendar adjusted data
2836274
CA
Calendar adjusted data, not seasonally adjusted data
2805530
NSA
Unadjusted data (i.e. neither seasonally adjusted nor calendar adjusted data)
1741224
unit
Code
sts_intvnd_m %>%
left_join (unit, by = "unit" ) %>%
group_by (unit, Unit) %>%
summarise (Nobs = n ()) %>%
arrange (- Nobs) %>%
{if (is_html_output ()) print_table (.) else .}
I15
Index, 2015=100
2258470
I21
Index, 2021=100
2072702
I10
Index, 2010=100
1451162
PCH_PRE
Percentage change on previous period
816870
PCH_SM
Percentage change compared to same period in previous year
783824
geo
Code
sts_intvnd_m %>%
left_join (geo, by = "geo" ) %>%
group_by (geo, Geo) %>%
summarise (Nobs = n ()) %>%
arrange (- Nobs) %>%
mutate (Geo = ifelse (geo == "DE" , "Germany" , Geo)) %>%
mutate (Flag = gsub (" " , "-" , str_to_lower (Geo)),
Flag = paste0 ('<img src="../../bib/flags/vsmall/' , Flag, '.png" alt="Flag">' )) %>%
select (Flag, everything ()) %>%
{if (is_html_output ()) datatable (., filter = 'top' , rownames = F, escape = F) else .}
time
Code
sts_intvnd_m %>%
group_by (time) %>%
summarise (Nobs = n ()) %>%
arrange (desc (time)) %>%
print_table_conditional ()
Germany - Different Industries
C10 - Manufacture of food products
Code
sts_intvnd_m %>%
bind_rows (sts_intvd_m) %>%
filter (nace_r2 == "C10" ,
unit == "I15" ,
s_adj == "SCA" ,
geo %in% c ("DE" )) %>%
group_by (indic_bt) %>%
mutate (values = 100 * values/ values[time == "2004M01" ]) %>%
left_join (indic_bt, by = "indic_bt" ) %>%
month_to_date %>%
filter (date <= as.Date ("2020-07-01" ),
date >= as.Date ("2000-01-01" )) %>%
ggplot () + ylab ("Index of turnover - Non domestic market" ) + xlab ("" ) + theme_minimal () +
geom_line (aes (x = date, y = values, color = Indic_bt)) +
scale_color_manual (values = viridis (5 )[1 : 4 ]) +
scale_x_date (breaks = seq (1920 , 2025 , 2 ) %>% paste0 ("-01-01" ) %>% as.Date,
labels = date_format ("%y" )) +
theme (legend.position = c (0.3 , 0.85 ),
legend.title = element_blank ()) +
scale_y_log10 (breaks = seq (- 60 , 300 , 10 ))
C29 - Manufacture of motor vehicles, trailers and semi-trailers
Code
sts_intvnd_m %>%
bind_rows (sts_intvd_m) %>%
filter (nace_r2 == "C29" ,
unit == "I15" ,
s_adj == "SCA" ,
geo %in% c ("DE" )) %>%
group_by (indic_bt) %>%
mutate (values = 100 * values/ values[time == "2004M01" ]) %>%
left_join (indic_bt, by = "indic_bt" ) %>%
month_to_date %>%
filter (date <= as.Date ("2020-07-01" ),
date >= as.Date ("2000-01-01" )) %>%
ggplot () + ylab ("Index of turnover - Non domestic market" ) + xlab ("" ) + theme_minimal () +
geom_line (aes (x = date, y = values, color = Indic_bt)) +
scale_color_manual (values = viridis (5 )[1 : 4 ]) +
scale_x_date (breaks = seq (1920 , 2025 , 2 ) %>% paste0 ("-01-01" ) %>% as.Date,
labels = date_format ("%y" )) +
theme (legend.position = c (0.3 , 0.35 ),
legend.title = element_blank ()) +
scale_y_log10 (breaks = seq (- 60 , 300 , 10 ))
C13-C15 - Manufacture of textiles, wearing apparel, leather and related products
Code
sts_intvnd_m %>%
bind_rows (sts_intvd_m) %>%
filter (nace_r2 == "C13-C15" ,
unit == "I15" ,
s_adj == "SCA" ,
geo %in% c ("DE" )) %>%
group_by (indic_bt) %>%
left_join (indic_bt, by = "indic_bt" ) %>%
month_to_date %>%
filter (date <= as.Date ("2020-07-01" ),
date >= as.Date ("2000-01-01" )) %>%
ggplot () + ylab ("Index of turnover - Non domestic market" ) + xlab ("" ) + theme_minimal () +
geom_line (aes (x = date, y = values, color = Indic_bt)) +
scale_color_manual (values = viridis (5 )[1 : 4 ]) +
scale_x_date (breaks = seq (1920 , 2025 , 2 ) %>% paste0 ("-01-01" ) %>% as.Date,
labels = date_format ("%y" )) +
theme (legend.position = c (0.3 , 0.25 ),
legend.title = element_blank ()) +
scale_y_log10 (breaks = seq (- 60 , 300 , 10 ))
C20 - Manufacture of chemicals and chemical products
Code
sts_intvnd_m %>%
bind_rows (sts_intvd_m) %>%
filter (nace_r2 == "C20" ,
unit == "I15" ,
s_adj == "SCA" ,
geo %in% c ("DE" )) %>%
group_by (indic_bt) %>%
mutate (values = 100 * values/ values[time == "2004M01" ]) %>%
left_join (indic_bt, by = "indic_bt" ) %>%
month_to_date %>%
filter (date <= as.Date ("2020-07-01" ),
date >= as.Date ("2000-01-01" )) %>%
ggplot () + ylab ("Index of turnover - Non domestic market" ) + xlab ("" ) + theme_minimal () +
geom_line (aes (x = date, y = values, color = Indic_bt)) +
scale_color_manual (values = viridis (5 )[1 : 4 ]) +
scale_x_date (breaks = seq (1920 , 2025 , 2 ) %>% paste0 ("-01-01" ) %>% as.Date,
labels = date_format ("%y" )) +
theme (legend.position = c (0.3 , 0.85 ),
legend.title = element_blank ()) +
scale_y_log10 (breaks = seq (- 60 , 300 , 10 ))
C30 - Manufacture of other transport equipment
Code
sts_intvnd_m %>%
bind_rows (sts_intvd_m) %>%
filter (nace_r2 == "C30" ,
unit == "I15" ,
s_adj == "SCA" ,
geo %in% c ("DE" )) %>%
group_by (indic_bt) %>%
mutate (values = 100 * values/ values[time == "2004M01" ]) %>%
left_join (indic_bt, by = "indic_bt" ) %>%
month_to_date %>%
filter (date <= as.Date ("2020-07-01" ),
date >= as.Date ("2000-01-01" )) %>%
ggplot () + ylab ("Index of turnover - Non domestic market" ) + xlab ("" ) + theme_minimal () +
geom_line (aes (x = date, y = values, color = Indic_bt)) +
scale_color_manual (values = viridis (5 )[1 : 4 ]) +
scale_x_date (breaks = seq (1920 , 2025 , 2 ) %>% paste0 ("-01-01" ) %>% as.Date,
labels = date_format ("%y" )) +
theme (legend.position = c (0.3 , 0.85 ),
legend.title = element_blank ()) +
scale_y_log10 (breaks = seq (- 60 , 300 , 10 ))
Individual Countries
France
Code
sts_intvnd_m %>%
bind_rows (sts_intvd_m) %>%
filter (nace_r2 == "C" ,
unit == "I15" ,
s_adj == "SCA" ,
geo %in% c ("FR" )) %>%
group_by (indic_bt) %>%
mutate (values = 100 * values/ values[time == "2000M01" ]) %>%
left_join (indic_bt, by = "indic_bt" ) %>%
month_to_date %>%
filter (date <= as.Date ("2020-07-01" )) %>%
ggplot () + ylab ("Index of turnover" ) + xlab ("" ) + theme_minimal () +
geom_line (aes (x = date, y = values, color = Indic_bt)) +
scale_color_manual (values = viridis (5 )[1 : 4 ]) +
scale_x_date (breaks = seq (1920 , 2025 , 2 ) %>% paste0 ("-01-01" ) %>% as.Date,
labels = date_format ("%y" )) +
theme (legend.position = c (0.3 , 0.85 ),
legend.title = element_blank ()) +
scale_y_log10 (breaks = seq (- 60 , 300 , 10 ))
Germany
All
Code
sts_intvnd_m %>%
bind_rows (sts_intvd_m) %>%
filter (nace_r2 == "C" ,
unit == "I15" ,
s_adj == "SCA" ,
geo %in% c ("DE" )) %>%
group_by (indic_bt) %>%
mutate (values = 100 * values/ values[time == "2003M01" ]) %>%
left_join (indic_bt, by = "indic_bt" ) %>%
month_to_date %>%
ggplot () + ylab ("Index of turnover - Non domestic market" ) + xlab ("" ) + theme_minimal () +
geom_line (aes (x = date, y = values, color = Indic_bt)) +
scale_color_manual (values = viridis (5 )[1 : 4 ]) +
scale_x_date (breaks = seq (1920 , 2025 , 2 ) %>% paste0 ("-01-01" ) %>% as.Date,
labels = date_format ("%y" )) +
theme (legend.position = c (0.3 , 0.85 ),
legend.title = element_blank ()) +
scale_y_log10 (breaks = seq (- 60 , 300 , 10 ))
1995-
Code
sts_intvnd_m %>%
bind_rows (sts_intvd_m) %>%
filter (nace_r2 == "C" ,
unit == "I15" ,
s_adj == "SCA" ,
geo %in% c ("DE" )) %>%
group_by (indic_bt) %>%
mutate (values = 100 * values/ values[time == "2004M01" ]) %>%
left_join (indic_bt, by = "indic_bt" ) %>%
month_to_date %>%
filter (date >= as.Date ("1995-01-01" )) %>%
ggplot () + ylab ("Index of turnover - Non domestic market" ) + xlab ("" ) + theme_minimal () +
geom_line (aes (x = date, y = values, color = Indic_bt)) +
scale_color_manual (values = viridis (5 )[1 : 4 ]) +
scale_x_date (breaks = seq (1920 , 2025 , 2 ) %>% paste0 ("-01-01" ) %>% as.Date,
labels = date_format ("%y" )) +
theme (legend.position = c (0.3 , 0.85 ),
legend.title = element_blank ()) +
scale_y_log10 (breaks = seq (- 60 , 300 , 10 ))
2000-
Code
sts_intvnd_m %>%
bind_rows (sts_intvd_m) %>%
filter (nace_r2 == "C" ,
unit == "I15" ,
s_adj == "SCA" ,
geo %in% c ("DE" )) %>%
group_by (indic_bt) %>%
mutate (values = 100 * values/ values[time == "2004M01" ]) %>%
left_join (indic_bt, by = "indic_bt" ) %>%
month_to_date %>%
filter (date >= as.Date ("2000-01-01" )) %>%
ggplot () + ylab ("Index of turnover - Non domestic market" ) + xlab ("" ) + theme_minimal () +
geom_line (aes (x = date, y = values, color = Indic_bt)) +
scale_color_manual (values = viridis (5 )[1 : 4 ]) +
scale_x_date (breaks = seq (1920 , 2025 , 2 ) %>% paste0 ("-01-01" ) %>% as.Date,
labels = date_format ("%y" )) +
theme (legend.position = c (0.3 , 0.85 ),
legend.title = element_blank ()) +
scale_y_log10 (breaks = seq (- 60 , 300 , 10 ))
France, Germany, Italy
All
Code
sts_intvnd_m %>%
filter (nace_r2 == "C" ,
unit == "I15" ,
s_adj == "SCA" ,
indic_bt == "TOVE" ,
geo %in% c ("FR" , "DE" , "IT" )) %>%
select (geo, time, values) %>%
group_by (geo) %>%
mutate (values = 100 * values/ values[time == "2000M01" ]) %>%
left_join (geo, by = "geo" ) %>%
mutate (Geo = ifelse (geo == "DE" , "Germany" , Geo)) %>%
month_to_date %>%
ggplot () + ylab ("Index of turnover - Non domestic market" ) + xlab ("" ) + theme_minimal () +
geom_line (aes (x = date, y = values, color = Geo)) +
scale_color_manual (values = c ("#0055a4" , "#000000" , "#008c45" )) +
scale_x_date (breaks = seq (1920 , 2025 , 2 ) %>% paste0 ("-01-01" ) %>% as.Date,
labels = date_format ("%y" )) +
add_2flags +
theme (legend.position = "none" ) +
scale_y_log10 (breaks = seq (- 60 , 300 , 10 ))
1995-
Code
sts_intvnd_m %>%
filter (nace_r2 == "C" ,
unit == "I15" ,
s_adj == "SCA" ,
indic_bt == "TOVE" ,
geo %in% c ("FR" , "DE" , "IT" )) %>%
select (geo, time, values) %>%
group_by (geo) %>%
mutate (values = 100 * values/ values[time == "2000M01" ]) %>%
left_join (geo, by = "geo" ) %>%
mutate (Geo = ifelse (geo == "DE" , "Germany" , Geo)) %>%
month_to_date %>%
filter (date >= as.Date ("1995-01-01" )) %>%
ggplot () + ylab ("Index of turnover - Non domestic market" ) + xlab ("" ) + theme_minimal () +
geom_line (aes (x = date, y = values, color = Geo)) +
scale_color_manual (values = c ("#0055a4" , "#000000" , "#008c45" )) +
scale_x_date (breaks = seq (1920 , 2025 , 2 ) %>% paste0 ("-01-01" ) %>% as.Date,
labels = date_format ("%y" )) +
add_2flags +
theme (legend.position = "none" ) +
scale_y_log10 (breaks = seq (- 60 , 300 , 5 ))
2000-
Code
sts_intvnd_m %>%
filter (nace_r2 == "C" ,
unit == "I15" ,
s_adj == "SCA" ,
indic_bt == "TOVE" ,
geo %in% c ("FR" , "DE" , "IT" )) %>%
select (geo, time, values) %>%
group_by (geo) %>%
mutate (values = 100 * values/ values[time == "2000M01" ]) %>%
left_join (geo, by = "geo" ) %>%
mutate (Geo = ifelse (geo == "DE" , "Germany" , Geo)) %>%
month_to_date %>%
filter (date >= as.Date ("2000-01-01" )) %>%
ggplot () + ylab ("Index of turnover - Non domestic market" ) + xlab ("" ) + theme_minimal () +
geom_line (aes (x = date, y = values, color = Geo)) +
scale_color_manual (values = c ("#0055a4" , "#000000" , "#008c45" )) +
scale_x_date (breaks = seq (1920 , 2025 , 2 ) %>% paste0 ("-01-01" ) %>% as.Date,
labels = date_format ("%y" )) +
add_2flags +
theme (legend.position = "none" ) +
scale_y_log10 (breaks = seq (- 60 , 300 , 5 ))