개인 과제 안내
•
제출 마감: 2025. 5. 19. (월) 14:00 까지
•
과제 해설: 2025. 5. 19. (월) 14:00 ~ 15:00
과제 목표 및 진행 안내
과제 목표
1. SQL에 익숙해지기
2. Query 작동 원리를 이해하기
진행 안내
SQL(데이터 속 한 걸음)라이브세션을 학습하신 수강생들이 풀 수 있도록 만들었습니다.
•
문제들은 비전공자 기준 2시간 혹은 그 이상을 고민하도록 구성하였습니다.
◦
충분한 고민이 여러분의 실력 상승에 도움이 됩니다.
•
현업에서의 여러분 코딩 실력을 키우기 위해 ChatGPT 사용을 금지합니다.
◦
당장의 문제는 해결 할 수 있지만 실력 향상에는 독입니다.
◦
추가로 튜터님들에게 직접적으로 문제 해결을 바라는 질문도 지양해주세요.
•
과제 기간에 질문하는 방법
1.
현재 풀고 있는 문제
2.
전체 코드
3.
에러 코드의 Detail (Ex Division by Zero)
4.
에러 코드의 추가 설명
5.
해결을 위해서 시도해본 것
a.
blog, Youtube 찾아본 경험
b.
혹은 본인의 지식 or 강의 지식으로 생각하는 바
진행 방식
1.
과제 진행은 DBeaver 등등 본인이 편한 환경으로 설정하여 진행하세요.
2.
각 문제에 내용들을 확인하여 코드를 작성하여주세요.
3.
제출 링크에 각 문항에 맞게 코드를 제출해주세요.
4.
필수 문제 / 도전 문제
a.
필수 : 1-3번 문제
b.
도전 : 4-6번 문제
•
제출 쿼리는 실행 가능한 쿼리로 작성해주세요.
◦
실행 에러가 날 경우 0점 처리됩니다.
•
문제 4~6번은 난이도 상 도전 과제 입니다.
그래도.. 멋지게 도전해보세요!
과제 목표 & 진행 방식
브라질의 대표적인 이커머스 플랫폼인 Olist의 주문 데이터를 기반으로 만든 실제 상업 데이터로, 캐글(Kaggle)에서 공개된 Brazilian E-Commerce Public Dataset by Olist에서 다운로드할 수 있습니다.
Olist의 원본 데이터
실습 데이터 다운로드 
과제
문제1. 배송 지연 고객 분석
배송 지연은 고객 만족도에 큰 영향을 미칠 수 있습니다. 특히, 여러 번 주문을 한 고객들이 예상 배송일보다 실제 배송이 늦어진 경우, 이들은 브랜드에 대한 충성도가 높을 수 있으므로 특별한 주의가 필요합니다.
이번 과제는 예상 배송일보다 실제 배송을 늦게 받은 고객들 중에서, 가장 많은 주문을 한 고객을 찾아내는 것입니다. 이 고객들은 배송 서비스 개선이나 VIP 혜택을 제공하기 위한 중요한 대상이 될 수 있습니다.
문제
예상 배송일보다 실제 배송을 늦게 받은 고객들 중에서, 가장 많은 주문을 한 고객의 ID와 총 주문 수를 조회하세요.
•
결과 컬럼: customer_id, total_orders
쿼리 예시 이미지
문제2. 결제 방식별 통계 분석
온라인 쇼핑몰이나 서비스 플랫폼에서 결제 방식은 고객의 구매 경험에 중요한 영향을 미칩니다. 다양한 결제 방식이 제공됨에 따라, 각 결제 방식별로 얼마나 많은 금액이 결제되었는지를 파악하는 것은 매우 중요합니다. 이를 통해 결제 방식의 선호도와 효율성을 분석할 수 있으며, 결제 수단에 따른 사용자 행동 분석을 통해 마케팅 전략을 조정하거나 시스템 최적화를 할 수 있습니다.
이번 과제는 payments 테이블에서 각 결제 방식(payment_type)별 결제 금액의 합계와 해당 결제 방식이 전체 결제 금액에서 차지하는 비율을 계산하는 것입니다. 이를 통해 각 결제 방식의 기여도를 분석하고, 플랫폼의 결제 방식에 대한 인사이트를 도출할 수 있습니다.
문제
marketer_payments 테이블에서 각 결제 방식(payment_type)별 결제 금액의 합계와 해당 결제 방식이 전체 결제 금액에서 차지하는 비율을 계산하세요.
•
결과 컬럼: payment_type, total_payment_value, payment_percentage
쿼리 예시 이미지
문제3. 유저별 결제 및 주문 분석
고객의 주문 및 결제 데이터를 분석하는 것은 비즈니스 전략에 중요한 인사이트를 제공합니다. 특히, 배송된 주문에 대한 분석을 통해 고객들의 구매 패턴을 파악하고, 이들을 대상으로 더 나은 서비스나 마케팅 전략을 수립할 수 있습니다. 이번 과제는 배송이 완료된 주문을 기준으로 고유 고객 수, 총 주문 수, 총 결제 금액, 그리고 고객 1명당 평균 결제액을 계산하는 것입니다.
이 분석을 통해, 배송이 완료된 고객들의 행동 패턴을 파악하고, 특정 고객군에 대한 맞춤형 마케팅을 고려할 수 있는 기초 데이터를 제공할 수 있습니다.
문제
배송된(delivered) 주문을 기준으로 고유 고객 수, 총 주문 수, 총 결제 금액, 그리고 고객 1명당 평균 결제액을 계산하세요.
•
결과 컬럼: cnt_users, cnt_orders, sum_payment, arppu
쿼리 예시 이미지
문제4. 고과금 결제 비율 분석
결제 수단별 분석은 고객이 어떤 결제 방식을 선호하는지, 그리고 그 결제 방식에서 발생하는 금액 분포를 파악하는 데 유용합니다. 특히, 결제 수단 내에서 고액 결제를 분석함으로써, 고액 결제 고객을 식별하고, 이를 통해 더 나은 마케팅 전략을 수립할 수 있습니다.
이번 과제는 동일한 결제수단(payment_type)에서 이루어진 다른 결제들의 평균 금액보다 높은 결제들 중, 해당 결제가 결제 수단의 총 결제 금액 대비 20% 이상을 차지하는 주문을 찾아내는 것입니다. 이를 통해 특정 결제 수단에서 큰 비중을 차지하는 고액 결제 고객을 식별할 수 있습니다. payment_ratio는 결제 금액이 해당 결제 수단의 총 결제 금액에서 차지하는 비율을 소수점 둘째 자리까지 계산합니다.
문제
동일한 결제수단(payment_type)에서 이루어진 다른 결제의 평균 금액보다 높은 결제들 중에서, 해당 결제가 해당 결제수단의 총 결제 금액 대비 20% 이상을 차지하는 주문을 조회하세요.
payment_ratio는 결제 금액이 총 결제 금액에서 차지하는 비율을 소수점 둘째 자리까지 계산해주세요.
•
결과 컬럼: order_id, payment_type, payment_value, payment_ratio
쿼리 예시 이미지
문제5. 월별 주문 추세 분석
월별 주문 건수를 분석하는 것은 사업의 성장 추이를 파악하고, 특정 월에 발생한 주문 변화를 이해하는 데 중요한 역할을 합니다. 특히, 주문이 없는 달도 0건으로 포함하여 전반적인 패턴을 정확히 이해하는 것이 필요합니다. 또한, 월별 주문 건수의 증감률을 계산함으로써, 이전 달과 비교한 성장률을 파악하고, 비즈니스 전략을 개선하는 데 필요한 인사이트를 얻을 수 있습니다.
이번 과제는 orders 테이블에서 월별(년-월) 주문 건수를 계산하고, 주문이 없는 달도 0건으로 포함하며, 지난달 대비 주문 건수 증감율(growth_rate)을 계산하는 것입니다. 결과는 년-월(month) 순서대로 정렬되며, 증감율은 소수점 둘째 자리까지 반올림하여 계산합니다.
문제
marketer_orders 테이블에서 월별(년-월) 주문 건수를 계산하되, 주문이 없는 달도 0건으로 포함하고, 지난달 대비 주문 건수 증감율(growth_rate)을 계산하세요.
결과는 년-월(month) 순서대로 정렬하며, 증감율은 소수점 둘째 자리까지 반올림 해주세요.
•
결과 컬럼: month, cnt_orders, growth_rate
쿼리 예시 이미지(결과 전체)
문제6. 결제 이상치 탐지
결제 금액의 이상치는 고객의 구매 행동을 분석하거나 결제 시스템의 오류를 파악하는 데 중요한 정보를 제공합니다. 결제 금액이 평균을 기준으로 너무 크거나 작은 경우, 이는 비정상적인 결제 패턴을 나타낼 수 있습니다. 이러한 이상치를 탐지하고, 이를 'Yes'/'No'로 표시함으로써, 정상적인 결제 흐름과 비정상적인 흐름을 구별할 수 있습니다.
이번 과제는 각 결제 방식(payment_type)별로 결제 금액의 평균 ± 3 표준편차(standard deviation)를 기준으로 이상치를 탐지하는 것입니다. 결제 금액이 이 범위를 벗어나면 해당 결제는 이상치로 간주되며, 그 여부를 'Yes' 또는 'No'로 표시합니다. 또한, 결제 금액이 큰 순으로 정렬해야 합니다.
문제
각 결제 방식(payment_type)별 결제 금액의 평균 ± 3 표준편차(standard deviation)를 기준으로 이상치를 ‘Yes’/’No’로 탐지하세요. 결제 금액이 이 범위를 벗어나면 이상치로 간주합니다.
결제 금액이 큰 순으로 정렬해주세요.
•
결과 컬럼: order_id, payment_type, payment_value, is_outlier
쿼리 예시 이미지(상위 일부)
개인 과제 제출 안내
•
제출 마감: 2025. 5. 19. (월) 14:00 까지
•
과제 해설: 2025. 5. 19. (월) 14:00 ~ 15:00
Copyright ⓒ 2024 TeamSparta All rights reserved.
.png&blockId=1f02dc3e-f514-8091-8faa-f992f940cdd9)
_(7).png&blockId=1f02dc3e-f514-8091-8faa-f992f940cdd9&width=3600)
.png&blockId=1f02dc3e-f514-8091-8faa-f992f940cdd9&width=256)

