일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 항해99단점
- 객체지향 프로그래밍
- 인스턴스화
- Thread
- 객체
- 프로세스
- 소셜로그인
- 스레드
- jwt
- object
- jvm
- inversion of control
- DI
- social login
- 클래스
- IoC
- API
- 항해99장점
- 오브젝트
- class
- process
- 쓰레드
- bean
- 소셜
- Instance
- Dependency Injection
- 항해99솔직후기
- 부트캠프추천
- 인스턴스
- 회고록
- Today
- Total
로운's 기술노트
[6주차] 프로그래밍 기초 주차 (2/5) 본문
ㅇ 프로젝트 : 음악 플랫폼 유저 행동 데이터 분석 (notion.site)
ㅇ 데이터 : Spotify User Behavior Dataset (kaggle.com)
지금까지 개인적으로 준비한 내용을 정리해보았다.
프로젝트에 흐름에 알맞는 시각자료 및 근거로 사용하기 위해 각 문항은 독립적으로 서술하였으나 포함하는 내용은 별도 주석처리 하였다.
[Preprocessing] One-Hot Encoding 처리
columns_to_encode = ['spotify_listening_device', 'music_Influencial_mood', 'music_lis_frequency', 'music_expl_method']
for column in columns_to_encode:
df_temp = df[column].str.split(',').apply(lambda x: [i.strip() for i in x]) # 문자열을 쉼표로 분리하고, 각 문자열의 앞뒤 공백 제거
df_encoded = df_temp.apply(lambda x: pd.Series([1] * len(x), index=x)).fillna(0, downcast='infer') # 새로운 데이터프레임 생성(원본 보존 목적)
df = pd.concat([df.iloc[:, :df.columns.get_loc(column)+1], df_encoded, df.iloc[:, df.columns.get_loc(column)+1:]], axis=1) # 해당 컬럼 이후 위치에 concat처리
df.drop('', axis=1, inplace=True) # 공백 컬럼 삭제
df.info()
ㄴ 리서치 중복 체크된 값을 분석에 용이한 1과 0으로 분화.
A. 성별/연령 대비 구독현황
A-1. (여성의 비율이 절대적이긴 하지만) 양성 모두 20~35세 비율이 가장 높으며, 전체 80%에 달함. 따라서 해당 연령대에 대한 이벤트 필요(가입여부 무관, 제휴)
A-2. **Free 유저의 20~35세 여성의 비율이 전체 대비 55.58%**로 매우 높음. 해당 타겟 대상 가입 프로모션 필요(e.g. 무료 구독 n월 등)
B. 구독자 대비 구독의향자 비교
B-1. 전체 구독 대비 의향율이 2배 수준. 특히 여성의 구독 의향은 206%에 달한다
B-2. 현재 구독율보다 구독의향율이 높은 것을 보아, 서비스 자체의 퀄리티가 부족하지 않을 것으로 추정
B-3. 현 구독자의 구독유지율 75%, 구독 서비스 만족도 제고
C. 카이제곱 검정 처리 (변수간 독립성 확인)
from scipy.stats import chi2_contingency
col1 = 'spotify_subscription_plan'
for col2 in df.columns:
if col1 != col2:
contingency_table = pd.crosstab(df[col1], df[col2])
chi2, p, dof, expected = chi2_contingency(contingency_table)
# if p < 0.05: # p-value가 0.05 미만, 독립적이지 않음(대립가설)
if p >= 0.05: # p-value가 0.05 이상, 각 변수가 독립적
print(f"카이제곱 검정: {col1} vs {col2}")
print(f"p-value: {p}")
출력값 : 카이제곱 검정: spotify_subscription_plan vs Gender
p-value: 0.1522314466334885
C-1. vs Gender > 구독에 성별은 독립적이므로 이벤트나 프로모션에 성별 차이를 두는 것은 무의미함. ( ↔ 1-b)
D. 구독 여부에 따른 회원 기간 비율 비교
D-1. 모수 차이만 있지, 전체적인 비율은 유사할 것이라는 가설은 반은 맞고 반은 틀렸다.
1년 이상의 오랜 기간(65% : 58%), 특히 2년 이상의 경우는 매우 유사한 비율(33% : 32%)로 나타난다. 그러나 위와 같이 ‘6개월 이하’의 비율이 극단적으로 낮은 경우는 서비스 운영 측면에서 매우 비정상적인 구조. 통상적으로 기간에 따라 피라미드 구조를 나타나는데, 현재 역피라미드에 가까운 구조이기 때문(신규 유입이 없거나 매우 적다는 의미)
> 신규 마케팅 활동 필요 & 외부요인 조사 필요
>> 외부요인 : 국가나 기간별 약 1~3개월 무료를 고정적으로 시행하고 있다. 이에 무료체험 가입자의 경우 실제 매출 발생 기준으로 회원 구분을 진행할 가능성이 있다.
E. 평점 대비 구독 유형별 선호 요금제 분석
E-1. 무료 구독자 중 높은(4~5점) 평을 했던 고객은 ‘응답없음’을 포함하여 비교적 낮은 요금제에 만족할 것(각 57, 64, 61%)이라 답하였고, 오히려 중간(3점)으로 평했던 고객은 비교적 고가의 요금제를 원함.
> 무료 요금제 사용에 만족도가 높을 수록 유료 구독율이 현저히 떨어질 것으로 보임.(무료 요금제의 적절한 불편이 유료전환율에 도움될 것)
E-2. 유료 구독자의 경우도 높게(4~5점) 평했던 고객이 저가 요금제를, 중간(3점)으로 평했던 고객은 179고가 요금제를 원하는 공통적인 추이를 보임.
> 따라서 서비스에 적절한 관심이 있고 현재 상태에 100% 만족하지 않는 고객군이 가장 높은 요금제를 원하는 것으로 보임
E-3. 평가에 따라 무료구독자는 각각 54%, 37%, 10%(high, middle, low순)의 비교적 높은 만족도를 가지나, 유료구독자는 34%, 37%, 30%로 고루 분포된 모습을 보이는 것이 인상적.
F. 평점별 구독 및 선호 팟캐스트 유형 (합계가 1명인 컬럼, 팟캐스트 미사용자 제외)
F-1. 프리미엄 구독자는 N(응답없음)이 없다.
F-2. High 평가자는 구독 여부와 상관없이 Comedy, Lifestyle and Health가 높다(비중 55~60%)
F-3. Middle 평가자는 구독 여부와 상관없이 Sports 항목 비중이 가장 높다(44~62%).
F-4. Low 평가자 또한 구독 여부와 상관없이 Health and Fitness 비중이 가장 높다 (22~50%)
F-5. ‘선호 팟캐스트’는 ‘구독 여부’ 컬럼과 독립성이 있는 것으로 보인다. > 추후 검증 필요
>> 구독 여부와 관계없이 같은 유형이 채택되었다는 것은 공통적인 서비스 이슈일 가능성 多.
Low 평가자들이 공통적으로 꼽았던 Health and Fitness 유형의 품질 검토 시급
高요금군의 Middle 평가자들의 Sport 유형의 품질 개선도 꾸준히 f/up할 것. (→ E-2)
G. 평점별 구독 및 선호 팟캐스트 형식 (팟캐스트 미사용자 제외)
G-1. 팟캐스트 형식에서 무료와 유료 구독자 간의 차이가 두드러짐. 특히 “N”(응답없음)의 비중이 무료 구독자는 High가 높은 반면, 유료 구독자는 Low가 높다는 점이 특징이다.
> 무료 구독자는 만족도가 높을 수록 응답률이 낮고, 유료 구독자는 만족도가 낮을 수록 응답률이 낮다.
G-2. 무료구독자 : High 평가자는 “N”(응답없음)을 포함한 대부분의 형식에 높은 비율(약 55%)을 보인 반면, Middle 평가자는 Interview 위주(46%)로 원하고, Low 평가자는 Educational(17%)이 가장 높다.
G-3. 유료구독자 : High 평가자는 Story telling(39%), Educational(50%)이 가장 높고, Middle평가자는 Conversational (38%), Low평가자는 Interview(47%)와 N(67%)에 비중이 높다.
>> 특정 유형의 팟캐스트만 편향되는 현상은 발생하지 않음 (특히 유료구독자는 각 유형에 고루 분포) 상대적으로 팟캐스트 이용이 많은 유료구독자가 다양한 유형에 편성되어 있다는 것은 매우 긍정적으로 평가됨
<외부 환경>
A. 2022년 4분기 기준으로 Spotify의 유료 이용자인 프리미엄 사용자는 2억 500만 명
B. 만성적인 적자에 시달림
(3분기 흑자전환은 가격인상이 원인: 2023년 8-2호 [이슈 브리프] 스포티파이의 가격 인상...아티스트 보상 현실화 가능할까 : 네이버 블로그 (naver.com)
C. 서비스 차별점
- 방대한 라이브러리
- 무료 요금제 서비스 운영
- 검색 및 믹스 알고리즘이 우수
- 스포티파이 커넥트 : 동일 와이파이 내 자유로운 감상 가능 기능
- (Apple Music 대비), 성능 최적화와 배터리소모 최적화 ↓ 인터페이스 ↓
D. 사업기반 : 매년 10~13%의 성장세이며, 특히 ‘유럽’에 매우 두터운 지지기반이 있음(약 40%)
E. 광고 수익 현황 : 월 유저 당 매출이 0.4 달러수준 (페이스북이 유저당 광고수익 4달러 수준)
※ 참고
Spotify Technology SA (SPOT) 재무 요약 - Investing.com
2023년 11-1호(제16호) [이슈 트렌드] 영업이익 흑자전환 성공한 스포티파이, 콘텐츠와 플랫폼의 역학 변화 포착 : 네이버 블로그 (naver.com)
'내배캠_데이터분석가_'24.04~08 > 회고' 카테고리의 다른 글
Chapter 3. 데이터 분석 입문 (7주차_2/3) (0) | 2024.05.30 |
---|---|
[Chapter 3] 데이터 분석 입문 (7주차_1/3) (0) | 2024.05.29 |
[6주차] 프로그래밍 기초 주차 (1/5) (0) | 2024.05.20 |
[5주차] 프로그래밍 기초 주차 (4/4) (0) | 2024.05.17 |
[5주차] 프로그래밍 기초 주차 (3/4) (0) | 2024.05.16 |