'데이터분석가 입문 Python 부트캠프' 강의에 대해 소개하고자 합니다.
오늘 강의 주제는 "제품 포트폴리오 분석 프로젝트" 입니다.
제품 포트폴리오 분석이란?
제품 포트폴리오 분석은 데이터를 기반으로 제품의 시장 위치와 성과를 평가하여 전략적 비즈니스 의사 결정을 지원하는 과정입니다. 이 분석을 통해 기업은 각 제품의 강점과 약점을 파악하고, 향후 전략을 수립하는 데 필요한 중요한 인사이트를 얻을 수 있습니다.
데이터 로드
# 구글 마운트
from google.colab import drive
drive.mount('/content/drive')
# 라이브러리
import pandas as pd
import numpy as np
import plotly.express as px
# 데이터 불러오기
df = pd.read_csv('/content/drive/MyDrive/메타코드M/강의노트/product_mart.csv')
# 데이터 확인
df.head()
# 'order_date' 컬럼을 object 에서 날짜 형식으로 변환
df['order_date'] = pd.to_datetime(df['order_date'])
df.info()
# 카테고리와 제품별로 그룹화하여 주문 개수를 계산합니다. count와 size는 같은 결과를 반환합니다.
df.groupby(by = ['category','product_id' ])['order_id'].count()
df.groupby(by = ['category','product_id' ])['order_id'].size()
데이터 변환 및 계산
# 순가격 : 할인율을 적용한 가격
df['net_price'] = df['price'] * (1-df['discount_ratio'])
# 순매출
df['net_revenue'] = df['net_price'] * df['quantity']
# 총 매출
df['revenue'] = df['price'] * df['quantity']
# 총 비용 계산
df['total_cost'] = df['cost'] * df['quantity']
# 할인 금액 계산
df['discount'] = df['discount_ratio'] * df['price']
# 총 할인 금액 계산
df['total_discount'] = df['discount'] * df['quantity']
df_agg = df.groupby(by = ['product_id', 'category', 'price'])[['quantity', 'net_revenue', 'revenue', 'total_cost', 'total_discount']].sum().reset_index()
df_agg.head()
# 순 이익율 계산 : (총 매출 - (총 비용 + 총 할인 금액)) / 총 매출
df_agg['net_profit_ratio'] = 1-(df_agg['total_cost'] + df_agg['total_discount'])/df_agg['revenue']
# 총 순이익 계산 : (총 매출 - 총 비용 - 총 할인 금액)
df_agg['total_net_profit'] = df_agg['revenue']-df_agg['total_cost']-df_agg['total_discount']
# 할인율 계산 : 총 할인 금액 / 총 매출
df_agg['discount_ratio'] = df_agg['total_discount'] / df_agg['revenue']
# 비용 비율 계산 : 총 비용 / 총 매출
df_agg['cost_ratio'] = df_agg['total_cost'] / df_agg['revenue']
# 검증
# 순이익률 + 비용 비율 + 할인율 = 1
df_agg['net_profit_ratio'] + df_agg['cost_ratio'] + df_agg['discount_ratio']
# 총 매출 - 총비용 - 총 할인금액 - 총 순수익 = 0
df_agg['revenue'] - df_agg['total_cost'] - df_agg['total_discount'] - df_agg['total_net_profit']
시각화
fig = px.scatter(df_agg,
x = 'revenue',
y = 'net_profit_ratio',
width = 900,
height = 700,
title = '제품 포트폴리오 분석',
hover_name = 'product_id',
size = 'total_net_profit',
color = 'discount_ratio'
)
fig.show()
그래프 해석
- X축 (revenue):
- 제품별 총 매출을 나타냅니다. 오른쪽으로 갈수록 매출이 높은 제품을 의미합니다.
- Y축 (net_profit_ratio):
- 제품별 순이익률을 나타냅니다. 위로 갈수록 순이익률이 높은 제품을 의미합니다.
- 버블 크기:
- 버블의 크기는 제품별 매출의 크기를 나타냅니다. 더 큰 버블은 더 높은 매출을 나타냅니다.
- 색상 (discount_ratio):
- 색상은 제품별 할인율을 나타냅니다. 색상 막대가 보여주듯이, 보라색에서 노란색으로 갈수록 할인율이 높아집니다.
분석
- 순이익률이 높은 제품들: 왼쪽 상단에 위치한 작은 점들이 순이익률이 높지만 매출이 적은 제품들입니다. 이 제품들은 비용 절감이나 높은 마진을 통해 높은 순이익률을 유지하고 있습니다.
- 매출이 높은 제품들: 오른쪽 하단에 위치한 큰 점들은 매출이 높은 제품들입니다. 이 제품들 중 일부는 순이익률이 낮을 수 있지만, 매출이 크기 때문에 전체 수익에 큰 기여를 할 수 있습니다.
- 할인율: 노란색 점들은 할인율이 높은 제품들입니다. 할인율이 높아도 매출과 순이익률에 따라 다른 전략적 결정을 할 수 있습니다. 예를 들어, 할인율이 높지만 매출이 크고 순이익률도 적당히 높은 제품은 전략적으로 중요할 수 있습니다.
이 그래프를 통해 제품별 매출, 순이익률, 할인율을 종합적으로 평가할 수 있습니다. 이를 바탕으로 제품 포트폴리오를 최적화하고, 각 제품에 대한 전략적 의사 결정을 내리는 데 유용한 인사이트를 얻을 수 있습니다.
후기 및 추천 : 자세하게 설명해 주시기 때문에 입문자도 잘 이해할 수 있는 강의입니다!
'Data Analytics > Online Course' 카테고리의 다른 글
[메타코드 강의 후기] Python 데이터분석 | 공공 데이터 분석 및 시각화 (2) | 2024.07.04 |
---|---|
[메타코드 강의 후기] Python 데이터분석 | 파이썬 기초 (0) | 2024.07.02 |
[강의 후기] 파이썬 데이터 분석 | 데이터 시각화 (7) | 2024.06.29 |
[특강 후기] 데이터 분석가 현직자 특강 후기 (0) | 2024.06.28 |
[강의 후기] 파이썬 데이터 분석 | 데이터 전처리 (0) | 2024.06.22 |