경 력 기 술 서

김 선 호

010-2962-2884  ·  ksssk96@naver.com  ·  경기도 고양시 일산동구
SQLD (SQL 개발자) 보유
지원 직무   보람상조개발㈜ (보람그룹) · CRM 데이터분석(DA)

01경력 요약

SQL로 다채널 데이터를 직접 추출·정제하고, KPI 시각화로 의사결정을 지원해 온 데이터 분석 실무자입니다. 분석에 그치지 않고 데이터를 측정·수집할 수 있는 사내 데이터 분석·운영 플랫폼을 직접 기획·구축했으며, 데이터 수집 → 정제 → 지표화 → 리포팅·운영까지 전 과정을 수행했습니다.

3배+
콜 전환율 개선
행동 분석 → 병목 구간 개선
CPA 2.1배
Meta 캠페인 효율
성과 분석 + A/B 테스트
~2억 원
Google Ads 분석
1년+ 캠페인·광고그룹 운영
실시간
리드 알림
Webhook → 접촉 지연 단축
자동화
KPI 집계·전달
Cron · 대시보드 · Telegram

02핵심 성과

① 개인회생 콜 전환율 3배 이상 개선

문제다채널 데이터 산재, 거절·승인 수치만으로는 전환 병목 파악 불가
분석leads + lead_call_work SQL 조인 — 상태 funnel, 거절 사유, 부재 횟수 histogram
조치콜 분석 스냅샷 API·대시보드 구축, 병목 구간 프로세스·UI 개선
결과개인회생 콜 전환율 3배 이상 개선

② 리드 접촉 지연 단축

문제리드 유입 후 접촉 시점 지연이 전환율에 미치는 영향 확인 필요
분석received_at ~ distributed_at 구간별 전환율 비교
조치Webhook 기반 실시간 Telegram 알림, 미분배 리마인더 Cron
결과리드 발생 후 접촉 지연 시간 단축

③ Meta CPA 2.1배 개선 · ④ KPI 자동화

Meta CPA일별 spend·전환·CPA 집계 + 소재 A/B → CPA 2.1배 개선
KPI 자동화09:00 KST 일일 리포트 Cron + 대시보드 → 회의·의사결정 간소화

03경력 사항

데이터랩  |  전산팀 · 팀장
2025.07 ~ 현재
  • 광고·리드·콜 행동 데이터 SQL 추출·집계 → KPI 산출 및 의사결정 지원
  • 채널별 상이 포맷 데이터 단일 기준 정제·표준화
  • 사내 데이터 분석·운영 플랫폼(리드·광고·콜 KPI 통합) 기획·구축 · AI 기반 개발 활용

SQLPythonTypeScript Meta AdsGoogle AdsCloudflare Workers


커머스 KPI 분석 플랫폼  |  개인 프로젝트
  • 광고·이벤트·주문 → PostgreSQL 단일 스키마, ROAS·CAC·LTV 자동 산출
  • 스키마 점진 진화 (마이그레이션 67회) · Next.js · Supabase

04주요 프로젝트 — 광고대행 데이터 분석·운영 플랫폼

리드 유입(웹훅) → 검증·저장 → 고객사 분배 → 콜 후속 → 광고비·장부 정산까지 운영 데이터를 통합하는 서버리스 B2B 플랫폼입니다. Cloudflare Workers + D1(SQLite) + KST 기준 Cron으로 다차원 KPI를 산출합니다.

구분내용
리드 인입DBCart, Meta Lead Form, 블로그 웹훅 → 검증(Zod) · 중복 플래그 · 저장
분배일일 할당·우선순위·계약 유형 기반 auto/manual + 감사 로그
광고 성과Google/Meta API 30분 수집 → impressions, clicks, spend, CTR/CPC/CPA
콜 분석상태 funnel · 거절 사유 · 부재 histogram · 재통 일정
재무expenses, ledger, Meta spend → expenses 자동 동기화
리포트일일 Telegram 리포트 · Email 장부 · KPI 대시보드
기술역할
Cloudflare WorkersAPI · Cron · 집계 실행
D1 (SQLite)30+ 테이블 OLTP + 리포팅
Hono + TypeScriptREST API · SQL 집계
Meta / Google Ads API광고 성과 수집
Vitest · Playwright집계·분배 로직 검증

05시스템 아키텍처

flowchart TB subgraph IN["데이터 유입"] WH["Webhooks\nDBCart · Meta · Blog"] GAS["Google Ads Script Sync"] end subgraph WK["Cloudflare Worker"] APP["Hono App"] CR["Cron KST"] end subgraph ST["저장"] D1[("D1 SQLite\n30+ tables")] KV[("KV Cache")] end subgraph EX["외부"] META["Meta API"] GADS["Google Ads"] TG["Telegram"] end subgraph OUT["분석 출력"] DASH["Dashboard KPI"] RPT["일일 리포트"] CALL["콜 분석"] end WH --> APP GAS --> APP APP --> D1 APP --> KV CR --> APP CR --> META CR --> GADS APP --> TG D1 --> DASH D1 --> RPT D1 --> CALL

06ERD — 핵심 데이터 모델

erDiagram clients ||--o{ leads : distributes clients ||--o{ ad_accounts : owns ad_accounts ||--o{ ad_performance : metrics leads ||--o| lead_call_work : call_ops leads ||--o{ call_work_logs : activity leads ||--o{ call_callback_schedules : callback distribution_history ||--o{ distribution_items : contains leads ||--o{ distribution_items : matched clients { int id PK text contract_type int daily_lead_quota int distribution_priority } leads { int id PK text source text business_type text distribution_status text received_at text distributed_at } ad_performance { text report_date int impressions int clicks real spend real ctr cpc cpa } lead_call_work { text call_customer_status int call_no_answer_count text call_rejection_reason } distribution_history { text distribution_date text execution_type int total_leads int distributed_leads }
테이블 그룹주요 테이블분석 활용
리드·분배leads, distribution_history, distribution_items유입 funnel, 분배율, 감사
광고ad_performance, google_ads_campaign_dailyCTR/CPC/CPA, 캠페인 drill-down
lead_call_work, call_work_logs, call_callback_schedules전환 funnel, 부재·재통
재무expenses, ledger광고비·고객사 정산
트래픽blog_visit_daily콘텐츠별 조회 trend

07데이터 파이프라인

flowchart LR A["원천\nWebhook·API"] --> B["검증\nZod"] B --> C["적재\nD1 UPSERT"] C --> D["집계\nSQL GROUP BY"] D --> E["출력\nDashboard·Telegram"] C --> F["감사\nhistory·logs"]
단계소스적재주기
리드DBCart, Meta, Blogleads실시간
광고Meta/Google APIad_performance30분 Cron
Google 세분화Ads Scriptgoogle_ads_*_daily일별
지출Meta performanceexpenses06:30 KST
분배분배 엔진distribution_history11:00 KST
리포트SQL 집계Telegram/Email09:00 KST

08핵심 KPI · 지표 시각화

월간 리드 유입 · 분배 (건)
Meta 광고비 · CPA 추이
콜 상태 분포 (recovery 분배 리드)
리드 유입 채널 비중

운영 KPI 정의

지표산식·집계 기준
일별·월별 리드COUNT(*) · DATE(received_at) / strftime('%Y-%m')
분배율distributed / total · distribution_status 기준
CTR · CPC · CPAclicks/impressions · spend/clicks · spend/conversions
콜 승인율approved / leadCount · call_customer_status
부재 분포AVG(call_no_answer_count) · 구간별 histogram

콜 분석 집계 항목

집계 항목설명
statusCountsunset / no_answer / rejected / approved 등 상태별 건수
rejectionReasons거절 사유별 breakdown
noAnswer.buckets부재 0회 / 1~2 / 3~5 / 6+ 구간별 분포
schedulesByDate재통 예약 일자별 건수

09주요 분석 SQL

구축한 플랫폼에서 실제 사용하는 집계 쿼리 패턴입니다.

고객사별 리드 · 광고비 JOIN

SELECT c.name, COUNT(l.id) AS lead_count, COALESCE(SUM(ap.spend), 0) AS ad_spend
FROM clients c
LEFT JOIN leads l ON l.client_id = c.id AND DATE(l.distributed_at) = ?
LEFT JOIN ad_accounts aa ON aa.client_id = c.id
LEFT JOIN ad_performance ap ON ap.ad_account_id = aa.id AND ap.report_date = ?
WHERE c.is_active = 1
GROUP BY c.id HAVING lead_count > 0 OR ad_spend > 0;

콜 상태 funnel (recovery 분배 리드)

SELECT CASE WHEN COALESCE(w.call_customer_status,'')='' THEN 'unset'
            ELSE w.call_customer_status END AS status, COUNT(*) AS cnt
FROM leads l LEFT JOIN lead_call_work w ON w.lead_id = l.id
WHERE l.business_type = 'recovery' AND l.distribution_status = 'distributed'
  AND DATE(l.distributed_at) BETWEEN ? AND ?
GROUP BY status;

10자동화 스케줄

Cron (UTC)KST태스크데이터 영향
0 0 * * *09:00daily-report전일 KPI → Telegram
0 0 * * *09:00daily-ledger-emails장부 Email
0 2 * * *11:00auto-distribution리드 자동 분배
0 6 * * *15:00pending-reminder미분배 알림
30 21 * * *06:30meta-expensesMeta spend → expenses
*/30 * * * *30분google/meta-ads-collectad_performance UPSERT

감사·알림 데이터

테이블기록 내용활용
notification_logs알림 유형·상태·오류알림 성공률 모니터링
distribution_history분배 실행자·조건·상세 JSON분배 이력 감사
call_work_logs상담 action·시각활동량 집계

11기술 역량

데이터 / SQL
SQL 추출·정제·집계 (MySQL, PostgreSQL, SQLite) · 다중 JOIN · SQLD
분석 / 시각화
KPI 대시보드 · A/B 테스트 · 리드·콜 행동 분석 · funnel 집계
데이터 엔지니어링
Webhook 실시간 파이프라인 · Cron 자동 집계 · 품질·정합성(Zod, 감사로그)
언어 / 도구
Python · JavaScript · TypeScript · Google Sheets · AI 기반 개발