이 글은 BigQuery ML 실습을 처음 수행하는 데이터 분석 학습자를 위한 기록입니다.
단순 SQL 분석을 넘어 방문자가 다시 와서 구매할지 예측하는 흐름이 어려운 문제를 해결합니다.
이 글을 통해 BigQuery ML로 재구매 예측 모델을 만드는 방법을 이해할 수 있습니다.
핵심 질문
BigQuery ML을 사용해 방문자의 재구매 가능성을 어떻게 예측할 수 있는가?
실습 환경
- Cloud: GCP
- 서비스: BigQuery ML
- 데이터: Google Analytics Ecommerce
- 모델: logistic_reg (이진 분류)
- 학습 데이터: 9개월
- 평가 데이터: 2개월
아키텍처
전체 흐름은 다음과 같습니다.

Web Analytics → BigQuery → BigQuery ML → Prediction
문제 정의
전자상거래에서 중요한 질문은 단 하나입니다.
누가 다시 방문해서 구매할 것인가?
실제 데이터 기준으로 구매 전환율은 약 2.69% 수준입니다.
즉 대부분의 사용자는 구매하지 않습니다.
■ 강사 설명
실습은 다음 흐름으로 진행됩니다.
1. 데이터 분석
2. Feature 선택
3. 모델 생성
4. 모델 평가
5. 예측 수행
■ 내가 이해한 핵심
머신러닝의 핵심은 모델이 아닙니다.
입력 데이터(Feature)가 성능을 결정합니다.
■ 내가 실제로 겪은 문제
초기 모델의 정확도가 낮았습니다.
원인은 단순 Feature만 사용했기 때문입니다.
실습 단계
1. Feature 추출
SELECT
IFNULL(totals.bounces, 0) AS bounces,
IFNULL(totals.timeOnSite, 0) AS time_on_site
2. 모델 생성
CREATE OR REPLACE MODEL ecommerce.classification_model
OPTIONS(
model_type='logistic_reg',
labels=['will_buy_on_return_visit']
)
AS SELECT ...
3. 모델 평가
SELECT roc_auc FROM ML.EVALUATE(...)
결과: 약 0.72 (성능 보통)
실습 증거
roc_auc: 0.723
model_quality: decent
문제 원인
데이터가 부족하면 모델은 학습하지 못합니다.
특히 사용자 행동 정보가 중요합니다.
4. Feature 확장
- pageviews
- traffic source
- device category
- country
- 구매 진행 단계
5. 개선된 모델
CREATE OR REPLACE MODEL ecommerce.classification_model_2
OPTIONS(model_type='logistic_reg')
AS SELECT ...
6. 재평가
SELECT roc_auc FROM ML.EVALUATE(...)
결과: 약 0.91 (성능 우수)
실습 증거 2
roc_auc: 0.909
model_quality: good
트러블슈팅
문제: 모델 정확도 낮음
원인: Feature 부족
해결: 행동 데이터 추가
예방: 모델보다 데이터 설계 우선
실무 핵심
상위 6% 사용자만 타겟팅하면
전체 구매자의 절반을 확보할 수 있습니다.
ROI 9배 개선 효과
결론
핵심 원칙
머신러닝 성능은 Feature가 결정한다
주의사항
- 단순 지표로는 예측 불가
- 행동 데이터 필수
- 평가 지표 확인
다음 단계
Vertex AI 또는 실시간 ML 파이프라인 확장
'서버 구축·실습' 카테고리의 다른 글
| GCP Dataflow 템플릿으로 CSV 데이터를 BigQuery에 실시간 적재하는 방법 (0) | 2026.03.22 |
|---|---|
| GCP BigQuery 공개 데이터셋 실습: Public Dataset 조회부터 커스텀 테이블 생성까지 (0) | 2026.03.22 |
| Azure VM에서 OpenAI API를 안전하게 연결해 AI 챗봇을 완성하는 방법 (1) | 2026.03.02 |
| Azure 부하분산기 실습 — 새로고침할 때마다 서버1, 서버2가 번갈아 나오는 구조 직접 만들어봤다 (0) | 2026.02.23 |
| Azure 첫 실습 — AWS만 하던 사람이 느낀 충격적인 차이점 (0) | 2026.02.19 |