균일한 H3 격자로 배차 지역을 나누며 생긴 상권 단절, 지역별 처리량 편차, race condition, 먼 rider를 끌어오는 wild-goose-chase를 배달 이동 데이터 기반 clustering으로 개선한 사례다. 이동 sequence를 공간 embedding으로 바꿔 자연 경계와 상권을 반영한 지역을 만든 과정을 다룬다.
핵심 포인트- 10분에 배달 5만·rider 5만이면 조합이 최대 25억 건이라 배차는 먼저 지역을 나눠 분할 정복하는데, 전국을 같은 크기 육각형으로 나누니 밀도가 다른 강남과 강원도를 같은 문제 크기로 취급해 성능·품질이 불균일해지고 먹자골목이 잘리거나 강·도로 때문에 가까운 rider가 후보에서 빠지는 문제 발생
- 익명 rider가 pickup·delivery한 H3 cell 순서를 문장의 단어처럼 보고 Word2Vec skip-gram으로 학습해 자주 연속 방문되는 cell을 vector 공간에서 가깝게 만들고 hierarchical clustering + 지리 후처리(자연 경계·singleton·비연결 cluster 정리)를 적용
- Data scientist가 S3에 둔 cluster를 server가 Athena로 읽고 서비스 지역과 합쳐 빈 H3까지 채우며, 지역 변경은 Kafka로 반영하고 인접 race condition은 동일 task key로 한 partition에 모음 — 서울을 육각형 32개에서 cluster 41개로 바꿔 지방 광역시 평균 pickup 거리 3.7%, 수도권 평균 배달 시간 2.6% 감소
왜 읽나균일 격자 분할의 한계를 겪는 지리 기반 시스템 설계자에게 이동 데이터 embedding + clustering으로 도메인 경계를 학습시키는 접근을 보여준다.