1. 판다스 퀴즈
(1) iris 데이터 활용하여 산점도 만들기
요구사항
1) species별 sepal length, sepal width, petal length, petal width의 평균과 표준편차를 구하세요.
2) sepal length, sepal_width, petal_length, petal_width 4가지 변수 중 가장 상관관계가 높은 두 변수를 찾으세요.
3) 위에서 구한 두 변수를 x, y축으로 두고 species에 따라 분류하는 산점도를 생성하세요.
#평균과 표준편차
df = iris.groupby("species").agg(['mean', 'std'])
print(df)
#상관계수
iris[['sepal_length', 'sepal_width','petal_length','petal_width']].corr()
#분포도 작성
sns.scatterplot(x = "petal_length", y = "petal_width",
data = iris, hue = "species")
상관계수를 구하는 것을 너무 꼬아서 생각한 것 같다. 가장 상관관계가 높은 두 변수를 찾으라는 말에, 굳이 높은 어려운 식을 작성해 가며 풀었다.
❗️ 공부할 내용
* 상관계수의 종류
[피어슨 상관계수]
피어슨 상관계수는 두 변수 간의 선형 상관관계를 계량화 한 수치이다. 코시-슈바르츠 부등식에 의해 +1과 -1사이의 값을 가진다.
+1의 경우 완벽한 양의 선형 상관 관계, -1의 경우 완벽한 음의 상관관계, 0의 경우 선형 상관관계를 갖지 않는다.
사용방법
print(df.corr(method='pearson'))
>>
col1 col2 col3
col1 1.000000 0.887739 -1.000000
col2 0.887739 1.000000 -0.887739
col3 -1.000000 -0.887739 1.000000
서로 다른 상관계수 값을 갖는 산포도 다이어그램의 예
[켄달-타우상관계수]
두 변수들 간의 순위를 비교해서 연관성을 계산하는 방식이다.
예를 들어 어린이의 나이와 키에 대한 아래와 같은 순위 데이터를 보면, 나이순위에 따라 키의 순위가 동일한 것을 알 수 있다.
print(df.corr(method='kendall'))
>>
col1 col2 col3
col1 1.000000 0.866667 -1.000000
col2 0.866667 1.000000 -0.866667
col3 -1.000000 -0.866667 1.000000
순위 | A | B | C | D | C |
나이 | 1 | 3 | 4 | 2 | 5 |
키 | 1 | 3 | 4 | 2 | 5 |
이런 경우 켄달-타우 상관계수의 경우 완벽한 양의 상관 계수인 +1이 된다.
[스피어먼 상관계수]
스피어먼 상관계수는 두 변수의 순위 값 사이의 피어슨 상관 계수와 같다.
즉, 순서척도가 적용되는 경우에는 스피어먼 상관계수가, 간격척도가 적용되는 경우에는 피어슨 상관계수가 적용된다.
두 변수가 선형관계가 아니어도 스피어먼 상관계수는 1이 될 수 있다. 단순히 순위 간의 상관계수이기 때문이다.
※출처: https://wikidocs.net/157461
(2) 삼성전자 주가 데이터 처리
요구사항
1) FinanceDataReader 라이브러리를 활용하여 2019-01-01부터 2024-12-16까지의 삼성전자(종목코드: 005930)의 주가정보를 불러온 후, 월평균 종가를 구하세요.
- Close 칼럼 이용
- "samsung_mean" 새로운 데이터 프레임에 저장
2) 평균 종가(Close)의 전월 대비 증감률을 구하세요.
- samsung_mean 데이터프레임에 "전월대비(%)" 칼럼 생성
- 소수점 첫째 자리 반올림
3) 평균 종가(Close)의 전년동월대비 증감률을 구하세요.
- samsung_mean 데이터 프레임에 "전년동월대비(%)" 칼럼 생성
- 소수점 첫째 자리 반올림
3단계 까지 완성 후, samsung_mean을 출력하세요.
pip install -U finance-datareader
import pandas as pd
import FinanceDataReader as fdr
#삼성의 데이터 추출
samsung = fdr.DataReader('005930', "2019-01-01", "2024-12-16")
samsung
samsung.index
samsung.index.strftime("%Y-%m")
samsung2 = samsung.reset_index()
samsung2['Year'] = samsung2['Date'].dt.year
samsung2['Month'] = samsung2['Date'].dt.month
samsung2
samsung2['Date'].dt.strftime("%Y-%m")
samsung_mean = samsung2.groupby(["Year","Month"])["Close"].mean()
samsung_mean = pd.DataFrame(samsung_mean)
samsung_mean
#4-2)
samsung_mean['전월'] = samsung_mean['Close'].shift()
samsung_mean["전월대비(%)"] = \
round((samsung_mean["Close"] - samsung_mean["전월"]) / samsung_mean["전월"] * 100, 1)
samsung_mean
2. 아티클 분석
거래 후기 실험을 통해 따뜻한 거래 경험 만들기
거래 후기 실험을 통해 당근마켓이 어떻게 따뜻한 서비스를 만들고 성장시켜 나가는지 소개해 드릴게요!
medium.com
당근마켓은 거래 후기를 통해서 거래 당사자들을 긴밀하고 따뜻하게 연결하고, 이후 또 다른 이웃을 만나게 될 때 그 사람에 대한 평판을 알려주는 신뢰도 검증의 측면으로 활용하고 있다.
→ 데이터에서 단순히 거래를 경험한 사용자보다는 거래 후기를 주고받은 사용자가 높은 Retention율을 보였고,
그중에서 정성이 담긴 텍스트 후기를 받은 유저는 그보다 높은 Retention율을 보였다.
→ 후기작성은 사소해 보일지 몰라도 소비자 경험에 있어서 가장 강력한 무기가 된다.
당근마켓은 정성적인 데이터를 지표 화하여 A/B 테스트를 거쳐 경험들을 개선해 나갔다.
그리고 이 부분은 당근마켓을 기업을 대표하는 이미지이자 강점으로 작용하였다.
당근마켓이 추구하는 경험의 목표를 정리해 보면, 아래와 같다.
당근마켓 = 따뜻한 중고 거래 문화를 바탕으로 이웃과 이웃을 연결. 짧은 만남으로 행복을 전달하고자 함.
당근마켓에서는 아래의 과정을 거쳐서 A/B테스트를 진행하는데, 독특한 점은 매출인상, 신규고객 확보 등의 정량적 지표가 아닌 거래 후기를 통해 따뜻함을 느끼게 하는 것을 목표로 잡았다.
즉, 소비자들의 이야기에 관심을 기울이는 정서적 마케팅에 포커싱을 두고, 기업이 추구하는 근본적인 핵심가치를 우선순위로 잡았다는 것이다.
이를 바탕으로 최근에는 당근마켓에서 '마켓'을 떼고 '당근'으로 사명을 변경하는 리브랜딩을 진행하기도 했다.
당근마켓은 중고거래 장터를 넘어서 지역 생활 커뮤니티로서의 방향성을 확립하고자 했다.
당근마켓, ‘당근’으로 서비스명 바꾼다 | 당근 보도자료
새로운 로고(BI)와 리브랜딩 영상 공개
about.daangn.com
🥕 당근마켓의 A/B 테스트 과정
1단계: 목표를 세운다.
- 거래 후기를 통해 따뜻함을 느끼는 것.
2단계: 현 상황을 분석한다.
- 구매자가 판매자보다 거래 후기를 덜 작성한다는 것을 데이터를 통해 확인. 판매자는 게시글을 거래 완료로 바꾸면서 자연스럽게 거래 후기를 작성하게 되지만, 구매자는 물건을 받는 순간 거래가 끝났다고 느끼기 때문에 다시 앱을 켜고 거래 후기를 작성해야 할 동기를 느끼지 못함.
3단계: 아이디어를 수집한다.
- 거래 완료 후 거래 후기를 작성할 때까지 다양한 유저 시나리오를 검토하고, 거래 후기 작성을 유도할 수 있는 방안에 대해 다양한 아이디어를 공유함.
4단계: 가설을 세우고 실험을 설계
- 가설을 세울 때, 핵심지표(구매자 중 거래 완료 게시글에 후기를 작성한 비율)도 함께 측정.
5단계: 실험 결과를 분석하고 서비스 반영 여부를 결정한다.
- 거래후기 작성을 유도하는 채팅 시스템 메시지를 받은 사람이 거래 후기를 더 많이 작성하는 결과를 얻음
'데이터분석캠프 TIL' 카테고리의 다른 글
TIL 241231 데이터분석과정: 스타벅스 마케팅 분석, 우수 TIL 선정된 날 (1) | 2024.12.31 |
---|---|
241220 TIL 데이터분석과정 (1) | 2024.12.26 |
241219 TIL 데이터 분석 과정 (3) | 2024.12.19 |
241218 TIL 데이터 분석과정 - SQL 코드카타(저자 별 카테고리 별 매출액 집계하기, 그룹별 조건에 맞는 식당 목록 출력하기, 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기, 오프라인/온라인 판매 데이터 통합하기) (5) | 2024.12.18 |
241216 TIL (SQL 코드카타 - 자동차 평균 대여기간 구하기, 우유와 요거트가 담긴 장바구니) (0) | 2024.12.16 |