주소정제 서비스 내재화 - 1화 ( 줄줄 새는 돈 )
문제인식과 컬리에서의 주소 정제의 목적
- 컬리에서의 주소정제는 왜 필요해?
- 최초 문제인식
- 현재의 대한민국의 주소 체계
- 그럼 주소정제의 목적을 주소지의 정확한 위치정보를 얻는 과정이라고 정의할 수 있을까?
- 도로명 주소에 도로명 뒤에 붙은 숫자는 뭘 의미해?
- 2화 미리보기
![주소정제 내재화 전체 과정](/post-img/refine-address-internalizatipn-1/time_table.png)
(그림: 컬리, © 2023. Kurly. All rights reserved.)
안녕하세요. OMS 팀 이준환입니다.
OMS 팀은 서비스의 고도화를 위해 23년 1월부터 딜리버리 팀이 관리하던 TAM (Transportation Area Management) 서비스를 인계받게 되었습니다.
TAM 서비스에는 컬리의 배송사 정책과 함께 주문 이행을 위한 필수 데이터가 존재하며, 그 안에는 주소 정제 서비스도 포함됩니다. 인계받은 직후 여러 주소 관련 고객분들의 CS를 접하게 되면서 몇가지 문제를 인지할 수 있었습니다.
그리고 컬리는 외부 업체에서 제공하는 주소 정제를 호출 건당 일정 비용으로 이용하고 있었고, 그로인해 매달 300에서 많게는 700만 원 (한때 최대 3천만 원)까지 비용을 지불하고 있었던 상황이었습니다.
그래서 진행한 주소 정제 내재화 프로젝트는 지난해 23년 5월부터 리서치를 진행했으며, 24년 09월 30일 날짜로 약 1년 3개월의 고생 끝에 완전 내재화에 성공했습니다.
그래서 어떤 형태로 블로그를 쓰면 좋을까 여러가지 고민을 했는데요.
이 주소정제 내재화 프로젝트는 시작부터 끝까지 OMS팀이 겪은 시행착오나 여러 문제들을 어떻게 풀어나갔는지에 대한 과정을 소개하는 것이 가장 의미있지 않을까 생각이 들었습니다.
그래서 시간 순서대로 블로그 내용이 진행이 되구요. 상단에 타임라인을 기준으로 재미있게 봐주시면 좋을 것 같습니다.
1화는 23년 1월 ~ 5월까지 약 4개월 동안 OMS 팀이 어떻게 주소 정제의 문제를 인지하게 되었고 컬리에서는 주소정제가 어떤 역할을 하는지에 대해 설명합니다.
컬리에서의 주소정제는 왜 필요해?
![컬리몰 주소정제 이후 과정](/post-img/refine-address-internalizatipn-1/refine_address_usage_reason.png)
(그림: 컬리, © 2023. Kurly. All rights reserved.)
위의 그림은 컬리에서 고객의 주문이 배송까지의 큼직한 구조를 표현하고있습니다.
컬리몰의 고객 주소에 대한 주소정제 결과를 통해 생산과 배송에 대한 결정이 이루어 지고 있습니다.
위 과정을 통해 컬리는 고객의 주문을 효율적으로 생산하고 배송을 하게 되며, 주소정제는 컬리의 풀필먼트를 위한 첫번째 선행과정입니다.
만약 이 주소정제과정에서 문제 발생시 고객 배송지에는 배송불가 지역으로 표시가 되어 주문을 할 수 없는 상태로 표시가 됩니다.
또한 고객의 주소지의 생산 센터를 기준으로 컬리몰의 상품노출에도 일부 영향( 품절 혹은 재고상태 )이 있기 때문에 더욱 중요하면서 높은 안정성을 필요로 하는 서비스입니다.
최초 문제인식
TAM을 인계받은 후부터 OMS팀에는 새로운 업무가 생겼습니다. 바로 주소관련 고객문의 CS대응입니다.
잊을만 하면 찾아와서 오후 1시간 정도를 날리게 만드는… 뭐랄까 환절기 목감기 같은 존재였달까
고객 CS문의는 대충 아래 내용들이었습니다.
-
옆 집은 컬리 배송이 가능한데, 우리집은 안된다. 왜지?
-
주소정제 결과가 고객이 입력한 주소와 다른 주소다. 왜지?
-
주소정제 결과가 위경도가 엉뚱한 곳에 찍혀있다. 왜지?
-
고객 주소지는 컬리 샛별이 불가한데, 샛별로 배송을 보냈다. 그래서 배송실패했다. 왜지?
이런 CS 종류들을 대응하던 중 생각이 많아지게 만드는 어느 CS한 건에 문의가 들어왔습니다.
입주가 시작된지 얼마 되지 않은 신축아파트가 여전히 컬리배송 불가 주소인 이유로 그 아파트는 컬리 주문을 진행할 수 없다는 내용이었는데요.
당시 컬리는 배송지 주소를 정제하기위해 외부 업체의 외부 주소정제 서비스를 이용하고 있었는데, 해당 신축아파트의 주소정제를 정상적으로 제공될때 까지 기다려야 했던 상황이었습니다. 결국 배송지 하드코딩을 통해 일단 배송이 가능하도록 처리하는 등 눈가리고 아웅식의 대응을 했습니다.
그때 처음 이대로 괜찮은가? 란 질문을 던졌습니다.
컬리의 신규 고객은 점점 늘고있는 상황에서, 주문을 하기 위해 내부 시스템에서 필수적으로 진행하고 있는 주소정제를 컬리가 직접 컨트롤 하지 못하는 상황이 지속되는것은 서비스 외형 확장에 언젠가는 큰 걸림돌이 될 수 있었습니다.
이를 해결하기위해 대한민국의 주소체계에 대한 도메인 지식을 공부를 해야했고, 내재화가 가능할지 검토를 위한 레퍼런스 리서치도 해야 했습니다.
현재의 대한민국의 주소 체계
갑자기 대한민국의 주소체계를 설명하는 이유는 주소정제는 정확하게는 도로명 주소정제 입니다.
그래서 현재 대한민국에 주소체계를 확인하고 넘어갈 필요가 있습니다.
지번 주소
광역시/도 - 시/군/구 - 읍/면/동 - (통/리) - 지번 - 건물명 - 동호수
ex. 경기 수원시 영통구 신동 938-3
도로명 주소
광역시/도 - 시/군/구 - 도로명 - 건물번호 - 건물명 - 동호수
ex. 경기 수원시 영통구 권선로908번길 53
2014년부터 도로명주소가 법적으로 강제화 되었습니다.
점점 아파트가 많아지고 e커머스 또한 활발해 지면서 기존 지번주소 체계에서는 배송효율에서 일단 문제가 존재했고. 지번주소 체계에서는 아파트 단지에 2개의 법정동이 섞여있는 경우도 있었습니다.
도로명 체계에서는 도시 계획을 통해 설계된 도로를 기준으로 주소가 관리가 됩니다.
현 시점 대한민국 국민들은 이제 도로명 주소가 많이 익숙해진 것 같습니다. 컬리 주소정제 요청 통계를 살펴보더라도 거의 대부분이 도로명주소로 주소지를 입력하고 있습니다. 지번주소 비율은 1%도 되지않네요.
이 말은 주소와 관련해서는 도로명 주소로 커뮤니케이션이 되는 것이 정신건강에 이로울 것으로 해석해도 될 것 같습니다.
![도로명 주소 건물과 건물관리번호](/post-img/refine-address-internalizatipn-1/road_address_building_type.png)
(그림: 컬리, © 2023. Kurly. All rights reserved.)
그리고 위 이미지처럼 도로명주소는 행정안전부처에서 관리를 하고있고 도로명 주소는 특정 건물이나 건물그룹 (ex. 아파트 단지) 직접적으로 매핑됩니다.
정말 감사하게도 대한민국의 모든 건물 각각에 25자리 숫자로 구성된 건물관리번호라는 유니크한 아이디를 부여하고 있습니다. 그리고 이 건물관리번호는 주민등록번호와 같으며, 한번 채번이 되면 철거가 될지 않는다면 변경되지 않음을 보장합니다. (행안부 직원에게 통화로 직접 확인)
그럼 주소정제의 목적을 주소지의 정확한 위치정보를 얻는 과정이라고 정의할 수 있을까?
정확한 위경도를 얻어내는 것이 정확한 권역, 센터를 확정하는데 가장 중요한 정보이기 때문에 위경도가 정확할수록 전체 정확도가 올라가는것은 맞습니다.
다만 주소정제의 결과를 통해서 배송도 해야하기 때문에 한가지 중요한 체크포인트가 있습니다.
먼저 위에서 계속 언급되는 주제인 주소정제의 정확한 의미는 도로명 주소정제가 맞는 표현입니다.
본인이 한번 실제 배송기사라고 생각해볼게요. 배송기사앱에 위경도가 정확하지 않더라도 ( 설령 없더라도 ) 주소만 가지고도 정확한 배송은 할수 있지않을까요?
주소를 기반으로 TMAP 이나 카카오맵같은 다른 지도 앱을 통해서도 배송은 가능할 것이기 때문입니다. 위경도가 201동 건물로 찍혀있어도, 고객은 208동으로 입력했으니 고객 입력주소를 보고 208동을 찾아가는데 큰 문제가 없을 확률이 높습니다.
만약 정제 주소자체에 문제가 있다면 그 주문은 오배송이거나 배송에 실패할 확률이 높습니다.
정제 주소로 인한 오배송 예를들어 볼게요.
![압구정동의 수많은 현대아파트단지](/post-img/refine-address-internalizatipn-1/hyundai_apgoojung.png)
(그림: 컬리, © 2023. Kurly. All rights reserved.)
위 그림처럼 압구정동에는 현대아파트가 몰려있습니다. 행정구역상에는 1 ~ 8단지까지 명확하게 구분은 되어있는데 주소 선택 팝업을 보면 단지로 구분되어 있지 않고 '현대아파트'로만 통일되어있습니다. 이런 상황에서는 고객은 실제 1단지에 거주함에도 실수로 6단지를 아파트를 선택할 확률은 존재합니다.
이 경우 배송기사는 힘들게 6단지를 찾아갔지만, 고객이 거주하는 동을 찾을수 없기에 배송에 실패가 납니다.
주소정제는 이런 경우에도 찰떡같이 고객의 동 정보를 기반으로 명확한 기본주소로 응답해야만 오배송률을 줄일수 있습니다.
이 외에 고객분들이 주로 실수하는 예시는 아래와 같습니다.
서울시 강남구 테헤란로 133 -> 서울특별시 강남구 테헤란로 133
'서울시'를 '서울특별시' 로 정확한 시/도 명으로 통일
서울특별시 강남구 테헤란로133 -> 서울특별시 강남구 테헤란로 133
테헤란로133 처럼 도로명과 건물번호를 붙여쓴 경우 명확히 구분
강남구 테헤란로133 -> 서울특별시 강남구 테헤란로 133
시/도 정보를 누락하고 요청한 경우 시/도 정보 채우기
서울특별시 강남구 역삼동 647-14 -> 서울특별시 강남구 테헤란로 133
지번 주소를 도로명 주소로 변경
위는 도로명 주소정제 형태에 맞지않게 요청된 일부 케이스를 나열했습니다.
결국 도로명 주소정제의 목적은 고객주소의 정확한 위경도 뿐만아니라 고객 입력주소 (지번이든 도로명이든)를 올바른 주소로 변환을 하는 작업까지 포함이 되는 과정이라고 설명할 수 있습니다.
도로명 주소에 도로명 뒤에 붙은 숫자는 뭘 의미해?
![도로명 주소 아이템](/post-img/refine-address-internalizatipn-1/road_address_item.png)
(그림: 컬리, © 2023. Kurly. All rights reserved.)
도로명, 지번 공통적으로 기본주소와 상세주소로 크게 구분이 됩니다.
도로명 주소는 지번과 달리 기본주소안에 도로명이 등장하는데, 지차체의 도시 계획에 맞게 큰길과 작은길 기준인 도로명 을 기준으로 구획일 나눈다는 특징이 있습니다.
아래 지도하나를 보면서 추가 설명을 할게요.
![도로명이 표현된 지도 이미지](/post-img/refine-address-internalizatipn-1/road-address-image.png)
(그림: 컬리, © 2023. Kurly. All rights reserved.)
위 지도 이미지를 보면 왼편에는 여러 작은 건물들이 있고, 오른편에는 아파트 단지가 1개 있습니다.
작은 건물들을 자세히보면 지도에 52-15, 52-10, 50 … 이렇게 뭔가 고유의 번호가 붙어있는데요. 이건 바로 행정안전부 도로명주소 포멧의 아이템중 하나인 건물 번호 입니다. 건물번호는 또 '-' 문자를 기준으로 건물본번, 건물부번으로 합쳐진 구조입니다. (건물부번은 없을 수도 있습니다)
경기도 수원시 영통구 삼성로 11 (래미안 영통마크원 2단지) 아파트에는 총 18개의 건물이 있습니다. 이 18개의 건물에는 근린생활시설도 포함이며, 경비실 또한 1개의 건물로써 포함이 되어있습니다. 이처럼 아파트의 경우는 모두 같은 기본주소를 보장합니다.
이런 건물번호의 특징을 통해 중요한 정보를 알 수 있는데요.
단독건물 (도로명 기본주소 1개에 1개의 건물만 존재) 의 경우 건물번호 까지만으로 정확한 건물을 특정할 수 있다. (정확한 위경도를 알수 있다)
복합건물 (도로명 기본주소 1개에 여러 건물이 존재) 의 경우 상세주소의 동 정보가 있어야 정확한 건물을 특정할 수 있다.
컬리몰에서는 아래 이미지처럼 팝업처럼 기본주소를 직접 선택 한 후 상세주소를 고객이 직접 자유롭게 입력하는 UX로 구현되어져 있습니다.
![kurly mall 주소정제 팝업](/post-img/refine-address-internalizatipn-1/kurly-mall-popup2.png)
(그림: 컬리, © 2023. Kurly. All rights reserved.)
위 처럼 자유롭게 상세주소를 입력할 수 있다는 점에서 복합건물 주소의 정확한 건물을 특정하는 것이 주소정제의 핵심이라고 볼 수 있습니다.
또한 현재 OMS에서 관여하는 주소정제 요청은 컬리몰 뿐만아니라 외부 판매처 주문 또한 담당하고 있기 때문에 기본주소가 컬리몰처럼 예쁘게 전달될 것이라고 가정을 하는 것은 위험한 생각입니다.
그래서 OMS팀에서 주소정제 내재화 프로젝트를 진행함에 명확한 슬로건을 정했습니다.
'그 어떤 개떡같은 주소요청이라도 찰떡같이 정제하자'
2화 미리보기
여러가지 리서치를 진행하던 중 행정안전부 여러 오픈 api 도로명 주소 발견할 수 있었습니다.
기존의 주소정제의 flow안에서 위 api 를 활용한 주소정제 1.0 설계를 진행하였고 실제 운영배포까지 랜딩하게된 과정을 설명합니다.