← 프로젝트

데이터 플랫폼

SingleONE 광고 플랫폼 백엔드

Mynavi baito 제휴 광고 플랫폼 — 도달 예측, 배치 검증, 배치 인프라를 1.5년간 오너십으로

기간
2025.02 – 현재
역할
백엔드 오너 (활동량 기준 컨트리뷰터 3위 / 약 15명)
상태
실서비스 운영 중 (dev / stg / prod 분리)
−50%
도달 예측 API 평균 응답 시간
83
병합 PR (276 / 1,661커밋, 약 17%)
1.5년
도메인을 넓혀 온 오너십

공개 범위 안내 — 회사 프로젝트로, 트래픽 지표 · 데이터 연동 상세 · 진행 중인 신규 기능은 사내 정책상 공개하지 않습니다. 아키텍처 · 실험 기록 · 상세 수치가 담긴 자료는 메일로 요청해 주시면 보내드립니다.

한 줄로

단일 문제가 아니라 여러 도메인을 순차적으로 넘겨받으며 오너십을 넓혀 온 장기 프로젝트입니다. 도달(reach) 예측 → 배치 업로드 검증 → 배치 인프라까지, 초기에 세운 설계 원칙을 이후 기능에도 일관되게 적용해 왔습니다.

도달 예측

  • 매 요청마다 외부 매체 API를 부르던 구조가 응답 지연의 원인이라는 걸 파악하고, 여러 PR에 걸쳐 DB 우선 캐싱 조회로 전환 — 평균 응답 시간 50% 단축. 이후 API 재구현 때도 같은 원칙 유지
  • 예측 이력 테이블 설계 → 인구통계 DB 도입 → 분류 로직 고도화 → API 재구현까지 1년 넘게 지속 개선
  • 광고 규모 적절성 분류는 이름과 달리 ML이 아닌 규칙 기반 로직입니다

배치 업로드 · 검증

  • CSV 업로드를 전체 성공/실패 이분법에서 행 단위 에러 수집 + 207 Multi-Status 응답으로 재설계 — 이후 관련 기능이 이 규격 위에서 확장
  • 다중 인코딩 지원, 대용량 Excel 업로드의 OOM 문제를 실제로 겪은 뒤 배치 처리 방식을 다시 설계
  • 외부 API 대량 호출은 25개 단위 배치 + asyncio.gather로 나눠 실패 반경 제한

배치 인프라

오디언스 규모 수집, 외부 데이터 연동, 도달 예측 재구현을 위한 배치 인프라를 새로 구축하고 있습니다.

배운 점

1.5년간 여러 도메인을 순차적으로 맡으면서, 초기에 세운 원칙(캐싱 우선, 에러는 행 단위로 격리)을 이후 신규 기능에도 일관되게 적용하는 것이 장기 오너십의 핵심이라는 걸 체감했습니다.

한계

규칙 기반 로직과 백엔드·배치 시스템 중심의 프로젝트로, ML 성능 지표는 해당되지 않습니다.