library(tidyverse)
library(rvest)
library(ggplot2)
library(scales)
Data Preparation
bkm_sektor <- read_html("https://bkm.com.tr/secilen-aya-ait-sektorel-gelisim/?filter_year=2019&filter_month=6&List=Listele")
tbls <- html_nodes(bkm_sektor, "table")
head(tbls)
## {xml_nodeset (4)}
## [1] <table width="735" border="0" cellspacing="0" cellpadding="0" class= ...
## [2] <table width="0" border="0" align="left" cellpadding="0" cellspacing ...
## [3] <table width="735" border="0" cellspacing="0" cellpadding="0" class= ...
## [4] <table width="100%" border="0" cellspacing="0" cellpadding="0">\n<tr ...
tbls_ls <- bkm_sektor %>%
html_nodes("table") %>%
.[4] %>%
html_table(fill = TRUE)
str(tbls_ls)
## List of 1
## $ :'data.frame': 29 obs. of 5 variables:
## ..$ X1: chr [1:29] "İşyeri Grubu" "İşyeri Grubu" "ARABA KİRALAMA" "ARAÇ KİRALAMA-SATIŞ/SERVİS/YEDEK PARÇA" ...
## ..$ X2: chr [1:29] "İşlem Adedi" "İşlem Adedi(Kredi Kartı)" "306.426" "3.335.321" ...
## ..$ X3: chr [1:29] "İşlem Adedi" "İşlem Adedi (Banka Kartı)" "77.113" "902.483" ...
## ..$ X4: chr [1:29] "İşlem Tutarı (Milyon TL)" "İşlem Tutarı \n (Kredi Kartı)" "256,63" "2.588,91" ...
## ..$ X5: chr [1:29] "İşlem Tutarı (Milyon TL)" "İşlem Tutarı \n (Banka Kartı)" "43,79" "190,61" ...
head(tbls_ls[[1]], 5)
## X1 X2
## 1 Ä°ÅŸyeri Grubu Ä°ÅŸlem Adedi
## 2 İşyeri Grubu İşlem Adedi(Kredi Kartı)
## 3 ARABA KÄ°RALAMA 306.426
## 4 ARAÇ KİRALAMA-SATIŞ/SERVİS/YEDEK PARÇA 3.335.321
## 5 BENZÄ°N VE YAKIT Ä°STASYONLARI 32.572.382
## X3 X4
## 1 İşlem Adedi İşlem Tutarı (Milyon TL)
## 2 İşlem Adedi (Banka Kartı) İşlem Tutarı \n (Kredi Kartı)
## 3 77.113 256,63
## 4 902.483 2.588,91
## 5 13.813.215 6.515,69
## X5
## 1 İşlem Tutarı (Milyon TL)
## 2 İşlem Tutarı \n (Banka Kartı)
## 3 43,79
## 4 190,61
## 5 1.195,27
tbls_ls[[1]] <- tbls_ls[[1]] %>% slice(3:28)
head(tbls_ls[[1]], 28)
## X1 X2 X3 X4
## 1 ARABA KÄ°RALAMA 306.426 77.113 256,63
## 2 ARAÇ KİRALAMA-SATIŞ/SERVİS/YEDEK PARÇA 3.335.321 902.483 2.588,91
## 3 BENZÄ°N VE YAKIT Ä°STASYONLARI 32.572.382 13.813.215 6.515,69
## 4 BIREYSEL EMEKLILIK 2.060.390 1.256 686,98
## 5 ÇEŞİTLİ GIDA 31.076.151 20.446.524 5.147,68
## 6 DOÄžRUDAN PAZARLAMA 738.068 45.268 723,68
## 7 EĞİTİM / KIRTASİYE / OFİS MALZEMELERİ 4.653.286 2.585.481 1.426,84
## 8 ELEKTRÄ°K-ELEKTRONÄ°K EÅžYA, BÄ°LGÄ°SAYAR 7.230.732 2.269.938 3.894,15
## 9 GÄ°YÄ°M VE AKSESUAR 32.253.174 15.240.380 6.116,57
## 10 HAVAYOLLARI 1.792.404 489.887 1.827,85
## 11 HİZMET SEKTÖRLERİ 22.032.853 6.229.279 4.268,50
## 12 KAMU/VERGI ODEMELERI 2.740.192 1.300.247 1.239,58
## 13 KONAKLAMA 2.345.133 1.277.480 1.788,57
## 14 KULÃœP / DERNEK /SOSYAL HÄ°ZMETLER 1.180.990 283.274 305,33
## 15 KUMARHANE/İÇKİLİ YERLER 575.870 502.969 102,42
## 16 KUYUMCULAR 1.099.748 426.152 1.166,39
## 17 MARKET VE ALIÅžVERÄ°Åž MERKEZLERÄ° 105.519.907 63.410.233 12.353,26
## 18 MOBÄ°LYA VE DEKORASYON 4.379.615 1.692.679 2.603,43
## 19 MÃœTEAHHÄ°T Ä°ÅžLERÄ° 716.433 313.869 806,56
## 20 SAÄžLIK/SAÄžLIK ÃœRÃœNLERÄ°/KOZMETÄ°K 13.975.225 7.480.747 2.404,86
## 21 SEYAHAT ACENTELERÄ°/TAÅžIMACILIK 7.224.598 3.152.401 2.311,90
## 22 SÄ°GORTA 4.513.691 42.440 2.919,50
## 23 TELEKOMÃœNÄ°KASYON 17.915.719 3.236.866 1.720,25
## 24 YAPI MALZEMELERÄ°, HIRDAVAT, NALBURÄ°YE 3.786.201 1.347.371 2.784,08
## 25 YEMEK 45.687.937 43.035.091 2.918,06
## 26 DÄ°ÄžER 4.984.660 1.072.573 1.414,83
## X5
## 1 43,79
## 2 190,61
## 3 1.195,27
## 4 0,42
## 5 994,90
## 6 21,26
## 7 251,25
## 8 416,45
## 9 2.129,29
## 10 738,50
## 11 713,24
## 12 219,70
## 13 544,99
## 14 37,90
## 15 46,49
## 16 491,69
## 17 2.892,63
## 18 286,34
## 19 45,75
## 20 689,25
## 21 620,16
## 22 11,44
## 23 247,08
## 24 199,37
## 25 1.497,76
## 26 170,06
Updating Column Names
- isyeri_grubu: Ä°ÅŸyeri Grubu
- islem_adet_kredi_kart: İşlem Adedi (Kredi Kartı)
- islem_adet_banka_kart: İşlem Adedi (Banka Kartı)
- islem_tutar_kredi_kart: İşlem Tutarı / Milyon TL (Kredi Kartı)
- islem_tutar_banka_kart: İşlem Tutarı / Milyon TL (Banka Kartı)
colnames(tbls_ls[[1]]) <- c("isyeri_grubu", "islem_adet_kredi_kart", "islem_adet_banka_kart",
"islem_tutar_kredi_kart", "islem_tutar_banka_kart")
head(tbls_ls[[1]], 28)
## isyeri_grubu islem_adet_kredi_kart
## 1 ARABA KÄ°RALAMA 306.426
## 2 ARAÇ KİRALAMA-SATIŞ/SERVİS/YEDEK PARÇA 3.335.321
## 3 BENZÄ°N VE YAKIT Ä°STASYONLARI 32.572.382
## 4 BIREYSEL EMEKLILIK 2.060.390
## 5 ÇEŞİTLİ GIDA 31.076.151
## 6 DOÄžRUDAN PAZARLAMA 738.068
## 7 EĞİTİM / KIRTASİYE / OFİS MALZEMELERİ 4.653.286
## 8 ELEKTRÄ°K-ELEKTRONÄ°K EÅžYA, BÄ°LGÄ°SAYAR 7.230.732
## 9 GÄ°YÄ°M VE AKSESUAR 32.253.174
## 10 HAVAYOLLARI 1.792.404
## 11 HİZMET SEKTÖRLERİ 22.032.853
## 12 KAMU/VERGI ODEMELERI 2.740.192
## 13 KONAKLAMA 2.345.133
## 14 KULÃœP / DERNEK /SOSYAL HÄ°ZMETLER 1.180.990
## 15 KUMARHANE/İÇKİLİ YERLER 575.870
## 16 KUYUMCULAR 1.099.748
## 17 MARKET VE ALIÅžVERÄ°Åž MERKEZLERÄ° 105.519.907
## 18 MOBÄ°LYA VE DEKORASYON 4.379.615
## 19 MÃœTEAHHÄ°T Ä°ÅžLERÄ° 716.433
## 20 SAÄžLIK/SAÄžLIK ÃœRÃœNLERÄ°/KOZMETÄ°K 13.975.225
## 21 SEYAHAT ACENTELERÄ°/TAÅžIMACILIK 7.224.598
## 22 SÄ°GORTA 4.513.691
## 23 TELEKOMÃœNÄ°KASYON 17.915.719
## 24 YAPI MALZEMELERÄ°, HIRDAVAT, NALBURÄ°YE 3.786.201
## 25 YEMEK 45.687.937
## 26 DÄ°ÄžER 4.984.660
## islem_adet_banka_kart islem_tutar_kredi_kart islem_tutar_banka_kart
## 1 77.113 256,63 43,79
## 2 902.483 2.588,91 190,61
## 3 13.813.215 6.515,69 1.195,27
## 4 1.256 686,98 0,42
## 5 20.446.524 5.147,68 994,90
## 6 45.268 723,68 21,26
## 7 2.585.481 1.426,84 251,25
## 8 2.269.938 3.894,15 416,45
## 9 15.240.380 6.116,57 2.129,29
## 10 489.887 1.827,85 738,50
## 11 6.229.279 4.268,50 713,24
## 12 1.300.247 1.239,58 219,70
## 13 1.277.480 1.788,57 544,99
## 14 283.274 305,33 37,90
## 15 502.969 102,42 46,49
## 16 426.152 1.166,39 491,69
## 17 63.410.233 12.353,26 2.892,63
## 18 1.692.679 2.603,43 286,34
## 19 313.869 806,56 45,75
## 20 7.480.747 2.404,86 689,25
## 21 3.152.401 2.311,90 620,16
## 22 42.440 2.919,50 11,44
## 23 3.236.866 1.720,25 247,08
## 24 1.347.371 2.784,08 199,37
## 25 43.035.091 2.918,06 1.497,76
## 26 1.072.573 1.414,83 170,06
tbls_ls[[1]][,2:5] <- as.data.frame(lapply(tbls_ls[[1]][,2:5], function(x) as.numeric(gsub(",", ".", gsub("\\.", "", x)))))
head(tbls_ls[[1]], 28)
## isyeri_grubu islem_adet_kredi_kart
## 1 ARABA KÄ°RALAMA 306426
## 2 ARAÇ KİRALAMA-SATIŞ/SERVİS/YEDEK PARÇA 3335321
## 3 BENZÄ°N VE YAKIT Ä°STASYONLARI 32572382
## 4 BIREYSEL EMEKLILIK 2060390
## 5 ÇEŞİTLİ GIDA 31076151
## 6 DOÄžRUDAN PAZARLAMA 738068
## 7 EĞİTİM / KIRTASİYE / OFİS MALZEMELERİ 4653286
## 8 ELEKTRÄ°K-ELEKTRONÄ°K EÅžYA, BÄ°LGÄ°SAYAR 7230732
## 9 GÄ°YÄ°M VE AKSESUAR 32253174
## 10 HAVAYOLLARI 1792404
## 11 HİZMET SEKTÖRLERİ 22032853
## 12 KAMU/VERGI ODEMELERI 2740192
## 13 KONAKLAMA 2345133
## 14 KULÃœP / DERNEK /SOSYAL HÄ°ZMETLER 1180990
## 15 KUMARHANE/İÇKİLİ YERLER 575870
## 16 KUYUMCULAR 1099748
## 17 MARKET VE ALIÅžVERÄ°Åž MERKEZLERÄ° 105519907
## 18 MOBÄ°LYA VE DEKORASYON 4379615
## 19 MÃœTEAHHÄ°T Ä°ÅžLERÄ° 716433
## 20 SAÄžLIK/SAÄžLIK ÃœRÃœNLERÄ°/KOZMETÄ°K 13975225
## 21 SEYAHAT ACENTELERÄ°/TAÅžIMACILIK 7224598
## 22 SÄ°GORTA 4513691
## 23 TELEKOMÃœNÄ°KASYON 17915719
## 24 YAPI MALZEMELERÄ°, HIRDAVAT, NALBURÄ°YE 3786201
## 25 YEMEK 45687937
## 26 DÄ°ÄžER 4984660
## islem_adet_banka_kart islem_tutar_kredi_kart islem_tutar_banka_kart
## 1 77113 256.63 43.79
## 2 902483 2588.91 190.61
## 3 13813215 6515.69 1195.27
## 4 1256 686.98 0.42
## 5 20446524 5147.68 994.90
## 6 45268 723.68 21.26
## 7 2585481 1426.84 251.25
## 8 2269938 3894.15 416.45
## 9 15240380 6116.57 2129.29
## 10 489887 1827.85 738.50
## 11 6229279 4268.50 713.24
## 12 1300247 1239.58 219.70
## 13 1277480 1788.57 544.99
## 14 283274 305.33 37.90
## 15 502969 102.42 46.49
## 16 426152 1166.39 491.69
## 17 63410233 12353.26 2892.63
## 18 1692679 2603.43 286.34
## 19 313869 806.56 45.75
## 20 7480747 2404.86 689.25
## 21 3152401 2311.90 620.16
## 22 42440 2919.50 11.44
## 23 3236866 1720.25 247.08
## 24 1347371 2784.08 199.37
## 25 43035091 2918.06 1497.76
## 26 1072573 1414.83 170.06
Analysis 1: Amount of Credit Card Transactions by Sector
ggplot(tbls_ls[[1]], aes(x=isyeri_grubu, y=islem_adet_kredi_kart)) +
geom_bar(stat="identity",fill="steelblue")+ coord_flip() + scale_y_continuous(labels=comma) +
labs(title = "Amount of Credit Card Transactions by Sector", x="", y="") +theme_minimal()
Analysis 2: Sectors with Total Credit and Debit Card Transactions Exceeding 2000
islem_tutari_dagilim = tbls_ls[[1]] %>%
transmute(isyeri_grubu, toplam_islem_tutari = islem_tutar_kredi_kart + islem_tutar_banka_kart) %>%
arrange(desc(toplam_islem_tutari)) %>%
mutate(isyeri_grubu = case_when(toplam_islem_tutari > 2000 ~ isyeri_grubu, TRUE ~ "OTHER")) %>% group_by(isyeri_grubu) %>%
transmute(toplam_islem_tutari = sum(toplam_islem_tutari)) %>% distinct() %>%
arrange(desc(toplam_islem_tutari)) %>% ungroup() %>%
mutate(dagilim = round(toplam_islem_tutari/sum(toplam_islem_tutari)*100,2))
print(islem_tutari_dagilim)
## # A tibble: 16 x 3
## isyeri_grubu toplam_islem_tutari dagilim
## <chr> <dbl> <dbl>
## 1 MARKET VE ALIÅžVERÄ°Åž MERKEZLERÄ° 15246. 17.9
## 2 OTHER 11425. 13.4
## 3 GÄ°YÄ°M VE AKSESUAR 8246. 9.7
## 4 BENZÄ°N VE YAKIT Ä°STASYONLARI 7711. 9.07
## 5 ÇEŞİTLİ GIDA 6143. 7.23
## 6 HİZMET SEKTÖRLERİ 4982. 5.86
## 7 YEMEK 4416. 5.2
## 8 ELEKTRÄ°K-ELEKTRONÄ°K EÅžYA, BÄ°LGÄ°SAYAR 4311. 5.07
## 9 SAÄžLIK/SAÄžLIK ÃœRÃœNLERÄ°/KOZMETÄ°K 3094. 3.64
## 10 YAPI MALZEMELERÄ°, HIRDAVAT, NALBURÄ°YE 2983. 3.51
## 11 SEYAHAT ACENTELERÄ°/TAÅžIMACILIK 2932. 3.45
## 12 SÄ°GORTA 2931. 3.45
## 13 MOBÄ°LYA VE DEKORASYON 2890. 3.4
## 14 ARAÇ KİRALAMA-SATIŞ/SERVİS/YEDEK PARÇA 2780. 3.27
## 15 HAVAYOLLARI 2566. 3.02
## 16 KONAKLAMA 2334. 2.75
islem_tutari_dagilim %>% ggplot(data = ., aes(x = "", y = dagilim, fill = isyeri_grubu)) +
geom_bar(width = 1, stat = "identity", color = "black") +
coord_polar("y", start = 0)+
geom_text(aes(x = 1.3, y = dagilim, label = percent(dagilim/100) ),position = position_stack(vjust = 0.5),color = "black")+
labs(fill = "Sector")+
theme_void()
To be continued :)