DA15 고급 프로젝트 · Team 4
익명 투표 SNS 사용자의 행동 흐름을 행동 루프 관점에서 정의하고, 주요 이탈 지점과 결제 전환 구조를 분석해 개선 방향을 제안한 프로젝트입니다.
익명 투표 SNS는 일반적인 일회성 구매 서비스와 달리
친구 관계 → 투표 경험 → 재화 사용 → 결제 → 재이용이 반복되는 구조를 가집니다.
본 프로젝트에서는 단순 퍼널이 아니라 사용자 행동 루프(User Behavior Loop) 를 기준으로 사용자의 행동을 재구성하고,
- 사용자가 어느 단계에서 이탈하는지
- 투표 참여와 수신 경험이 어떻게 연결되는지
- 재화 사용 이후 결제로 이어지지 않는 원인이 무엇인지
- 어떤 개선안을 우선 검증해야 하는지
를 분석했습니다.
신규 유입이 빠르게 감소하고 이후에는 탈퇴가 가입보다 많아지는 흐름이 관찰되었습니다.
따라서 신규 유입 확대보다, 이미 유입된 사용자가
서비스 이용 과정 중 어디에서 행동을 멈추는지
를 파악하는 것이 중요하다고 판단했습니다.
서비스 와이어프레임을 통해 실제 이용 흐름을 확인하고, 데이터로 관측 가능한 행동을 기준으로 핵심 단계를 정의해 행동 루프 분석을 진행했습니다.
가입 / 진입
↓
친구 관계 형성
↓
투표 수신
↓
재화 소모
↓
첫 결제
첫 결제
↓
다시 투표 수신
↓
재화 소모
↓
재결제
| 단계 | 주요 활용 데이터 | 정의 기준 |
|---|---|---|
| 가입/진입 | accounts_user |
가입 사용자 |
| 친구 관계 형성 | accounts_friendrequest |
수락된 친구 관계 |
| 투표 수신 | accounts_userquestionrecord |
chosen_user_id 기준 수신 기록 |
| 재화 소모 | accounts_pointhistory |
delta_point < 0 |
| 첫 결제 | accounts_paymenthistory |
첫 결제 기록 |
| 결제 후 투표 수신 | accounts_userquestionrecord |
결제 이후 수신 기록 |
| 재사용 후 재화 소모 | accounts_pointhistory |
이후 재화 사용 |
| 재결제 | accounts_paymenthistory |
이후 추가 결제 |
- 투표 수신 사용자 중 66.9%는 투표 기록이 없었습니다.
- 즉, 수신 경험 자체만으로 사용자의 참여가 자동으로 이어지지는 않았습니다.
| 초기 수신량 | 이후 투표 시작률 |
|---|---|
| 1~3건 | 0.26% |
| 4~10건 | 1.65% |
| 11~30건 | 3.52% |
| 30건 이상 | 5.05% |
초기 수신량이 증가할수록 이후 투표 시작률이 높게 관측되었습니다.
다만 가장 높은 구간에서도 시작률은 5.05% 수준으로, 수신 경험만으로 참여 문제를 충분히 설명할 수는 없었습니다.
| 지표 | Spearman 상관계수 |
|---|---|
| 전체 친구 수 | 0.139 |
| 활동 친구 수 | 0.488 |
| 활동 친구 비율 | 0.491 |
학급 규모를 나눈 뒤에도 활동 친구 수준이 높은 사용자에서 이후 수신량이 더 높게 나타났습니다.
- 수신 상위 **10%가 전체 수신량의 58.7%**를 차지했습니다.
- 학급 규모가 작을수록 수신 흔적 보유율과 미확인 투표 중앙값도 낮게 나타났습니다.
대상
- 친구 관계는 충분하지만
- 활동 친구 비율이 낮고
- 최근 수신 경험이 적은 사용자
개선 방향
- 최근 앱 활동은 있으나 최근 투표 기록이 없는 기존 친구에게 질문 참여 진입점을 제공
- 특정 친구를 직접 지목하지 않고 익명 투표 참여만 유도
예시:
새로운 익명 질문이 열렸어요.
지금 참여할 수 있는 새로운 투표가 있어요.
핵심은 친구 수를 늘리는 것이 아니라 기존 관계를 실제 투표가 발생하는 관계로 전환하는 것입니다.
대상
- 기존 관계만으로 실제 후보 선택 범위가 제한적인 사용자
개선 방향
- 기존 후보군 전환 구조를 활용해 활동 중인 사용자를 제한적으로 추가 후보로 제시
기존 후보 3명
+
활동 중인 사용자 1명
새 친구 관계를 강제로 만들지 않고 필요한 경우에만 후보 선택 범위를 보완합니다.
A와 B는 순차 적용이 아니라 사용자 유형별 병렬 제안입니다.
재화 소모 이후 결제로 이어지는 Step 4 → 5 전환을 분석했습니다.
- Step 4 재화 소모 사용자: 3,367명
- 결제 사용자: 358명
- 미결제 사용자: 3,009명
- Step 4 → 5 결제 전환율: 10.63%
또한 첫 재화 소모와 첫 결제 시점을 비교했을 때 분석 대상 399명 중 94.0%가 첫 결제 이전에 재화를 소모했습니다.
따라서 재화 소모를 첫 결제 이전의 행동 단계로 정의했습니다.
미결제자를 100으로 두고 비교했을 때:
- 재화 소모 횟수: 210.7
- 총 재화 소모량: 207.7
- 사용 금액 종류 수: 116.7
- 1회 평균 소모량: 101.3
- 1회 최대 소모량: 100.0
즉, 결제자는 한 번에 크게 사용하는 사용자라기보다 여러 번, 누적해서 더 많이 사용하는 사용자에 가까웠습니다.
미결제 사용자 3,009명의 재화 소모 횟수 분포를 확인한 결과:
- 중앙값: 14회
- 상위 25%: 28회 이상
- 상위 10%: 53회 이상
따라서 미결제자를 단순 저관여 사용자로 해석하기 어려웠습니다.
투표 10회
↓
1세트 완료
↓
200P 획득
↓
힌트 사용 가능
Step 4 사용자의 56.2%가 첫 힌트 사용 전에 이미 무료 투표 보상을 확보한 것으로 나타났습니다.
이는 결제 이전에도 일정 수준의 재화를 반복적으로 확보할 수 있는 구조가 존재함을 의미합니다.
첫 힌트 사용 전 완료한 세트 수가 많을수록 30일 결제율은 낮게 나타났습니다.
| 완료 세트 수 | 30일 결제율 |
|---|---|
| 0세트 | 12.01% |
| 1세트 | 11.07% |
| 2세트 | 9.57% |
| 3세트 | 6.57% |
| 4세트 | 4.31% |
| 5세트 | 2.74% |
| 6세트 이상 | 1.60% |
제품 가격 기준으로는 다음과 같은 30일 결제율이 관측되었습니다.
| 보상 구간 | 30일 결제율 |
|---|---|
| 200~799P | 9.97% |
| 800~1,799P | 2.85% |
| 1,800P 이상 | 1.63% |
단, 이는 관찰 데이터 기반의 상관관계이므로 무료 보상이 결제율 하락의 직접 원인이라고 단정하지 않았습니다.
| 구간 | 현재 정책 | 제안 정책 |
|---|---|---|
| 첫 세트 | 200P | 200P |
| 반복 세트 | 200P | 150P |
- 첫 핵심 경험은 유지
- 반복 누적만 완화
- 무료 보상 자체를 제거하지 않음
정책 적용 전 A/B Test를 통해 선행 검증하는 구조를 제안했습니다.
모든 세트 200P
첫 세트 200P
반복 세트 150P
- 30일 결제율
- 투표 참여
- 힌트 사용
- Retention
결제율만 높이는 정책이 아니라 핵심 행동을 훼손하지 않는지 함께 검증하는 것이 목적입니다.
정책 효과가 검증된 이후에는 동일한 정책을 서로 다른 방식으로 보여주는 UX/UI 실험을 제안했습니다.
첫 세트: +200P
반복 세트: +150P
기본 리워드: 150P
첫 참여 보너스: +50P
확인할 항목:
- 사용자가 느끼는 보상 감소 체감
- 반복 참여 저하 여부
- 힌트 사용 변화
- 단기/이후 Retention 변화
EDA 인사이트
↓
정책 효과 선행 검증
↓
UX/UI A/B Test
핵심 방향은 단순히 보상을 줄이는 것이 아니라,
첫 경험은 유지하면서 반복 누적 구조를 조정하고, 실제 정책 효과를 검증한 뒤 사용자에게 보이는 방식까지 최적화하는 것
입니다.
프로젝트 분석 결과를 Looker Studio 대시보드로 구성해 사용자가 행동 루프의 어느 지점에서 멈추는지 확인할 수 있도록 했습니다.
대시보드에서는 필터와 조건을 변경하면서 다음 내용을 동적으로 확인할 수 있습니다.
- 행동 루프 단계별 사용자 수
- 투표 참여 및 수신 관련 지표
- 학급 규모별 수신 차이
- Step 4 → 5 결제 전환
- 무료 보상 누적과 30일 결제율
[📊 Dashboard
team4-final-project/
├── dashboard/ # 대시보드 관련 파일
├── notebooks/
│ └── eda/ # EDA 및 분석 노트북
├── sql/ # 데이터 추출/가공 SQL
├── src/ # 공통 코드 및 데이터 처리 로직
├── .env.example # 환경 변수 예시
├── .gitignore
├── README.md
└── requirements.txt
프로젝트 실행에 필요한 패키지는 requirements.txt에서 확인할 수 있습니다.
pip install -r requirements.txt환경 변수는 .env.example을 참고해 프로젝트 환경에 맞게 설정합니다.
cp .env.example .env실제 DB 접속 정보 및 민감 정보는 저장소에 커밋하지 않습니다.
본 프로젝트는 관찰 데이터를 기반으로 수행되었기 때문에 다음 원칙을 유지했습니다.
- 관측되지 않은 행동을 실제 미발생으로 단정하지 않음
- 상관관계를 인과관계로 해석하지 않음
- 표본 내 상대 비교와 시간 순서 검증을 우선 활용
- 정책 제안은 실험을 통해 추가 검증
- Python
- Jupyter Notebook
- SQL
- Looker Studio
- MySQL 기반 데이터 분석
- EDA / Behavioral Analysis
- A/B Test 설계
DA15 고급 프로젝트 · Team 4
사용자 행동 루프를 기준으로 투표 경험과 결제 행동을 연결해 분석하고, 데이터 기반 개선 가설과 실험 방향을 제안했습니다.
친구를 많이 만드는 것보다 실제로 활동하는 관계를 만들고, 보상을 없애기보다 첫 경험은 유지하면서 반복 누적 구조를 검증한다.