WORKS / PORTFOLIO
DATA INTELLIGENCE

라이브커머스 성과 수집·리포트 시스템 구축

방송별 실시간 성과를 수집하고 이상 신호를 찾은 뒤, 비교·승인·발송까지 하나의 운영 흐름으로 연결한 라이브커머스 분석 시스템

라이브커머스 성과 수집·리포트 시스템 구축

RESULT

210개 방송과 31,447개 분 단위 지표를 전체 범위에서 검색·비교하는 분석 구조 구현
수집 공백·급상승·품절·복구 상태가 운영 이력에 남는 업무 흐름 구성
브랜드 보고서 112건의 생성·승인·발송 상태와 감사 이력 연결
테스트 5건, 프로덕션 빌드, 데스크톱·모바일 핵심 여정 검증 완료

TECH STACK

ReactTypeScriptViteExpressRecharts

CHALLENGE

클라이언트는 라이브커머스 방송 중 시청자와 주문 변화를 확인하면서, 방송이 끝난 뒤에는 브랜드별 성과 보고서까지 정리해야 했습니다. 시청·장바구니·주문·재고 데이터의 갱신 시점이 서로 달랐고, 수집이 잠시 끊겨도 누적 숫자만 보면 실제 성과 하락과 데이터 장애를 구분하기 어려웠습니다.

클라이언트가 필요로 한 이유

클라이언트 방송팀이 실제로 막힌 지점은 숫자의 양이 아니었습니다. 지금 무엇이 달라졌고, 그 변화가 판매·재고·수집 중 어디에서 시작됐으며, 누가 어떤 조치를 해야 하는지를 빠르게 판단할 수 있어야 했습니다. 전환율이 떨어져도 상품 반응이 낮아진 것인지, 재고가 소진된 것인지, 수집이 끊긴 것인지 구분하지 못하면 같은 숫자를 보고도 팀마다 다른 결론을 내리기 때문입니다.

방송이 끝난 뒤에는 운영자가 여러 화면의 수치를 다시 옮겨 적고, 브랜드 담당자가 기준 시점을 재확인하는 일이 반복됐습니다. 그래서 실시간 관제와 사후 보고를 별도 도구로 나누지 않았습니다. 방송 데이터, 이상 사건, 조치 기록, 보고서가 같은 흐름을 따라가도록 설계해 방송 중 판단이 보고 단계에서도 그대로 설명되게 만들었습니다.

숫자를 많이 보여주는 화면보다, 지금 확인할 신호와 그 원인, 다음 조치를 같은 흐름에서 제시하는 운영 화면이 필요했습니다.

운영 과제시스템에서 다룬 방식
수집 지연과 성과 하락 구분수집 공백과 실제 지표 하락을 서로 다른 사건으로 기록
방송 간 비교 기준 불일치같은 시간 구간과 같은 KPI 정의로 최대 4개 방송 비교
보고서 작성 반복방송·브랜드 지표를 보고서 초안으로 연결하고 승인 상태 관리
품절 대응 지연재고 변화와 전환율 변화를 동일 타임라인에 표시

클라이언트 요청사항과 기획 방향

요청을 기능 목록으로 바로 옮기기보다, 방송 중 어떤 판단을 먼저 내려야 하고 그 판단이 사후 보고까지 어떻게 이어져야 하는지부터 정리했습니다.

클라이언트 요청이렇게 기획한 이유해결 방식
방송 중 이상 징후를 빠르게 파악하고 싶다누적 수치만으로는 판매 하락·품절·수집 중단을 구분할 수 없음현재 KPI 옆에 수집 신뢰도와 사건 원인을 함께 표시
방송과 브랜드를 같은 기준으로 비교하고 싶다서로 다른 갱신 시각과 집계 구간은 비교 결과를 왜곡함분 단위로 시점을 맞추고 동일 KPI 정의로 최대 4개 방송 비교
방송 종료 후 보고서를 다시 만들고 싶지 않다운영 중 판단 근거가 보고 단계에서 사라지면 숫자를 재검증해야 함방송 데이터·조치 메모·검토·승인·발송을 하나의 이력으로 연결

SOLUTION

클라이언트의 판단 순서에 맞춰 화면도 지금 → 이례 → 조치로 구성했습니다. 첫 화면에서 현재 방송과 수집 상태를 확인하고, 이례 신호를 선택하면 해당 방송의 평시 비교·수집 공백·재고 변화·주문 흐름을 한 번에 볼 수 있습니다. KPI는 시청자 수, 상품 클릭, 주문, 전환율처럼 방송 상태를 판단하는 핵심 지표를 뜻합니다.

운영자가 실제로 쓰는 순서

오후 8시에 방송이 시작되면 시스템은 시청·상품·주문·재고 이벤트를 1분 단위로 맞춥니다. 운영자는 첫 화면에서 현재 수치와 마지막 정상 수집 시각을 먼저 봅니다. 숫자가 커졌는지만 보는 것이 아니라, 지금 표시된 값이 신뢰할 수 있는지도 동시에 확인합니다.

예를 들어 최근 5분 주문액은 늘었지만 특정 상품 재고가 빠르게 줄었다면 ‘성과 상승’과 ‘품절 위험’을 함께 표시합니다. 반대로 주문이 갑자기 0으로 떨어졌는데 같은 시점부터 수집 공백이 생겼다면 매출 하락으로 단정하지 않고 ‘데이터 점검’을 먼저 띄웁니다. 운영자는 이 신호를 눌러 평소 같은 시간대, 재고 변화, 누락 구간을 비교한 뒤 상품 교체나 수집 확인 같은 조치를 기록합니다.

방송이 끝나면 같은 데이터를 다시 옮겨 적지 않습니다. 수집 범위와 공백 여부를 확인해 보고서 초안을 만들고, 담당자의 검토와 승인 뒤에 발송 상태를 남깁니다. 방송 중 판단과 사후 보고가 같은 원본에서 이어지므로 숫자의 기준 시점도 흔들리지 않습니다.

시스템 흐름

수집 계층과 보고서 발송 계층은 교체 가능한 어댑터로 분리했습니다. 외부 채널이 바뀌더라도 방송·분 지표·주문·사건이라는 내부 데이터 계약은 유지됩니다.

운영 판단 로직

단순 임계치 하나로 경보를 만들지 않았습니다. 방송별 최근 평시 구간과 비교한 편차, 매출 속도, 재고 위험, 수집 신뢰도를 각각 0~100으로 정규화한 뒤 방송 대응 점수로 합산했습니다.

판단 항목반영 비중판단 근거
전환 이상도35%현재 전환율과 평시 중앙값의 차이
매출 속도25%최근 5분 주문액과 직전 구간의 변화
재고 위험20%판매 속도 대비 남은 판매 가능 수량
수집 신뢰도20%분 지표 누락률과 마지막 정상 수집 시각

점수는 039 관찰, 4069 확인 필요, 70~100 즉시 조치로 나눴습니다. 다만 수집 신뢰도가 60점 미만이면 성과 경보보다 데이터 점검을 먼저 띄웁니다. 불완전한 숫자로 매출 판단을 내리지 않기 위한 우선순위 규칙입니다.

진한 막대는 점수별 최대 반영값, 밝은 막대는 급상승 구간의 관찰값입니다. 예시 합계는 83점으로 즉시 조치 구간에 들어가며, 운영자는 상품 재고와 수집 상태를 확인한 뒤 메모를 남기게 됩니다.

보고서 생성 조건

보고서는 버튼을 누르는 즉시 발송되지 않습니다. 대상 방송의 수집 커버리지 95% 이상, 미해결 중대 공백 0건, 브랜드·기간·비교 기준 확정이라는 세 조건을 통과해야 초안이 생성됩니다. 이후 검토 코멘트, 승인, 발송 순서를 거치며 각 상태는 감사 이력으로 남습니다.

운영 화면

  • 현재 방송: 시청자, 상품 클릭, 장바구니, 주문, 전환율을 같은 시점으로 정렬
  • 이례 신호: 수집 중단, 급상승, 품절, 재입고를 우선순위와 발생 시각으로 표시
  • 방송 상세: 최근 평시와 비교하고 사건 전후의 시계열을 함께 확인
  • 방송 비교: 최대 4개 방송의 KPI와 브랜드 추이를 동일 기준으로 비교
  • 보고서 운영: 생성, 검토, 승인, 발송 상태와 코멘트를 하나의 이력으로 관리

BUILD

방송·분 단위 지표·주문·재고·수집 실행·사건·보고서·감사 로그를 관계형 운영 데이터로 분리했습니다. 목록은 첫 화면에 보이는 일부 데이터가 아니라 전체 저장 범위를 대상으로 검색·필터·정렬하며, 25건과 50건 단위 페이지 이동 후에도 상세 조회와 메모 수정이 이어집니다.

정상 성장, 급상승, 수집 중단과 복구, 품절과 재입고 상태는 서버에서 발생해 분 지표와 주문·재고·감사 이력에 함께 남습니다. 숫자만 움직이는 화면이 아니라 주문 생성, 재고 감소, 수집 사건, 조치 기록이 같은 시간축에 기록되며 새로고침 뒤에도 현재 상태와 마지막 갱신 시각을 다시 읽을 수 있습니다.

데이터를 화면에 푸는 방식

원본 이벤트는 채널별 형식을 그대로 화면에 보내지 않습니다. 먼저 방송 ID와 발생 시각을 기준으로 정규화하고, 분 단위 버킷에 집계한 뒤 주문·재고 사건을 별도 보존합니다. 대시보드는 집계 테이블을 빠르게 읽고, 상세 화면은 사건 원본으로 내려가 원인을 확인합니다. 이 구조 덕분에 화면 속도와 추적 가능성을 함께 유지했습니다.

검증한 데이터 규모

데이터규모
브랜드 / 상품28 / 280
방송210
분 단위 지표31,447
주문16,020
수집 실행825
방송 사건 / 상태 이력527 / 610
보고서 / 감사 로그112 / 1,200

VALIDATION

  • 자동 테스트 5건 통과
  • 프로덕션 빌드 완료
  • 방송 2페이지 이후 검색·상세·메모 수정 확인
  • 상태 시작·일시정지·재개·초기화와 새로고침 지속성 확인
  • 수집 중단 시 성과 경보보다 데이터 점검이 먼저 표시되는 우선순위 확인
  • 보고서 생성 조건, 승인, 발송 흐름과 감사 이력 확인
  • 데스크톱과 390px 모바일에서 가로 넘침 및 콘솔 오류 없음

RESULT

운영 장면기존에 생기던 문제구축 후 처리 방식
방송 중 상태 확인채널마다 갱신 시점이 달라 누적 숫자를 바로 비교하기 어려움모든 지표를 1분 기준으로 맞추고 마지막 정상 수집 시각을 함께 표시
이상 원인 판단매출 하락·수집 공백·품절을 같은 하락 신호로 오해성과, 재고, 수집 사건을 한 타임라인에서 구분하고 우선 조치 제시
브랜드 보고방송이 끝날 때마다 여러 화면의 숫자를 다시 옮겨 적음같은 원본에서 보고서 생성·검토·승인·발송 이력을 연결

210개 방송과 31,447개 분 단위 지표는 브랜드별 규모 차이, 시간대 변화, 실제 수집 공백이 섞인 상황에서도 같은 판단 기준이 유지되는지 확인하는 데 사용했습니다.

비슷한 업무에 적용할 수 있는 부분

이 설계는 여러 채널의 데이터가 서로 다른 시각에 들어오고, 운영 중 대응과 사후 보고가 이어지는 업무에도 적용됩니다. 캠페인 관제, 주문 운영, 상담센터 현황처럼 현재 수치의 신뢰도와 다음 조치를 함께 판단해야 할 때 유용합니다.

본 프로젝트는 고객사 실제 업무 요건을 바탕으로 설계한 결과물이며, 보안 정책에 따라 일부 화면만 공개했습니다.

문의하기