SQL 분석 프로젝트 - Spotify



분석의 목적



결과



제안



데이터 설명



Age 나이 그룹별
Gender 성별
spotify_usage_period 시용한 기간
spotify_subscription_plan 구독 플랜
premium_sub_willingness 구독 희망 여부
preferred_listening_content 선호하는 콘텐츠
fav_music_genre 좋아하는 음악 장르
music_time_slot 음악 듣는 시간대
music_recc_rating 추천 음악 만족도
pod_lis_frequency 팟캐스트 듣는 주기
fav_pod_genre 선호하는 팟캐스트 장르
preffered_pod_format 선호하는 팟캐스트 형식
pod_host_preference 선호하는 팟캐스트 호스트
preffered_pod_duration 선호하는 팟캐스트 길이
pod_variety_satisfaction 팟캐스트 만족도



근거

1.1 선호하는 콘텐츠 별 → 구독플랜과 추후에 구독 희망 여부

(어느 그룹이 더 구독을 잘할까/적극적일까?)

WITH using_col AS (
SELECT Age
    , Gender
    , spotify_usage_period
    , spotify_subscription_plan
    , premium_sub_willingness
    , preferred_listening_content
    , fav_music_genre
    , music_time_slot
    , music_recc_rating
    , pod_lis_frequency
    , fav_pod_genre
    , preffered_pod_format
    , pod_host_preference
    , preffered_pod_duration
    , pod_variety_satisfaction
FROM `eminent-ring-451902-n9.spotify.Spotify`
)
SELECT preferred_listening_content
    , spotify_subscription_plan
    , COUNT(spotify_subscription_plan)
FROM using_col
GROUP BY preferred_listening_content, spotify_subscription_plan
;

사진1

생각:

구독 안하는 비율이 훨씬 크고, 그중에 음악 듣는 사람들 많음.

→ 왜 음악을 듣는 많은 사람들이 구독을 안하고 듣나?

→ 음악과 팟캐스트의 길이 차이인가?

→ 구독의 만족도나 가성비가 안좋나? (굳이인가?)

→ 구독한 사람들의 추천 음악/팟캐 만족도를 보자





1.2 구독 희망 여부 → 추천 음악 만족도 & 팟캐스트 만족도

(서비스 만족도가 낮아서 구독을 덜 하는걸까?)

SELECT premium_sub_willingness
    , music_recc_rating
    , COUNT(music_recc_rating) AS counts
FROM using_col
GROUP BY premium_sub_willingness, music_recc_rating
ORDER BY premium_sub_willingness DESC, music_recc_rating ASC
;

사진2

생각:

구독 안한 사람들에 비해 구독한 사람들이 음악 추천에 대해 만족도가 더 높네.



그럼 만족도 점수별 (구독한다 vs 안한다)은 어떻게 나타날까?

SELECT music_recc_rating
    , premium_sub_willingness
    , COUNT(premium_sub_willingness) AS counts
FROM using_col
GROUP BY  music_recc_rating, premium_sub_willingness
ORDER BY music_recc_rating ASC, premium_sub_willingness DESC
;

사진3 생각:

→ (꽤 높은 점수인)3~4점을 줬는데, 구독은 안한다는 사람 수가 구독 한다는 사람수에 거의 2배인데..

→ 굳이 추천이 맘에 안들어서 구독을 안하는건 아닌것 같은데?





2.1 사용한 기간  → 추천 음악 & 팟캐스트 만족도

(사용한 기간이 늘어나면서 만족도 차이는? 우리 서비스에 점점 만족하는가?)

-- 스포티파이 뮤직
SELECT spotify_usage_period
    , ROUND(AVG(music_recc_rating),2) AS avg_music_recc_rating
FROM using_col
GROUP BY spotify_usage_period
ORDER BY avg_music_recc_rating DESC
;

사진4

사용한 기간이 늘어나면서 만족도 차이는? 우리 서비스에 점점 만족하는가?



사진5



6개월~1년 사용자들의 음악 추천 평균 만족도가 줄어들었다가 증가함.





-- 스포티파이 팟캐스트
SELECT pod_variety_satisfaction
    , COUNT(*) AS counts
    , ROUND(100 * COUNT(*) / (SELECT COUNT(*) FROM using_col),2) AS composition_ratio
FROM using_col
GROUP BY pod_variety_satisfaction
ORDER BY composition_ratio DESC
;

사진6

사진7

사진8

일단 전체적인 비율로는 전반적으로 만족하는것 같네.





2.2 그럼 각각의 사용주기에 따른 (서비스 이용기간에 따른) 만족도 변화는?
SELECT spotify_usage_period
    , pod_variety_satisfaction
    , COUNT(*) AS counts
    , SUM(COUNT(*)) OVER (PARTITION BY spotify_usage_period) AS total_counts
    , ROUND(100 * (COUNT(*) / SUM(COUNT(*)) OVER (PARTITION BY spotify_usage_period)), 2) AS composition_ratio
FROM using_col
GROUP BY spotify_usage_period, pod_variety_satisfaction
ORDER BY spotify_usage_period, pod_variety_satisfaction
;

사진9



사진10



사진11

시간 흐를수록 불만족하는 비율이 줄어드는걸 확인할수 있음. (시간이 지날수록 서비스에 만족하는 비율 늘어남. 긍정적!)





3. 나이별/성별 → 선호하는 콘텐츠

(나이별/성별로 선호하는 콘텐츠는 뭘까?)

3.1 나이별 → 선호하는 콘텐츠 (팟캐/ 뮤직)
SELECT Age
    , preferred_listening_content
    , COUNT(preferred_listening_content) AS counts
FROM using_col
GROUP BY Age, preferred_listening_content
ORDER BY Age
;

사진12

사용자의 대부분은 20~35세 그룹이고, 그중에서도 뮤직을 듣는 사람의 수가 팟캐보다 훨씬 많음.

(다른 나이대의 사용자들은 뮤직과 팟캐의 비율이 거의 같음.)

그럼 가장 많은 비율을 차지하는 나이대인 20~35세에서의 구독에 대한 생각은 어떨까? 좋아하는 음악 장르는?





3.2 나이별 인기있는 음악 장르는?
SELECT Age
    , fav_music_genre
    , COUNT(*) AS counts
    , ROUND(100 * COUNT(*) / SUM(COUNT(*)) OVER (PARTITION BY
         Age), 2)
            AS composition_ratio
FROM using_col
GROUP BY Age, fav_music_genre
ORDER BY Age
;

사진13

→ 각 나이별로 보면, 12~20세에서는 Classical, Rap, Melody순으로 인기가 가장 많음. 사용자중에 가장 많은 비중을 차지하는 20~35세에서 인기있는 장르는 Melody(54.74%), Pop(17.6%), classical(13.27%).

→ Melody, Pop, classical. 이 3가지 장르가 전 연령층에 걸쳐서 공통적으로 가장 인기있음.

그럼 가장 많은 비율을 차지하는 나이대인 20~35세에서의 구독에 대한 생각은 어떨까?





3.3 20~35세에서의 구독 비율
SELECT spotify_subscription_plan
     , COUNT(*) AS counts
FROM using_col
WHERE Age = '20-35'
GROUP BY spotify_subscription_plan
;

사진14





3.4 20~35세에서의 구독 희망 여부
SELECT premium_sub_willingness
    , COUNT(*) AS counts
FROM using_col
WHERE Age = '20-35'
GROUP BY premium_sub_willingness
;

사진15

→ 현재 가장 많은 비율을 차지하는 나이대인 20~35세에서는 구독보다는 무료(광고)로 사용하는 비율이 훨씬 높음(거의 6:1). 하지만 긍정적인 점은 구독을 희망하는 사람 비율이 큰걸로 보아. 서비스에 만족하고 추후에 구독을 신청할 사람들이 많아보임.





4.1 성별 → 선호하는 콘텐츠 (팟캐/ 뮤직)
SELECT Gender
    , preferred_listening_content
    , COUNT(preferred_listening_content) AS counts
FROM using_col
GROUP BY Gender, preferred_listening_content
;

사진16

  • 팟캐나 뮤직 둘다 여성이 차지하는 비중이 남성보다 훨씬 큼.

  • 팟캐에서는 여성이 남성의 4배, 뮤직에서는 여성이 3배 많음.





4.2 성별 →인기있는 음악장르
SELECT Gender
   , fav_music_genre
   , COUNT(*) AS counts
   , ROUND(100 * COUNT(*) / SUM(COUNT(*)) OVER (PARTITION BY 
        Gender), 2)
            AS composition_ratio
FROM using_col
GROUP BY Gender, fav_music_genre
ORDER BY Gender
;

사진17

→ 여성에게는 Melody(55.5%), Pop(15.6%), Classical(14.83%) 순으로 인기가 가장 많았고 / 남성에게는 Melody(35.96%), Pop(20.18%), Classical(20.18%) 순으로 인기가 있음. 둘다 인기있는 상위 음악 장르는 비슷한 트렌드를 보여줌.

→ 그럼 우리 뮤직의 주 고객층인 여성들은 우리의 음악 추천 서비스에 얼만큼 만족하고 있을까?



사진18

→ 많은 수의 여성 사용자들은 현재의 음악 추천 시스템에 대해 만족하는것처럼 보임. 하지만 3점에 가장 많은 140명이 있다? 무슨 의미 일까? (추가적인 데이터 수집이 필요해보임)