
Ad Management 파트 서버 개발자의 지역 타게팅 개선기
두줄요약
ES5 패킷 제한을 넘던 지역 좌표 데이터를 convex hull로 압축했습니다. 저장 공간을 94.7% 줄이고 오차율을 검증해 지역 타게팅에 적용했습니다.
문제 상황
- 다수 시·군·구 선택 시 ES5 1MB 패킷 제한 초과
- 정교한 지역 경계 좌표 누적으로 광고 지역 타게팅 등록 제한
해결 방법
- Graham Scan 기반 convex hull로 각 지역 경계 좌표를 외접다각형으로 축소
- Shapely의 convex hull 함수로 전국 지역 데이터 변환
트레이드오프
- 지역 경계 간 겹침으로 비타게팅 지역 광고 할당 가능성
- 서초·강남·송파 타게팅에서 강동구 할당 6.6% 발생
성능/운영 포인트
- 지역 데이터베이스 파일 4.9MB에서 262KB로 94.7% 감소
- 최대 지역 데이터 3KB로 축소해 전체 250개 시·군·구 선택 제약 해소
- 검증 가능한 스테이징 환경과 테스트폰 할당 설정의 중요성

