
데이터 분석 취업을 준비하는 분의 프로젝트를 검토하면서 온라인 쇼핑몰 매출 데이터를 분석한 자료를 본 적이 있습니다. Python으로 데이터를 정리하고 Tableau로 대시보드를 만들었으며, 월별 매출과 카테고리별 주문 건수도 보기 좋게 표현되어 있었습니다. 처음에는 결과물이 충분히 완성된 것처럼 보였지만, 재구매율이 낮은 이유를 묻자 설명이 막혔습니다. 재구매 고객을 어떤 기준으로 구분했는지, 주문 취소와 환불 데이터를 제외했는지, 분석 기간이 다른 고객을 같은 조건으로 비교해도 되는지 정리하지 않았기 때문입니다. 차트는 있었지만 그 차트가 어떤 문제를 해결하기 위해 만들어졌는지는 보이지 않았습니다.
자료를 다시 살펴보니 전체 고객을 기준으로 계산한 재구매율과 첫 구매 후 90일이 지난 고객만을 대상으로 계산한 재구매율의 차이도 상당했습니다. 신규 고객까지 모두 분모에 포함했을 때는 재구매율이 실제보다 낮아 보였고, 취소 주문을 제외하지 않은 매출 그래프에서는 특정 월의 실적이 과도하게 높게 나타났습니다. 이 준비생은 SQL 조건을 수정하고 고객군을 가입 시기와 첫 구매 상품별로 나눈 뒤 분석을 다시 진행했습니다. 그 결과 특정 상품군으로 유입된 고객의 두 번째 구매 전환이 유독 낮다는 사실을 발견했고, 첫 구매 후 일정 기간 안에 관련 상품을 추천해야 한다는 제안까지 연결할 수 있었습니다.
이처럼 데이터 분석 프로젝트를 포트폴리오로 만드는 과정에서는 사용한 도구보다 분석 판단이 더 중요합니다. 단순히 데이터를 수집하고 그래프를 완성했다는 사실만으로는 지원자의 역량을 충분히 보여주기 어렵습니다. 어떤 문제를 발견했고, 지표의 기준을 어떻게 세웠으며, 예상과 다른 결과를 어떻게 검증했는지 보여줘야 합니다. 작은 공개 데이터 프로젝트라도 문제정의, 지표분석, 시각화가 하나의 흐름으로 이어진다면 면접에서 오래 설명할 수 있는 취업 자료가 됩니다.
데이터 분석 프로젝트의 출발점은 분명한 문제정의입니다
- 넓은 주제보다 답할 수 있는 질문이 필요합니다
데이터 분석 프로젝트를 시작할 때 매출 데이터를 분석하겠다거나 고객 행동을 알아보겠다는 목표를 세우는 경우가 많습니다. 하지만 이런 표현은 분석 분야만 알려줄 뿐, 실제로 해결하려는 문제가 무엇인지는 보여주지 못합니다. 매출이 감소한 원인을 찾겠다는 목표도 기간과 비교 기준이 없으면 분석 범위가 계속 넓어집니다. 최근 3개월 동안 신규 고객의 두 번째 구매 전환율이 낮아진 원인을 확인한다는 식으로 대상, 기간, 지표를 좁혀야 필요한 데이터를 결정할 수 있습니다.
문제정의가 분명하면 분석 과정에서 불필요한 차트를 줄일 수 있습니다. 반대로 질문이 모호하면 월별 매출, 연령별 주문, 지역별 고객 수처럼 만들 수 있는 그래프를 모두 나열하게 됩니다. 포트폴리오 검토자는 차트의 수보다 지원자가 무엇을 확인하려 했는지를 먼저 살펴봅니다.
- 프로젝트를 시작할 때는 데이터에서 무엇을 찾을 수 있을지보다 회사가 어떤 판단을 내려야 하는지 먼저 생각하는 것이 좋습니다. 예를 들어 재구매율이 낮다는 현상을 확인하는 데서 끝내지 말고, 어느 고객군에서 이탈이 발생하며 어떤 행동을 제안할 수 있는지까지 질문을 확장해야 합니다.
- 분석 질문에는 비교 기준이 포함되어야 합니다. 지난달보다 매출이 줄었다면 전월만 비교할 것인지, 전년 같은 기간과 비교할 것인지에 따라 해석이 달라집니다. 프로모션이나 계절성처럼 결과에 영향을 준 조건도 함께 정리해야 성급한 결론을 피할 수 있습니다.
- 데이터 추출 조건도 문제의 일부입니다
한 준비생은 배달 주문 데이터를 활용해 지역별 평균 주문 금액을 분석했습니다. 처음에는 특정 지역의 평균 주문 금액이 가장 높다는 결론을 제시했지만, 원본 데이터를 확인하니 테스트 주문과 취소 주문이 함께 포함되어 있었습니다. 일부 고액 단체 주문도 평균을 크게 끌어올리고 있었습니다. 그는 정상 결제된 주문만 남기고 중앙값과 주문 금액 구간을 추가로 비교한 뒤, 해당 지역은 일반 고객의 소비가 높은 것이 아니라 소수의 고액 주문 비중이 높다는 방향으로 결론을 수정했습니다.
이 사례에서 중요한 것은 처음부터 완벽한 분석을 했다는 사실이 아닙니다. 잘못된 조건을 발견하고 추출 기준을 다시 세운 과정이 오히려 분석 역량을 구체적으로 보여줍니다. SQL의 WHERE 조건, 중복 제거 기준, 날짜 범위와 제외 항목을 기록하면 결과가 만들어진 근거도 함께 남길 수 있습니다.
- 프로젝트 설명의 깊이는 판단 과정에서 달라집니다
- 도구만 나열한 설명은 Python과 SQL을 이용해 쇼핑몰 데이터를 분석하고 시각화했습니다 정도에 머뭅니다.
- 과정이 보이는 설명은 주문 데이터에서 취소 건을 제외하고 월별 매출과 고객별 구매 횟수를 계산했습니다처럼 분석 범위가 조금 더 구체적으로 나타납니다.
- 판단과 검증이 담긴 설명은 신규 고객까지 포함하면 재구매율이 실제보다 낮아질 수 있다고 판단해 첫 구매 후 90일이 지난 고객만 분석 대상으로 정했습니다. 이후 첫 구매 상품군별 재구매율을 비교했고, 특정 상품군의 이탈이 높다는 결과를 확인해 후속 상품 추천 시점을 제안했습니다라고 정리할 수 있습니다. 면접관은 마지막 설명을 통해 지원자가 데이터를 계산하는 사람인지, 데이터로 판단하는 사람인지 구분할 수 있습니다.
지표분석은 계산식보다 기준과 해석을 보여줘야 합니다
- 같은 지표도 정의에 따라 결과가 달라집니다
데이터 분석 포트폴리오에서 매출, 전환율, 이탈률, 재구매율 같은 지표를 자주 사용하지만 이름만 같다고 계산 기준까지 같은 것은 아닙니다. 재구매율을 전체 고객 중 두 번 이상 구매한 고객의 비율로 계산할 수도 있고, 특정 기간 안에 첫 구매를 완료한 고객 중 다시 구매한 비율로 계산할 수도 있습니다. 분석 목적에 따라 적절한 방식이 달라지므로 계산식과 선택 이유를 함께 설명해야 합니다.
실제로 구독 서비스 데이터를 분석한 준비생이 월별 이탈률을 구독 해지 고객 수에서 전체 누적 가입자 수를 나누는 방식으로 계산한 사례가 있었습니다. 누적 가입자를 분모로 사용하자 서비스 규모가 커질수록 이탈률이 자연스럽게 낮아 보였습니다. 월초 활성 구독자 수를 분모로 다시 계산하고 무료 체험 종료와 유료 구독 해지를 분리하자, 결제 첫 달에 이탈이 집중된다는 사실이 드러났습니다. 같은 데이터라도 지표 정의를 바르게 세우자 개선해야 할 구간까지 달라진 것입니다.
- 포트폴리오에는 지표명만 적기보다 분자와 분모, 분석 기간, 제외 조건을 함께 남기는 것이 좋습니다. 면접에서 계산 기준을 질문받더라도 분석 당시의 판단을 근거로 답할 수 있고, 결과를 재현할 수 있다는 신뢰도 줄 수 있습니다.
- 평균값 하나로 전체 현상을 설명하려 하지 않아야 합니다. 신규 고객과 기존 고객, 모바일과 웹, 유입 채널, 상품군처럼 의미 있는 기준으로 나누면 전체 평균에 가려진 차이를 찾을 수 있습니다. 다만 구분 기준을 무작정 늘리기보다 문제정의와 관련된 세그먼트를 선택해야 합니다.
- 예상과 다른 결과를 다시 확인하는 과정이 필요합니다
좋은 분석은 처음 세운 가설이 맞았다는 결론만 보여주지 않습니다. 예상과 다른 결과가 나왔을 때 데이터 오류인지, 기준 설정의 문제인지, 실제로 새로운 현상이 발견된 것인지 구분하는 과정도 포함합니다. 예를 들어 할인율이 높을수록 구매 전환율이 높을 것이라고 예상했지만 결과가 반대로 나왔다면, 할인 상품의 노출 위치와 재고 상태, 방문자의 유입 경로를 추가로 확인해야 합니다.
한 프로젝트에서는 쿠폰 사용 고객의 객단가가 일반 고객보다 낮게 나타났습니다. 처음에는 쿠폰이 매출에 도움이 되지 않는다고 판단했지만, 고객을 신규와 기존으로 구분하자 다른 결과가 나왔습니다. 신규 고객은 소액 상품에 가입 쿠폰을 사용하는 비중이 높았고, 기존 고객은 묶음 상품 구매에 쿠폰을 사용해 객단가가 오히려 높았습니다. 전체 평균만 봤다면 쿠폰을 축소해야 한다는 잘못된 제안을 할 수 있었지만, 고객군을 분리하면서 신규 고객용 쿠폰의 최소 구매 금액을 조정한다는 현실적인 제안으로 바뀌었습니다.
- 분석 도구는 결과가 아니라 검증 과정에 연결해야 합니다
SQL을 사용했다면 복잡한 쿼리를 작성했다는 사실보다 어떤 조건으로 데이터를 추출했는지 보여주는 편이 효과적입니다. Python을 사용했다면 라이브러리 목록보다 결측치와 이상치를 처리한 기준, 파생변수를 만든 이유를 설명해야 합니다. Excel이나 스프레드시트를 활용했더라도 피벗 테이블과 함수로 가설을 검증한 과정이 명확하면 충분히 의미 있는 경험이 됩니다.
- 단순한 기술 설명은 Pandas로 데이터를 전처리하고 Matplotlib으로 그래프를 만들었습니다에 그칠 수 있습니다.
- 분석 목적이 드러나는 설명은 주문 취소 데이터와 중복 고객 ID를 정리한 뒤 고객별 구매 주기를 계산했습니다라고 표현할 수 있습니다.
면접으로 이어지는 설명은 취소 주문이 포함되면 월별 매출이 과대 계산되는 문제를 발견해 결제 상태를 기준으로 데이터를 다시 추출했습니다. 이후 고객별 첫 구매일과 두 번째 구매일의 차이를 계산했고, 30일 안에 다시 구매한 비율을 상품군별로 비교했습니다라고 정리할 수 있습니다. 이 설명에는 도구 사용, 데이터 품질 확인, 지표 계산, 해석이 자연스럽게 연결되어 있습니다.
시각화는 분석 결과를 의사결정으로 연결해야 합니다
- 그래프마다 전달할 메시지는 하나가 좋습니다
시각화는 분석 결과를 꾸미는 마지막 작업이 아니라 복잡한 데이터를 빠르게 이해하도록 돕는 설명 방법입니다. 한 화면에 막대그래프, 원형그래프, 꺾은선그래프를 많이 배치한다고 좋은 대시보드가 되는 것은 아닙니다. 각 그래프를 보고 독자가 어떤 사실을 알아야 하는지 먼저 정해야 합니다. 월별 추세를 보여주려면 선그래프가 적합하고, 상품군별 차이를 비교하려면 정렬된 막대그래프가 더 명확할 수 있습니다.
프로젝트 검토 과정에서 지역별 매출을 원형그래프로 표현한 자료를 본 적이 있습니다. 지역이 열두 개라 색상을 구분하기 어려웠고, 비슷한 비율의 지역을 비교하기도 힘들었습니다. 매출 순서로 정렬한 가로 막대그래프로 바꾸고 전체 평균선을 추가하자, 상위 세 지역과 개선이 필요한 지역이 바로 구분되었습니다. 여기에 주문 고객 수와 객단가를 함께 비교하니 매출 차이가 고객 수 때문인지 구매 금액 때문인지도 설명할 수 있었습니다.
- 그래프 제목은 월별 매출 현황처럼 항목만 적기보다 8월 프로모션 종료 후 신규 고객 매출이 감소했습니다처럼 핵심 발견을 담는 방식이 좋습니다. 독자는 제목만 읽어도 시각화의 목적을 파악할 수 있고, 발표할 때도 설명의 중심이 흔들리지 않습니다.
- 색상은 강조할 데이터에 선택적으로 사용해야 합니다. 모든 막대를 서로 다른 색으로 표현하면 무엇이 중요한지 알기 어렵습니다. 기본 데이터는 중립적인 색으로 정리하고, 문제가 발견된 구간이나 비교 대상만 강조하면 메시지가 선명해집니다.
- 시각화 전후의 해석이 함께 있어야 합니다
차트만 배치된 포트폴리오는 독자가 결과를 직접 해석해야 한다는 부담을 줍니다. 그래프 아래에 관찰한 사실, 가능한 원인, 추가로 확인할 항목을 짧게 연결하면 분석가의 사고 과정이 드러납니다. 예를 들어 모바일 결제 단계에서 이탈률이 높다는 그래프를 제시했다면, 특정 브라우저에서 결제 오류가 집중되었는지와 입력 단계가 과도하게 긴지 추가 확인이 필요하다는 설명을 붙일 수 있습니다.
한 준비생은 앱 사용자 데이터를 분석해 주말 접속 시간이 평일보다 길다는 결과를 제시했습니다. 처음에는 주말 이용자에게 콘텐츠 알림을 늘리자고 제안했지만, 시간대별 이용자를 나누자 소수의 장시간 이용자가 평균을 높이고 있다는 사실이 확인되었습니다. 평균 사용 시간만 보여주던 선그래프를 사용 시간 분포와 중앙값 비교로 바꾸자, 알림 확대보다 장시간 이용자의 콘텐츠 유형을 조사해야 한다는 방향으로 제안이 달라졌습니다. 시각화 방식을 바꾸는 일이 곧 해석을 수정하는 과정이 된 사례입니다.
- 포트폴리오에서는 결과보다 흐름을 보여줘야 합니다
데이터 분석 프로젝트는 문제 배경, 데이터 설명, 전처리 기준, 지표 정의, 분석 결과, 시각화, 제안 순서로 정리하면 읽는 사람이 판단 과정을 따라가기 쉽습니다. README나 노션 페이지 첫 화면에는 프로젝트의 핵심 질문과 한 줄 결론을 배치하고, 상세한 SQL 쿼리와 코드 파일은 별도 링크로 연결하는 것이 좋습니다. 모든 코드를 본문에 붙이기보다 핵심 로직과 결과가 바뀐 지점을 선별해야 가독성이 높아집니다.
- 결과만 강조한 설명은 고객 데이터를 분석해 매출 향상 방안을 제시했습니다처럼 누구나 사용할 수 있는 표현에 머뭅니다.
- 근거가 포함된 설명은 첫 구매 상품군별 재구매율을 비교해 생활용품 구매 고객의 재구매율이 낮다는 점을 확인했습니다라고 쓸 수 있습니다.
취업 자료로 활용할 수 있는 설명은 첫 구매 후 관찰 기간이 짧은 고객을 제외하고 90일 재구매율을 계산했습니다. 생활용품 구매 고객은 두 번째 구매까지 걸리는 기간이 길었고, 연관 상품을 함께 본 고객은 재구매율이 상대적으로 높았습니다. 이를 근거로 첫 구매 후 14일 이내에 연관 상품을 추천하는 방안을 제시했으며, 이후 대시보드에서 고객군별 변화를 확인할 수 있도록 구성했습니다라고 정리하는 것입니다. 이러한 설명은 기술면접에서 데이터 기준, 분석 결과, 실무 활용을 묻는 후속 질문으로 자연스럽게 이어집니다.
- conclusion
데이터 분석 프로젝트를 포트폴리오로 만드는 핵심은 화려한 차트나 많은 기술을 보여주는 데 있지 않습니다. 해결하려는 문제를 구체적으로 정의하고, 데이터 추출 조건과 지표 계산 기준을 설명하며, 결과를 독자가 이해할 수 있는 시각화와 제안으로 연결해야 합니다. 공개 데이터로 진행한 개인 프로젝트라도 이 과정이 분명하면 지원자가 어떤 기준으로 판단하고 검증하는 사람인지 보여줄 수 있습니다.
지금 자신의 프로젝트를 다시 열어본다면 첫 화면의 디자인보다 분석 질문부터 확인해 보는 것이 좋습니다. 프로젝트의 목적을 한 문장으로 말할 수 있는지, 같은 지표를 다른 사람이 다시 계산해도 같은 결과가 나오는지, 그래프를 본 사람이 어떤 행동을 해야 하는지 설명할 수 있는지 살펴봐야 합니다. 이 세 가지가 불분명하다면 결과물을 새로 만들기보다 기존 분석의 기준과 기록을 보완하는 편이 효과적입니다.
- 문제정의 점검에서는 분석 주제가 아니라 해결할 질문이 적혀 있는지 확인해야 합니다. 분석 대상과 기간, 비교 기준이 빠져 있다면 질문의 범위를 좁히고 필요한 데이터가 무엇인지 다시 연결해 보는 것이 좋습니다.
- 지표분석 점검에서는 분자와 분모, 제외 조건, 결측치 처리 기준을 설명할 수 있어야 합니다. 예상과 다른 수치가 나왔을 때 원본 데이터와 SQL 조건을 다시 확인한 기록까지 있다면 면접에서 문제해결 경험으로 활용할 수 있습니다.
- 시각화 점검에서는 그래프마다 전달하려는 결론이 하나씩 있는지 살펴봐야 합니다. 색상과 차트 종류를 꾸미는 데 그치지 않고 관찰한 사실, 해석, 제안이 이어져야 분석 결과가 실무적인 자료로 바뀝니다.
실제 포트폴리오를 검토하면 완성도가 낮아 보이는 원인은 분석 기술이 부족해서가 아니라 판단의 흔적이 생략되어 있기 때문인 경우가 많습니다. 분석을 마친 사람은 결과를 이미 알고 있어 추출 기준과 시행착오를 당연한 정보처럼 빼버리지만, 처음 자료를 보는 면접관은 그 부분을 통해 지원자의 역량을 판단합니다. 처음 계산한 재구매율이 왜 잘못되었는지, 고객군을 어떤 기준으로 다시 나눴는지, 시각화를 바꾼 뒤 제안이 어떻게 달라졌는지를 남겨야 합니다.
포트폴리오에는 최종 결과만 적지 말고 처음 세운 가설, 발견한 오류, 수정한 기준, 다시 분석한 결과를 함께 기록해 보세요. 이 기록은 이력서의 프로젝트 설명이 되고, 자기소개서의 문제해결 사례가 되며, 면접에서는 꼬리 질문에 답할 수 있는 근거가 됩니다. 결국 데이터 분석 프로젝트가 취업 자료로 바뀌는 순간은 차트를 완성했을 때가 아니라 자신의 판단과 검증 과정을 다른 사람에게 설명할 수 있게 되었을 때입니다.