본문 바로가기
Data Science/R

[R] 알짜 고객 분류

by AI_Wooah 2022. 3. 1.

https://polar-comet-18d.notion.site/R-45993199d3b24cb1b4328d4b8dd23160

 

[R] 알짜 고객 분류

고객 가치 분류분석

polar-comet-18d.notion.site

고객 가치 분류분석

높은 고객가치를 지닌 우수고객에게 더 많은 혜택을 제공하는 마케팅을 위해 알짜 고객을 분류한다.

많은 고객들 중에서 수익성을 높여주는 고객과 손해를 일으키는 고객의 분류

고객은 모두 다른 니즈를 가지고 있다.

개별적으로 기여하는 가치도 모두 다르다.

고객가치 분석은 가치가 높은 고객을 다양한 방법으로 분류하는 방법이다.

기업들은 우수 고객의 중요성을 인식하고 고객의 수익성과 미래가치 등을 고려한 분석기법을 활용하여 우수고객을 선정하고 관리한다.

비즈니스적 측면과 고객만족 측면을 모두 고려해야 한다.

K군집분류 방식을 사용해 분류분석

사용자가 정해준 숫자만큼 고객들을 자동분류해주는 통계 방식

동시에 두 조건을 만족하는 데이터를 뽑는 방법

&로 연결

subset 함수

# 데이터에서 변수를 제한하는 방법
# 케이스 선택 방법

iris[,1:4]

1:4

# 추출된 함수를 그대로 입력하는
iris[,c("Sepal.Length","Sepal.Width")]

# iris데이터를 이용해서 처음 네개의 숫자형 데이터 추출
# 데이터로부터 변수명 추출
iris_name<-names(iris)[1:4]
iris_name

iris[,iris_name]

iris[iris$Sepal.Length>7,]

iris$Sepal.Length>7

iris[iris$Species=="virginica",]

iris[iris$Sepal.Length>7 & iris$Species=="virginica",] 

subset(iris,Sepal.Length>7 & Species=="virginica")

iris[iris$Species=="virginica" & iris$Petal.Width > 2.3, 4:5]

subset(iris[4:5],Species=="virginica" & Petal.Width > 2.3)
str(customer_purchase)
head(customer_purchase)
summary(customer_purchase)
> head(customer_purchase)  monetary frequency purchase_price1     3200         4       800.00002     3400         5       680.00003     4400         6       733.33334    11270         9      1252.22225    14630         6      2438.33336    48680         9      5408.8889> summary(customer_purchase)    monetary        frequency      purchase_price  Min.   :     0   Min.   : 1.000   Min.   :    0   1st Qu.:    10   1st Qu.: 1.000   1st Qu.:   10   Median :   120   Median : 1.000   Median :  110   Mean   :  5718   Mean   : 2.033   Mean   : 3647   3rd Qu.:  4250   3rd Qu.: 1.000   3rd Qu.: 2750   Max.   :161890   Max.   :43.000   Max.   :45650

군집 1명에는 56명이 두번째 할당 431 마지막 5명이 할당됐다

바로 아래 있는 클러스터빈

군집의 평균 수치를 보면 할당된 군집번호별로 구매금액의 통합결과 총횟수 객단가의 평균 결과

데이터 통합의 결과가 출력이 돼있다.

여러가지 평균으로 봤을 때 가장 가치가 높은 고객이 3번 군집으로 할당돼있는 고객이다.

고객수는 작지만 가치는 굉장히 높은 우수고객이다

## 고객가치 분류

# 1) 데이터 불러오기
customer_purchase

# 2) 데이터 탐색
str(customer_purchase)
head(customer_purchase)
summary(customer_purchase)

# 3) 군집분석 수행
km <- kmeans(customer_purchase, 3)
km

# 4) 군집분석의 군집정보 추출
km$cluster

# 5) vip 정보 불러오기
customer_vip

# 6) 고객금액 데이터, 군집분석 결과, VIP 정보 합치기
result<-cbind(customer_purchase, cluster=km$cluster,cust_level=customer_vip$vip)
head(result)

# 7) VIP 등급 확인
summary(result)
result$cluster<-as.factor(result$cluster)

aggregate(monetary~cluster,data=result,mean)
aggregate(monetary~cust_level,data=result,mean)

subset(result,cust_level!="일반")

데이터에 원하는 기준을 부여해 변수를 뽑아내는 방법

통계적 기준이 비즈니스적 기준과 동일한 것은 아니다.

높은 고객가치를 지닌 우수고객에게 더 많은 혜택을 제공하는 마케팅을 위해 알짜 고객을 분류한다.

많은 고객들 중에서 수익성을 높여주는 고객과 손해를 일으키는 고객의 분류

고객은 모두 다른 니즈를 가지고 있다.

개별적으로 기여하는 가치도 모두 다르다.

고객가치 분석은 가치가 높은 고객을 다양한 방법으로 분류하는 방법이다.

기업들은 우수 고객의 중요성을 인식하고 고객의 수익성과 미래가치 등을 고려한 분석기법을 활용하여 우수고객을 선정하고 관리한다.

비즈니스적 측면과 고객만족 측면을 모두 고려해야 한다.

K군집분류 방식을 사용해 분류분석

사용자가 정해준 숫자만큼 고객들을 자동분류해주는 통계 방식

동시에 두 조건을 만족하는 데이터를 뽑는 방법

&로 연결

subset 함수

# 데이터에서 변수를 제한하는 방법
# 케이스 선택 방법

iris[,1:4]

1:4

# 추출된 함수를 그대로 입력하는
iris[,c("Sepal.Length","Sepal.Width")]

# iris데이터를 이용해서 처음 네개의 숫자형 데이터 추출
# 데이터로부터 변수명 추출
iris_name<-names(iris)[1:4]
iris_name

iris[,iris_name]

iris[iris$Sepal.Length>7,]

iris$Sepal.Length>7

iris[iris$Species=="virginica",]

iris[iris$Sepal.Length>7 & iris$Species=="virginica",] 

subset(iris,Sepal.Length>7 & Species=="virginica")

iris[iris$Species=="virginica" & iris$Petal.Width > 2.3, 4:5]

subset(iris[4:5],Species=="virginica" & Petal.Width > 2.3)
str(customer_purchase)
head(customer_purchase)
summary(customer_purchase)
> head(customer_purchase)  monetary frequency purchase_price1     3200         4       800.00002     3400         5       680.00003     4400         6       733.33334    11270         9      1252.22225    14630         6      2438.33336    48680         9      5408.8889> summary(customer_purchase)    monetary        frequency      purchase_price  Min.   :     0   Min.   : 1.000   Min.   :    0   1st Qu.:    10   1st Qu.: 1.000   1st Qu.:   10   Median :   120   Median : 1.000   Median :  110   Mean   :  5718   Mean   : 2.033   Mean   : 3647   3rd Qu.:  4250   3rd Qu.: 1.000   3rd Qu.: 2750   Max.   :161890   Max.   :43.000   Max.   :45650

군집 1명에는 56명이 두번째 할당 431 마지막 5명이 할당됐다

바로 아래 있는 클러스터빈

군집의 평균 수치를 보면 할당된 군집번호별로 구매금액의 통합결과 총횟수 객단가의 평균 결과

데이터 통합의 결과가 출력이 돼있다.

여러가지 평균으로 봤을 때 가장 가치가 높은 고객이 3번 군집으로 할당돼있는 고객이다.

고객수는 작지만 가치는 굉장히 높은 우수고객이다

## 고객가치 분류

# 1) 데이터 불러오기
customer_purchase

# 2) 데이터 탐색
str(customer_purchase)
head(customer_purchase)
summary(customer_purchase)

# 3) 군집분석 수행
km <- kmeans(customer_purchase, 3)
km

# 4) 군집분석의 군집정보 추출
km$cluster

# 5) vip 정보 불러오기
customer_vip

# 6) 고객금액 데이터, 군집분석 결과, VIP 정보 합치기
result<-cbind(customer_purchase, cluster=km$cluster,cust_level=customer_vip$vip)
head(result)

# 7) VIP 등급 확인
summary(result)
result$cluster<-as.factor(result$cluster)

aggregate(monetary~cluster,data=result,mean)
aggregate(monetary~cust_level,data=result,mean)

subset(result,cust_level!="일반")

데이터에 원하는 기준을 부여해 변수를 뽑아내는 방법

통계적 기준이 비즈니스적 기준과 동일한 것은 아니다.

높은 고객가치를 지닌 우수고객에게 더 많은 혜택을 제공하는 마케팅을 위해 알짜 고객을 분류한다.

많은 고객들 중에서 수익성을 높여주는 고객과 손해를 일으키는 고객의 분류

고객은 모두 다른 니즈를 가지고 있다.

개별적으로 기여하는 가치도 모두 다르다.

고객가치 분석은 가치가 높은 고객을 다양한 방법으로 분류하는 방법이다.

기업들은 우수 고객의 중요성을 인식하고 고객의 수익성과 미래가치 등을 고려한 분석기법을 활용하여 우수고객을 선정하고 관리한다.

비즈니스적 측면과 고객만족 측면을 모두 고려해야 한다.

K군집분류 방식을 사용해 분류분석

사용자가 정해준 숫자만큼 고객들을 자동분류해주는 통계 방식

동시에 두 조건을 만족하는 데이터를 뽑는 방법

&로 연결

subset 함수

# 데이터에서 변수를 제한하는 방법
# 케이스 선택 방법

iris[,1:4]

1:4

# 추출된 함수를 그대로 입력하는
iris[,c("Sepal.Length","Sepal.Width")]

# iris데이터를 이용해서 처음 네개의 숫자형 데이터 추출
# 데이터로부터 변수명 추출
iris_name<-names(iris)[1:4]
iris_name

iris[,iris_name]

iris[iris$Sepal.Length>7,]

iris$Sepal.Length>7

iris[iris$Species=="virginica",]

iris[iris$Sepal.Length>7 & iris$Species=="virginica",] 

subset(iris,Sepal.Length>7 & Species=="virginica")

iris[iris$Species=="virginica" & iris$Petal.Width > 2.3, 4:5]

subset(iris[4:5],Species=="virginica" & Petal.Width > 2.3)
str(customer_purchase)
head(customer_purchase)
summary(customer_purchase)
> head(customer_purchase)  monetary frequency purchase_price1     3200         4       800.00002     3400         5       680.00003     4400         6       733.33334    11270         9      1252.22225    14630         6      2438.33336    48680         9      5408.8889> summary(customer_purchase)    monetary        frequency      purchase_price  Min.   :     0   Min.   : 1.000   Min.   :    0   1st Qu.:    10   1st Qu.: 1.000   1st Qu.:   10   Median :   120   Median : 1.000   Median :  110   Mean   :  5718   Mean   : 2.033   Mean   : 3647   3rd Qu.:  4250   3rd Qu.: 1.000   3rd Qu.: 2750   Max.   :161890   Max.   :43.000   Max.   :45650

군집 1명에는 56명이 두번째 할당 431 마지막 5명이 할당됐다

바로 아래 있는 클러스터빈

군집의 평균 수치를 보면 할당된 군집번호별로 구매금액의 통합결과 총횟수 객단가의 평균 결과

데이터 통합의 결과가 출력이 돼있다.

여러가지 평균으로 봤을 때 가장 가치가 높은 고객이 3번 군집으로 할당돼있는 고객이다.

고객수는 작지만 가치는 굉장히 높은 우수고객이다

## 고객가치 분류

# 1) 데이터 불러오기
customer_purchase

# 2) 데이터 탐색
str(customer_purchase)
head(customer_purchase)
summary(customer_purchase)

# 3) 군집분석 수행
km <- kmeans(customer_purchase, 3)
km

# 4) 군집분석의 군집정보 추출
km$cluster

# 5) vip 정보 불러오기
customer_vip

# 6) 고객금액 데이터, 군집분석 결과, VIP 정보 합치기
result<-cbind(customer_purchase, cluster=km$cluster,cust_level=customer_vip$vip)
head(result)

# 7) VIP 등급 확인
summary(result)
result$cluster<-as.factor(result$cluster)

aggregate(monetary~cluster,data=result,mean)
aggregate(monetary~cust_level,data=result,mean)

subset(result,cust_level!="일반")

데이터에 원하는 기준을 부여해 변수를 뽑아내는 방법

통계적 기준이 비즈니스적 기준과 동일한 것은 아니다.

반응형

'Data Science > R' 카테고리의 다른 글

[R] 시계열 분석을 통한 미래 예측  (0) 2022.03.01
[R] 텍스트 데이터를 통해 의미를 도출  (0) 2022.03.01
[R] 이상거래 탐지  (0) 2022.03.01
[R] 데이터 형변환 및 합  (0) 2022.03.01
[R] 상품 추천  (0) 2022.03.01

댓글