Анализ датасета

Данные включают в себя транзации клиентов сбербанка: код клиента, тип транзакции и его MCC-код, количество денег зачисленных или снятых со счета, а так же время проведение операции.

##         [,1]    [,2]
## [1,] 1585299 1586154
## [2,] 1645333 1645880
## [3,] 2158881 2159275
## [4,] 2314154 2314839
## [5,] 2368868 2369420
## [6,] 3180911 3181490

В ходе анализа было выявлено, что код клиента (customer_id) — нечто иное, как количество транзакций по его счету за указанный период. Это было подветрждено эмпирически.

Среднеее количество транзакций: 53 млн.

Проанализировав количество покупок по дням, получаем, что в 153-й день их было всего 52. Этот день: 1 января 2015. Наибольшее количество транзакций совершено 14 ноября 2014 (216).

В датасете присутствуют как данные о снятии средств, так и пополнении. Однако данных о снятии средств (оплаты ТУ и иных продуктов, снятие в банкомате и др.) 85%.

При этом, анализ трат и пополнений счета вместе как вместе, так и по отдельности не позволяет составить потребительский портрет, так как медианнное значение обоих равно нулю, а остальное — выбросы.

Проанализировав время совершение транзакций и их тип, решили убрать из датасета те данные, которые о поле клиентов ничего не скжаут: это автоматические списания средств и пользование банкоматами и другими финансовыми агрегатами. Так, доля покупок ТУ через POS Сбера в 12 часов (для любых минут и секунд) составляет 37%. А доля выдачи наличных через банкоматы в полдень Построение модели превышает 25%.

В 12 часов ночи, 0 минут, 0 секунд и вовсе списываются средства по автоматически настроенным услугам.

Мы решили убрать данные транзакции (совершенные в 12 часов ночи и дня), которые о поле нам ничего не скажут.

Построение модели

Классифицируем клиентов по количеству их транзакций по каждому типу MCC. Наша обучающая выборка выглядит следующим образом.

## Source: local data frame [6 x 163]
## 
##    1711  1799  2741  3000  3351  3501  4111  4112  4121  4131  4214  4215
##   (dbl) (dbl) (dbl) (dbl) (dbl) (dbl) (dbl) (dbl) (dbl) (dbl) (dbl) (dbl)
## 1     0     0     0     0     0     0     0     0     0     0     0     0
## 2     0     0     0     0     0     0     0     0     0     0     0     0
## 3     0     0     0     0     0     0     0     2     0     0     0     0
## 4     0     0     0     0     0     0     0     0     0     0     0     0
## 5     0     0     0     0     0     0     0     0     0     0     0     0
## 6     1     0     0     0     0     0     0     7     0     0     0     0
## Variables not shown: 4411 (dbl), 4511 (dbl), 4722 (dbl), 4784 (dbl), 4789
##   (dbl), 4812 (dbl), 4814 (dbl), 4816 (dbl), 4829 (dbl), 4899 (dbl), 4900
##   (dbl), 5044 (dbl), 5045 (dbl), 5047 (dbl), 5065 (dbl), 5072 (dbl), 5074
##   (dbl), 5094 (dbl), 5099 (dbl), 5111 (dbl), 5131 (dbl), 5137 (dbl), 5169
##   (dbl), 5172 (dbl), 5192 (dbl), 5193 (dbl), 5199 (dbl), 5200 (dbl), 5211
##   (dbl), 5231 (dbl), 5251 (dbl), 5261 (dbl), 5300 (dbl), 5309 (dbl), 5310
##   (dbl), 5311 (dbl), 5331 (dbl), 5399 (dbl), 5411 (dbl), 5422 (dbl), 5441
##   (dbl), 5451 (dbl), 5462 (dbl), 5499 (dbl), 5511 (dbl), 5532 (dbl), 5533
##   (dbl), 5541 (dbl), 5542 (dbl), 5571 (dbl), 5611 (dbl), 5621 (dbl), 5631
##   (dbl), 5641 (dbl), 5651 (dbl), 5655 (dbl), 5661 (dbl), 5681 (dbl), 5691
##   (dbl), 5699 (dbl), 5712 (dbl), 5713 (dbl), 5714 (dbl), 5719 (dbl), 5722
##   (dbl), 5732 (dbl), 5734 (dbl), 5735 (dbl), 5811 (dbl), 5812 (dbl), 5813
##   (dbl), 5814 (dbl), 5816 (dbl), 5912 (dbl), 5921 (dbl), 5941 (dbl), 5942
##   (dbl), 5943 (dbl), 5944 (dbl), 5945 (dbl), 5946 (dbl), 5947 (dbl), 5948
##   (dbl), 5949 (dbl), 5950 (dbl), 5964 (dbl), 5968 (dbl), 5969 (dbl), 5970
##   (dbl), 5971 (dbl), 5976 (dbl), 5977 (dbl), 5983 (dbl), 5992 (dbl), 5993
##   (dbl), 5994 (dbl), 5995 (dbl), 5999 (dbl), 6010 (dbl), 6011 (dbl), 6012
##   (dbl), 6051 (dbl), 6300 (dbl), 6536 (dbl), 7011 (dbl), 7210 (dbl), 7216
##   (dbl), 7221 (dbl), 7230 (dbl), 7278 (dbl), 7298 (dbl), 7299 (dbl), 7311
##   (dbl), 7372 (dbl), 7375 (dbl), 7395 (dbl), 7399 (dbl), 7512 (dbl), 7523
##   (dbl), 7538 (dbl), 7542 (dbl), 7699 (dbl), 7829 (dbl), 7832 (dbl), 7841
##   (dbl), 7922 (dbl), 7932 (dbl), 7933 (dbl), 7991 (dbl), 7993 (dbl), 7994
##   (dbl), 7995 (dbl), 7996 (dbl), 7997 (dbl), 7999 (dbl), 8011 (dbl), 8021
##   (dbl), 8043 (dbl), 8062 (dbl), 8099 (dbl), 8244 (dbl), 8299 (dbl), 8398
##   (dbl), 8641 (dbl), 8699 (dbl), 8999 (dbl), 9222 (dbl), 9311 (dbl), 9399
##   (dbl), 9402 (dbl), gender (fctr)

Тестовая выборка выглядит так.

## Source: local data frame [6 x 168]
## 
##     742  1711  2741  3000  3351  3501  4111  4112  4121  4131  4214  4215
##   (dbl) (dbl) (dbl) (dbl) (dbl) (dbl) (dbl) (dbl) (dbl) (dbl) (dbl) (dbl)
## 1     0     0     0     0     0     0     0     0     0     0     0     0
## 2     0     0     0     0     0     0     0     0     0     0     0     0
## 3     0     0     0     0     0     0     0     0     0     0     0     0
## 4     0     0     0     0     0     0     1     8     0     0     0     0
## 5     0     0     0     0     0     0     0     0     0     0     0     0
## 6     0     0     0     0     0     0     0     0     0     0     0     0
## Variables not shown: 4411 (dbl), 4511 (dbl), 4722 (dbl), 4784 (dbl), 4789
##   (dbl), 4812 (dbl), 4814 (dbl), 4816 (dbl), 4829 (dbl), 4899 (dbl), 4900
##   (dbl), 5013 (dbl), 5039 (dbl), 5044 (dbl), 5045 (dbl), 5047 (dbl), 5065
##   (dbl), 5072 (dbl), 5085 (dbl), 5094 (dbl), 5099 (dbl), 5111 (dbl), 5122
##   (dbl), 5137 (dbl), 5172 (dbl), 5192 (dbl), 5193 (dbl), 5199 (dbl), 5200
##   (dbl), 5211 (dbl), 5231 (dbl), 5251 (dbl), 5261 (dbl), 5300 (dbl), 5309
##   (dbl), 5310 (dbl), 5311 (dbl), 5331 (dbl), 5399 (dbl), 5411 (dbl), 5422
##   (dbl), 5441 (dbl), 5451 (dbl), 5462 (dbl), 5499 (dbl), 5511 (dbl), 5532
##   (dbl), 5533 (dbl), 5541 (dbl), 5542 (dbl), 5571 (dbl), 5599 (dbl), 5611
##   (dbl), 5621 (dbl), 5631 (dbl), 5641 (dbl), 5651 (dbl), 5655 (dbl), 5661
##   (dbl), 5681 (dbl), 5691 (dbl), 5697 (dbl), 5699 (dbl), 5712 (dbl), 5713
##   (dbl), 5714 (dbl), 5719 (dbl), 5722 (dbl), 5732 (dbl), 5734 (dbl), 5735
##   (dbl), 5811 (dbl), 5812 (dbl), 5813 (dbl), 5814 (dbl), 5816 (dbl), 5912
##   (dbl), 5921 (dbl), 5931 (dbl), 5941 (dbl), 5942 (dbl), 5943 (dbl), 5944
##   (dbl), 5945 (dbl), 5946 (dbl), 5947 (dbl), 5948 (dbl), 5949 (dbl), 5950
##   (dbl), 5964 (dbl), 5965 (dbl), 5967 (dbl), 5968 (dbl), 5969 (dbl), 5970
##   (dbl), 5976 (dbl), 5977 (dbl), 5983 (dbl), 5992 (dbl), 5993 (dbl), 5994
##   (dbl), 5995 (dbl), 5999 (dbl), 6010 (dbl), 6011 (dbl), 6012 (dbl), 6051
##   (dbl), 6211 (dbl), 6300 (dbl), 6513 (dbl), 6536 (dbl), 7011 (dbl), 7210
##   (dbl), 7216 (dbl), 7221 (dbl), 7230 (dbl), 7273 (dbl), 7278 (dbl), 7298
##   (dbl), 7299 (dbl), 7311 (dbl), 7372 (dbl), 7375 (dbl), 7395 (dbl), 7399
##   (dbl), 7523 (dbl), 7531 (dbl), 7538 (dbl), 7542 (dbl), 7629 (dbl), 7699
##   (dbl), 7829 (dbl), 7832 (dbl), 7841 (dbl), 7922 (dbl), 7933 (dbl), 7991
##   (dbl), 7993 (dbl), 7994 (dbl), 7995 (dbl), 7996 (dbl), 7997 (dbl), 7999
##   (dbl), 8011 (dbl), 8021 (dbl), 8043 (dbl), 8062 (dbl), 8071 (dbl), 8099
##   (dbl), 8299 (dbl), 8398 (dbl), 8641 (dbl), 8999 (dbl), 9222 (dbl), 9311
##   (dbl), 9399 (dbl)

Методология

Анализ количества транзакций по типам

Строим модели классификации SVM и KNN (k ближайших соседей). Для этого преобразуем исходные данные методом главных компонент. Для того, чтобы охватить 80% дисперсии исходных данных, алгоритм использует 28 компонент.

## Importance of components:
##                           PC1     PC2     PC3     PC4     PC5     PC6
## Standard deviation     4.5369 3.37291 3.10019 2.80828 2.77694 2.48633
## Proportion of Variance 0.1581 0.08739 0.07383 0.06058 0.05924 0.04749
## Cumulative Proportion  0.1581 0.24550 0.31933 0.37991 0.43915 0.48663
##                            PC7     PC8     PC9    PC10    PC11    PC12
## Standard deviation     2.34702 2.26401 2.21285 2.13397 2.01321 1.94170
## Proportion of Variance 0.04231 0.03937 0.03761 0.03498 0.03113 0.02896
## Cumulative Proportion  0.52895 0.56832 0.60594 0.64092 0.67205 0.70101
##                           PC13    PC14    PC15    PC16   PC17    PC18
## Standard deviation     1.85242 1.84362 1.77079 1.70862 1.6494 1.59767
## Proportion of Variance 0.02636 0.02611 0.02409 0.02243 0.0209 0.01961
## Cumulative Proportion  0.72737 0.75348 0.77757 0.79999 0.8209 0.84050
##                           PC19    PC20    PC21    PC22    PC23    PC24
## Standard deviation     1.55748 1.54898 1.51001 1.47596 1.46519 1.42817
## Proportion of Variance 0.01863 0.01843 0.01752 0.01673 0.01649 0.01567
## Cumulative Proportion  0.85913 0.87756 0.89508 0.91181 0.92830 0.94397
##                           PC25    PC26    PC27    PC28
## Standard deviation     1.40974 1.35204 1.34200 1.29517
## Proportion of Variance 0.01527 0.01404 0.01383 0.01289
## Cumulative Proportion  0.95924 0.97328 0.98711 1.00000

Основная из них — первая. Она привносит 16% вариативности. Больше всего в нём состоят транзакции типов 2741 (Издательства книг, брошюр, журналов), 3000 (Авиабилеты), 3351 (Агентства по аренде автомобилей), 3501 (Жилье – отели, мотели, курорты), 4829 (Денежные переводы), 5172 (Оптовые поставки нефти и нефтепродуктов), 5192 (Оптовые производители и поставщики книг, периодических изданий, журналов и газет), 5309 (Беспошлинные магазины Duty Free), 5532 (Автошины), 5541 (Станции техобслуживания), 5813 (Бары, коктейль-бары, дискотеки, ночные клубы и таверны – места продажи алкогольных напитков), 5812 (Места общественного питания, рестораны), 5942 (Книжные магазины), 7829 (Производство и дистрибуция видеофильмов) и так далее.

В данном списке находятся, как очевидные типы транзакций (те, которые указывают на гендерную принадлежность клиента): агентства по аренде автомобилей, автошины, станции техобслуживания; так и совершенно неожиданные: например, транзакции, характиризуюющие досуг: бары, коктейль-бары, дискотеки, ночные клубы и таверны – места продажи алкогольных напитков, места общественного питания, рестораны.

## Confusion Matrix and Statistics
## 
##           Reference
## Prediction  0  1
##          0 49 52
##          1 24 18
##                                           
##                Accuracy : 0.4685          
##                  95% CI : (0.3847, 0.5537)
##     No Information Rate : 0.5105          
##     P-Value [Acc > NIR] : 0.861561        
##                                           
##                   Kappa : -0.0722         
##  Mcnemar's Test P-Value : 0.001954        
##                                           
##             Sensitivity : 0.6712          
##             Specificity : 0.2571          
##          Pos Pred Value : 0.4851          
##          Neg Pred Value : 0.4286          
##              Prevalence : 0.5105          
##          Detection Rate : 0.3427          
##    Detection Prevalence : 0.7063          
##       Balanced Accuracy : 0.4642          
##                                           
##        'Positive' Class : 0               
## 

Несмотря на то, что accuracy модели, построенной методом SVM меньше (47%), чем для KNN (51%), выбираем SVM, так как метод k ближайших соседей требует соразмерности тестовых данных и обучающих. В нашей случае эта соразмерность не соблюдается, а SVM данной предпослыки не требует.

## Confusion Matrix and Statistics
## 
##           Reference
## Prediction  0  1
##          0 72 69
##          1  1  1
##                                           
##                Accuracy : 0.5105          
##                  95% CI : (0.4256, 0.5949)
##     No Information Rate : 0.5105          
##     P-Value [Acc > NIR] : 0.5335          
##                                           
##                   Kappa : 6e-04           
##  Mcnemar's Test P-Value : 1.166e-15       
##                                           
##             Sensitivity : 0.98630         
##             Specificity : 0.01429         
##          Pos Pred Value : 0.51064         
##          Neg Pred Value : 0.50000         
##              Prevalence : 0.51049         
##          Detection Rate : 0.50350         
##    Detection Prevalence : 0.98601         
##       Balanced Accuracy : 0.50029         
##                                           
##        'Positive' Class : 0               
## 
##   [1] 0.6153846 0.7692308 0.6153846 0.6923077 0.7692308 0.7692308 0.6153846
##   [8] 0.7692308 0.6923077 0.6428571 0.7692308 0.6153846 0.6153846 0.6923077
##  [15] 0.6153846 0.7692308 0.6923077 0.5384615 0.5384615 0.6923077 0.7692308
##  [22] 0.6923077 0.5384615 0.7692308 0.7692308 0.7692308 0.8461538 0.6923077
##  [29] 0.7692308 0.7692308 0.7692308 0.6153846 0.6153846 0.7692308 0.6153846
##  [36] 0.8461538 0.7692308 0.8461538 0.7142857 0.6153846 0.6923077 0.6153846
##  [43] 0.6923077 0.7857143 0.7692308 0.6923077 0.8461538 0.7692308 0.6923077
##  [50] 0.5384615 0.8461538 0.8461538 0.7692308 0.7692308 0.8461538 0.6923077
##  [57] 0.6923077 0.6153846 0.8461538 0.7692308 0.6923077 0.8461538 0.6153846
##  [64] 0.7692308 0.6153846 0.7142857 0.7692308 0.7692308 0.6153846 0.7692308
##  [71] 0.8461538 0.8461538 0.6153846 0.5384615 0.6923077 0.6153846 0.5384615
##  [78] 0.7692308 0.6153846 0.7692308 0.7692308 0.7692308 0.6923077 0.6153846
##  [85] 0.7692308 0.7692308 0.6923077 0.5384615 0.6923077 0.6153846 0.7692308
##  [92] 0.6153846 0.6153846 0.6923077 0.6923077 0.7692308 0.7692308 0.6923077
##  [99] 0.7692308 0.7692308 0.6153846 0.7692308 0.8461538 0.7142857 0.7692308
## [106] 0.7692308 0.6153846 0.6153846 0.8461538 0.6923077 0.6923077 0.6923077
## [113] 0.7692308 0.6153846 0.7692308 0.6153846 0.6923077 0.6153846 0.5714286
## [120] 0.8461538 0.8461538 0.7692308 0.6153846 0.7692308 0.5384615 0.6923077
## [127] 0.8461538 0.7692308 0.7692308 0.6923077 0.6923077 0.7692308 0.5384615
## [134] 0.6923077 0.6923077 0.7692308 0.6923077 0.6923077 0.8461538 0.7692308
## [141] 0.6153846 0.6923077 0.6923077

Получаем следующий набор предсказаний (вероятности принадлежности к полу, где 0 — женский, 1 — мужской).

head(predictions)
##   tmdf_mcc$customer_id         0         1 gender
## 1               127946 0.5489548 0.4510452 female
## 2               961425 0.3674397 0.6325603   male
## 3              1211346 0.5405117 0.4594883 female
## 4              2098407 0.6617695 0.3382305 female
## 5              2733562 0.5692771 0.4307229 female
## 6              2805830 0.5503216 0.4496784 female

Анализ объема транзакций (количество x сумма)

Посчитав, что предсказания количества транзакций по типам недостаточно, решаем составить модель классификации по данным их объема (\(amount*n\)).

Обучающая выборка выглядит следующим образом.

##   1799 2741 3000 3351 3501 4111    4112 4121 4131 4214 4215 4411 4511 4722
## 1    0    0    0    0    0    0     0.0    0    0    0    0    0    0    0
## 2    0    0    0    0    0    0     0.0    0    0    0    0    0    0    0
## 3    0    0    0    0    0    0 -7128.6    0    0    0    0    0    0    0
## 4    0    0    0    0    0    0     0.0    0    0    0    0    0    0    0
## 5    0    0    0    0    0    0     0.0    0    0    0    0    0    0    0
## 6    0    0    0    0    0    0 -6294.5    0    0    0    0    0    0    0
##   4784 4789     4812   4814 4816       4829 4899 4900 5044 5045 5047 5065
## 1    0    0 -25013.5  -5910    0 -120987.00    0    0    0    0    0    0
## 2    0    0      0.0   -901    0  -27864.48    0    0    0    0    0    0
## 3  -50    0      0.0 -22051    0  -96450.00    0    0    0    0    0    0
## 4    0    0      0.0      0    0       0.00    0    0    0    0    0    0
## 5    0    0      0.0  -6080    0  -49750.00    0    0    0    0    0    0
## 6    0    0      0.0  -2750    0 -123000.00    0    0    0    0    0    0
##    5072 5074 5094 5099 5111 5131 5137 5169 5172 5192 5193 5199     5200
## 1     0    0    0    0    0    0    0    0    0    0    0    0 -1182.73
## 2     0    0    0    0    0    0    0    0    0    0    0    0     0.00
## 3     0    0    0    0    0    0    0    0    0    0    0    0     0.00
## 4     0    0    0    0    0    0    0    0    0    0    0    0     0.00
## 5 -4001    0    0    0    0    0    0    0    0    0    0    0   -87.70
## 6     0    0    0    0    0    0    0    0    0    0    0    0     0.00
##        5211 5231 5251      5261 5300 5309 5310  5311      5331 5399
## 1      0.00    0    0  -5266.70    0    0    0     0      0.00    0
## 2      0.00    0    0      0.00    0    0    0     0   -433.00    0
## 3      0.00    0    0 -11573.99    0    0    0     0      0.00    0
## 4      0.00    0    0      0.00    0    0    0     0      0.00    0
## 5 -19841.25    0    0      0.00    0    0    0     0 -35780.69    0
## 6  -1572.64    0    0      0.00    0    0    0 -3990  -4641.00    0
##         5411 5422 5441 5451 5462      5499     5511 5532   5533      5541
## 1  -36293.60    0    0    0    0  -7162.92     0.00    0 -90600  -3999.72
## 2   -8294.50    0    0    0    0  -3747.76     0.00    0      0      0.00
## 3 -167828.87    0    0    0    0   -645.55 -6163.00    0  -7532 -56616.02
## 4     -56.50    0    0    0    0      0.00     0.00    0      0      0.00
## 5  -95942.02    0    0    0    0 -12606.67     0.00    0      0      0.00
## 6   -9380.40    0    0    0    0  -2967.00 -7314.88    0   -720 -13952.85
##       5542 5571 5611 5621 5631  5641  5651 5655  5661 5681   5691 5699
## 1     0.00    0    0    0 -699     0 -1169    0 -8099    0 -11127    0
## 2     0.00    0    0    0    0 -1386     0    0     0    0      0    0
## 3 -2507.46    0    0    0    0 -1672 -7885    0 -4337    0  -4197    0
## 4     0.00    0    0    0    0     0     0    0     0    0      0    0
## 5     0.00    0    0    0    0     0  -800    0     0    0      0    0
## 6     0.00    0    0    0    0     0     0    0 -2250    0      0    0
##       5712 5713 5714     5719   5722  5732 5734 5735 5811      5812 5813
## 1     0.00 -286    0 -5336.25   -747     0    0    0    0  -5018.80    0
## 2     0.00    0    0     0.00      0     0    0    0    0      0.00    0
## 3 -3440.00    0    0     0.00 -21380 -6240    0    0    0 -11391.02    0
## 4     0.00    0    0     0.00      0     0    0    0    0      0.00    0
## 5 -3639.95    0    0     0.00      0     0    0    0    0      0.00    0
## 6     0.00    0    0     0.00      0     0    0    0    0      0.00    0
##        5814 5816      5912  5921  5941  5942 5943 5944     5945 5946 5947
## 1  -6807.25    0  -6585.47 -1352 -2457 -1409    0    0     0.00    0    0
## 2      0.00    0   -292.00     0     0     0  -80    0     0.00    0    0
## 3 -20991.20    0  -3219.79 -1966     0     0 -441    0 -3257.52    0    0
## 4      0.00    0    -66.48     0     0     0    0    0     0.00    0    0
## 5      0.00    0 -11065.90     0     0     0  -90    0     0.00    0    0
## 6      0.00    0   -854.60     0     0     0    0    0     0.00    0    0
##    5948 5949 5950 5964 5968 5969 5970 5971 5976     5977 5983  5992 5993
## 1 -1500    0    0    0    0    0    0    0    0  -113.96    0     0    0
## 2     0    0    0    0    0    0    0    0    0  -240.30    0     0    0
## 3     0    0    0    0    0    0    0    0    0 -5274.75    0 -6331    0
## 4     0    0    0    0    0    0    0    0    0     0.00    0     0    0
## 5     0    0    0    0    0    0    0    0    0     0.00    0     0    0
## 6     0    0    0    0    0    0    0    0    0     0.00 -328     0    0
##   5994    5995    5999       6010    6011 6012 6051 6300 6536 7011 7210
## 1    0 -2808.0 -7270.2  625265.35 -761682    0    0    0    0    0    0
## 2    0     0.0     0.0    4202.28 -107900    0    0    0    0    0    0
## 3    0  -347.7 -2282.8 -188550.00 -398290    0    0    0    0    0    0
## 4    0     0.0     0.0       0.00 -302400    0    0    0    0    0    0
## 5    0     0.0 -7200.0   48100.00  -35187    0    0    0    0    0    0
## 6    0     0.0  -690.0       0.00  -80000    0    0    0    0    0    0
##   7216 7221 7230 7278 7298 7299 7311 7372 7375 7395 7399 7512 7523
## 1    0    0    0    0    0    0    0    0    0    0    0    0    0
## 2    0    0    0    0    0    0    0    0    0    0    0    0    0
## 3    0    0    0    0    0    0    0    0    0    0    0    0    0
## 4    0    0    0    0    0    0    0    0    0    0    0    0    0
## 5    0    0    0    0    0    0    0    0    0    0    0    0    0
## 6    0    0    0    0    0    0    0    0    0    0    0    0    0
##        7538 7542 7699 7829 7832 7841 7922 7932 7933 7991 7993 7994 7995
## 1      0.00    0    0    0    0    0    0    0    0    0    0    0    0
## 2      0.00    0    0    0    0    0    0    0    0    0    0    0    0
## 3 -18202.19    0    0    0 -490    0    0    0    0    0    0    0    0
## 4      0.00    0    0    0    0    0    0    0    0    0    0    0    0
## 5      0.00    0    0    0    0    0    0    0    0    0    0    0    0
## 6      0.00    0    0    0    0    0    0    0    0    0    0    0    0
##   7996 7997  7999 8011  8021 8043 8062 8099 8244 8299 8398  8641 8699
## 1    0    0     0    0 -2500    0    0    0    0    0    0 -2304    0
## 2    0    0     0    0     0    0    0    0    0    0    0     0    0
## 3    0    0 -2400    0  -150    0    0    0    0    0    0     0    0
## 4    0    0     0    0     0    0    0    0    0    0    0     0    0
## 5    0    0     0    0     0    0    0    0    0    0    0     0    0
## 6    0    0     0    0     0    0    0    0    0    0    0     0    0
##    8999 9222 9311 9399 9402 gender
## 1 -4012    0    0    0    0      0
## 2     0    0    0    0    0      0
## 3     0    0    0    0    0      1
## 4     0    0    0    0    0      1
## 5     0    0    0    0    0      1
## 6     0    0    0    0    0      1

Тестовая выборка выглядит так.

##   1711 2741 3000 3351 3501 4111     4112 4121 4131 4214 4215 4411 4511
## 1    0    0    0    0    0    0      0.0    0    0    0    0    0    0
## 2    0    0    0    0    0    0      0.0    0    0    0    0    0    0
## 3    0    0    0    0    0    0      0.0    0    0    0    0    0    0
## 4    0    0    0    0    0 -250 -46571.7    0    0    0    0    0    0
## 5    0    0    0    0    0    0      0.0    0    0    0    0    0    0
## 6    0    0    0    0    0    0      0.0    0    0    0    0    0    0
##   4722 4784 4789     4812      4814 4816      4829 4899 4900 5013 5039
## 1    0    0    0      0.0      0.00    0       0.0    0    0    0    0
## 2    0    0    0  -2550.5 -22572.72    0 -910805.6    0 -200    0    0
## 3    0    0    0      0.0   -200.00    0       0.0    0    0    0    0
## 4    0    0    0 -30956.0  -8973.00    0 -249016.2    0    0    0    0
## 5    0    0    0      0.0  -7500.00    0  -26185.0    0    0    0    0
## 6    0    0    0  -3380.0  -7030.00    0  -75614.5 -660    0    0    0
##   5044 5045 5047 5065 5072 5085 5094 5099 5111 5122 5137 5172 5192 5193
## 1    0    0    0    0    0    0    0    0    0    0    0    0    0    0
## 2    0    0    0    0    0    0    0    0  -74    0    0    0    0    0
## 3    0    0    0    0    0    0    0    0    0    0    0    0    0    0
## 4    0    0    0    0    0    0    0    0    0    0    0    0 -125    0
## 5    0    0    0    0    0    0    0    0    0    0    0    0    0    0
## 6    0    0    0    0    0    0    0    0    0    0    0    0    0    0
##   5199  5200  5211 5231 5251     5261    5300     5309 5310 5311     5331
## 1    0     0     0    0    0     0.00     0.0     0.00    0    0     0.00
## 2    0  -126  -302    0    0 -6058.55 -7688.6 -2854.08    0    0 -6494.67
## 3    0     0     0    0    0     0.00     0.0     0.00    0    0     0.00
## 4    0 -2218     0    0    0 -1637.91     0.0     0.00    0  -54 -3638.58
## 5    0     0 -4890    0    0     0.00     0.0     0.00    0    0     0.00
## 6    0     0 -1426    0    0     0.00     0.0     0.00    0    0   -79.89
##   5399      5411 5422    5441 5451 5462      5499      5511 5532     5533
## 1    0  -4230.64    0     0.0    0    0      0.00      0.00    0     0.00
## 2    0 -51748.20    0 -2750.5    0    0 -84727.14 -50997.45    0 -5250.00
## 3    0      0.00    0     0.0    0    0      0.00      0.00    0     0.00
## 4    0 -70597.80    0     0.0    0    0   -808.00      0.00    0 -7870.48
## 5    0 -50685.09    0     0.0    0    0      0.00      0.00    0     0.00
## 6    0 -82177.95    0     0.0    0    0  -2048.80  -7938.60    0 -2150.00
##         5541 5542 5571 5599 5611 5621 5631  5641  5651  5655  5661 5681
## 1   -3200.00    0    0    0    0    0    0     0     0     0     0    0
## 2 -117331.82    0    0    0    0    0 -802     0     0 -6690 -6520    0
## 3       0.00    0    0    0    0    0    0     0     0     0     0    0
## 4  -12261.42    0    0    0    0    0    0     0 -3495     0  -680    0
## 5       0.00    0    0    0    0    0    0     0     0     0     0    0
## 6  -36570.58    0    0    0    0    0    0 -9280     0     0     0    0
##    5691 5697 5699   5712 5713 5714 5719   5722   5732 5734 5735 5811
## 1     0    0    0      0    0    0    0      0      0    0    0    0
## 2 -7950    0    0 -30595    0    0    0 -16851 -14350    0    0    0
## 3     0    0    0      0    0    0    0      0      0    0    0    0
## 4 -3344    0    0      0    0    0    0      0      0    0    0    0
## 5     0    0    0      0    0    0    0      0  -5090    0    0    0
## 6     0    0    0      0    0    0    0  -1895  -3290    0    0    0
##        5812    5813  5814 5816      5912   5921 5931  5941 5942 5943  5944
## 1      0.00     0.0     0    0   -175.00      0    0     0    0    0 -4167
## 2 -30999.12 -1784.5 -7620    0 -11757.39 -46598    0 -1759    0    0 -2091
## 3      0.00     0.0     0    0      0.00      0    0     0    0    0     0
## 4 -13950.00     0.0  -875    0  -4232.00   -418    0     0    0    0     0
## 5      0.00     0.0     0    0  -3121.30      0    0     0    0    0     0
## 6  -4027.25     0.0  -926    0  -4864.15      0    0 -5048    0    0 -8146
##      5945 5946 5947 5948 5949 5950 5964   5965 5967 5968 5969 5970 5976
## 1     0.0    0    0    0    0    0    0      0    0    0    0    0    0
## 2 -2400.0    0    0    0    0    0    0 -16990    0    0    0    0    0
## 3     0.0    0    0    0    0    0    0      0    0    0    0    0    0
## 4 -8560.2    0    0    0    0    0    0      0    0    0    0    0    0
## 5     0.0    0    0    0    0    0    0      0    0    0    0    0    0
## 6 -2273.0    0    0    0    0    0    0      0    0    0    0    0    0
##       5977     5983      5992 5993 5994   5995     5999      6010
## 1     0.00 -3043.31      0.00    0    0      0  -819.80       0.0
## 2 -6213.62     0.00 -15288.89    0  -91 -30961 -4825.01  448229.6
## 3     0.00     0.00      0.00    0    0      0     0.00       0.0
## 4     0.00  -319.00      0.00    0    0      0     0.00 1150490.6
## 5     0.00     0.00      0.00    0    0      0     0.00   28000.0
## 6     0.00 -6257.04  -1600.00    0    0      0 -5295.00   74251.0
##        6011 6012 6051 6211     6300 6513 6536 7011 7210   7216 7221 7230
## 1  -80822.5    0    0    0      0.0    0    0    0    0      0    0    0
## 2 -717100.0    0    0    0 -17185.8    0    0    0 -522 -11860    0    0
## 3 -196000.0    0    0    0      0.0    0    0    0    0      0    0    0
## 4  -88603.5 1000    0    0      0.0    0    0    0    0      0    0    0
## 5 -166800.0    0    0    0      0.0    0    0    0    0      0    0    0
## 6 -130755.2    0    0    0      0.0    0    0    0    0      0    0    0
##   7273 7278 7298 7299 7311 7372 7375 7395 7399   7523 7531  7538 7542 7629
## 1    0    0    0    0    0    0    0    0    0    0.0    0     0    0    0
## 2    0    0    0    0    0    0    0    0 -550 -507.5    0     0 -500    0
## 3    0    0    0    0    0    0    0    0    0    0.0    0     0    0    0
## 4    0    0    0    0    0    0    0    0    0    0.0    0 -6905    0    0
## 5    0    0    0    0    0    0    0    0    0    0.0    0     0    0    0
## 6    0    0    0    0    0    0    0    0    0    0.0    0     0    0    0
##   7699 7829 7832 7841 7922 7933 7991 7993 7994 7995 7996   7997 7999 8011
## 1    0    0    0    0    0    0    0    0    0    0    0      0    0    0
## 2 -900    0    0    0    0    0    0    0    0    0    0 -68240    0    0
## 3    0    0    0    0    0    0    0    0    0    0    0      0    0    0
## 4    0    0    0    0    0    0    0    0    0    0    0      0    0    0
## 5    0    0    0    0    0    0    0    0    0    0    0      0    0    0
## 6    0    0 -380    0    0    0    0    0    0    0    0      0    0    0
##   8021     8043 8062 8071   8099 8299 8398 8641 8999 9222 9311 9399
## 1    0      0.0    0    0      0    0    0    0    0    0    0    0
## 2    0 -47925.5    0    0 -47083    0    0    0    0    0    0    0
## 3    0      0.0    0    0      0    0    0    0    0    0    0    0
## 4    0      0.0    0    0      0    0    0    0    0    0    0    0
## 5    0      0.0    0    0      0    0    0    0 -150    0    0    0
## 6    0      0.0    0    0      0    0    0    0    0    0    0    0

Строим модель с помощью метода главных компонент. Если для модели классификации от количества транзакций, большинство переменных входили в компоненты с отрицательными знаками, то теперь с положительными.

Тем не менее типы транзакций, состоящие в первой компоненте (объясняющей 20% от общей дисперсии) с наибольшими весами, почти такие же, как и в случае классификации от количества транзакций.

## Importance of components:
##                           PC1     PC2     PC3     PC4     PC5     PC6
## Standard deviation     5.1233 3.56342 3.23776 3.05056 2.93080 2.81772
## Proportion of Variance 0.2027 0.09807 0.08096 0.07187 0.06634 0.06132
## Cumulative Proportion  0.2027 0.30078 0.38174 0.45361 0.51995 0.58126
##                            PC7     PC8     PC9    PC10    PC11    PC12
## Standard deviation     2.55364 2.25508 2.19574 2.01769 1.87557 1.85964
## Proportion of Variance 0.05036 0.03927 0.03723 0.03144 0.02717 0.02671
## Cumulative Proportion  0.63162 0.67090 0.70813 0.73957 0.76674 0.79345
##                           PC13    PC14    PC15    PC16    PC17    PC18
## Standard deviation     1.78548 1.76941 1.67474 1.64167 1.59510 1.57357
## Proportion of Variance 0.02462 0.02418 0.02166 0.02081 0.01965 0.01912
## Cumulative Proportion  0.81807 0.84225 0.86391 0.88472 0.90437 0.92349
##                           PC19    PC20    PC21    PC22    PC23
## Standard deviation     1.49055 1.44996 1.41595 1.35828 1.31616
## Proportion of Variance 0.01716 0.01624 0.01548 0.01425 0.01338
## Cumulative Proportion  0.94065 0.95689 0.97237 0.98662 1.00000

## Confusion Matrix and Statistics
## 
##           Reference
## Prediction  0  1
##          0 58 55
##          1 15 15
##                                           
##                Accuracy : 0.5105          
##                  95% CI : (0.4256, 0.5949)
##     No Information Rate : 0.5105          
##     P-Value [Acc > NIR] : 0.5335          
##                                           
##                   Kappa : 0.0089          
##  Mcnemar's Test P-Value : 3.141e-06       
##                                           
##             Sensitivity : 0.7945          
##             Specificity : 0.2143          
##          Pos Pred Value : 0.5133          
##          Neg Pred Value : 0.5000          
##              Prevalence : 0.5105          
##          Detection Rate : 0.4056          
##    Detection Prevalence : 0.7902          
##       Balanced Accuracy : 0.5044          
##                                           
##        'Positive' Class : 0               
## 

Точность модели равна 51%. Однако, в вероятность принадлежности к тому или иному полу у модели слишком много неопределенности (значений 0.50000). Таким образом, для предсказания пола клиентов выбираем модель классификации на основании количества транзакций.

##   tmdf_mcc$customer_id         0         1 gender
## 1               127946 0.5489548 0.4510452 female
## 2               961425 0.3674397 0.6325603   male
## 3              1211346 0.5405117 0.4594883 female
## 4              2098407 0.6617695 0.3382305 female
## 5              2733562 0.5692771 0.4307229 female
## 6              2805830 0.5503216 0.4496784 female