본문으로 건너뛰기
실무 레시피

기업 · 업무 활용 예시

고객 주소를 활용한 배송 경로·비용 계산

창고 한 곳, 주문 아흔 건, 차량 세 대의 배송을 계획합니다. 에이전트가 주소를 좌표로 바꾸고 실제 도로망의 이동시간·연료비를 계산하며, 솔버로 차량별 정차 순서를 정리합니다.

5 분 읽기

한 유통 회사가 창고 한 곳에서 주문 아흔 건을 차량 세 대로 배송하는 상황입니다. 고객·주문 목록에는 배송지 주소가 있지만, 어느 차량이 어떤 주문을 맡고 어떤 순서로 방문할지는 배차 담당자가 정해야 합니다.

주소를 좌표로 바꾸고 도로망과 대조해야 방문 순서, 이동시간, 연료비를 계산할 수 있습니다. 사람이 주소 목록을 보고 직접 정하던 배송 순서를, 지도와 경로 계산 도구로 검토하는 방법을 소개합니다.

계획할 배송: 창고 한 곳·주문 아흔 건·정차 순서

이 사례에서는 창고·고객·주문·차량이 워크스페이스 지식그래프에 연결되어 있습니다. 고객의 팔레트 주문량과 차량별 적재량도 기록되어 있습니다. 경로 계획을 위해 추가로 필요한 정보는 장소의 좌표와 지점 간 주행 시간입니다.

  • 창고 주소 한 개. 모든 경로가 여기서 출발해 여기로 돌아온다
  • 고객 목록 한 개. 배송지 주소 수백 개와 고객별 수령 가능 시간대가 들어 있다
  • 오늘 주문 시트 한 개. 아흔 줄이고, 줄마다 고객과 팔레트 수량과 중량이 적혀 있다
  • 차량 세 대. 각각 적재 한도와 100km당 연비, 근무 종료 시간이 있다
  • 이 모두가 이미 지식그래프에 연결된 엔티티로 있다. 새로 모을 데이터는 없다. 빠진 것은 좌표와 이동시간이다

2호차가 방문할 서른한 곳의 순서나 배송 가치보다 연료비·기사 시간이 더 드는 주문을 찾으려면 좌표와 이동시간을 계산해야 합니다. 주소가 적힌 목록만으로는 두 질문에 답하기 어렵습니다.

기존 방식: 수동 배차와 거리 기반 비용 추정

기존에는 주문을 우편번호로 묶고 배차 담당자가 방문 순서를 정해 기사에게 전달했습니다. 도시를 잘 아는 담당자가 없거나 주문 구성이 달라지면 계획의 적절성을 확인하기 어렵습니다.

총 주행거리와 평균 유가만으로 비용을 추정하면 일곱 시 외곽순환도로의 정체, 강을 건너는 구간, 일방통행 우회 같은 조건이 빠집니다. 이 시나리오에서는 8km 짧은 경로라도 연료를 더 쓰고 한 시간이 더 걸릴 수 있는 상황을 검토합니다.

종이에 적힌 방문 순서는 주문 정보나 오후 두 시 이후 수령 같은 고객 조건과 연결되지 않습니다. 아침 여덟 시에 주문이 취소되면 남은 방문 순서를 다시 조정해야 합니다.

주소를 활용한 지도와 경로 생성

이미 그래프에 있는 장소를 좌표로 변환해 지도를 생성합니다. 별도의 지도 버튼이나 사이드바 아이콘 대신, 채팅에서 에이전트에게 지도를 요청하는 방식입니다.

주소를 지도로 올리는 순서

  1. 채팅에서 지도 요청

    "매장과 최근 1년 주문을 지도에 올려 줘." 에이전트가 지식그래프 속 매장·고객·경쟁점 엔티티를 읽어 그 주소를 처리 대상으로 잡는다.

  2. "장소 지오코딩"으로 주소를 좌표로 변환

    지오코딩은 주소를 좌표로 바꾸는 일이다. 여기엔 원칙이 하나 있다. 좌표는 모델이 지어내지 않는다. 지오코딩·거리·도달권 같은 공간 계산은 전부 결정론적 서비스와 라이브러리가 맡고, 너무 모호해 확신이 서지 않는 주소는 짐작하는 대신 그렇다고 말한다.

  3. "지도 작성 완료" 카드에서 지도 확인

    에이전트가 상황에 맞는 레이어를 골라 저작한다. 주문이 몰리는 곳은 히트맵으로 핫스팟을 드러내고, 권역별 매출은 점을 구역으로 집계해 코로플레스(값에 따라 지역을 색칠한 지도)로 칠한다. 이때 색은 날것의 건수가 아니라 정규화한 비율로 칠한다. 넓은 동네가 무조건 더 '뜨겁게' 보이는 착시를 막기 위해서다.

  4. 매장별 15분 도달권 비교

    각 매장에서 15분 안에 닿는 등시선(실제 도로망 위에서 계산한 이동시간 도달 폴리곤)을 그린다. 주문 핫스팟 위에 이 도달권을 겹치면, 어느 도달권에도 들지 않는 주문이 어디에 쌓여 있는지가 드러난다.

  5. "크게 보기"로 전체 화면 지도 열기

    채팅이 왼쪽 사이드바로 붙어서 지도를 보며 계속 물을 수 있다. 범례는 전체 화면 전용이라, 코로플레스 구간과 레이어 색이 여기서 펼쳐진다.

배송 경로와 주문을 함께 확인하는 질문

채팅에 이렇게 묻고, 돌아오는 지도를 읽는다
"오늘 배송 아흔 건을 창고에서 출발해 창고로 돌아오는 차량별 경로로 짜 줘."
→ 도로망 위에 경로 세 개가 그려지고, 정차지마다 주행 순번이 표시된다.
   경로마다 총 주행거리와 총 이동시간, 오늘 유가 기준 연료비가 함께 나온다.
   이 순서는 모델이 아니라 솔버가 계산한 결과다.

"가장 비싸게 닿는 정차지는 어디인가?"
→ 어느 묶음에도 들어가지 않는 정차지 두 곳이 지도에 표시된다.
   그 마크를 클릭하면 "선택됨: {라벨}" 알약이 나타난다.
   엔티티에 묶인 마크라면 "그래프에서 보기" 버튼이 함께 나온다.
   한 번 누르면 그 정차지의 주문과 고객이 열린다.

"3311번 주문이 취소됐다. 그것을 빼고 하루를 다시 짜 줘."
→ 경로가 다시 계산되고 새 합계가 이전 합계 옆에 표시된다.
   지도에 올라간 장소는 좌표를 그래프에 갖고 있으므로
   다시 지오코딩하지 않는다.

모델은 표시할 정보와 계산 도구에 보낼 조건을 정하고, 좌표·이동시간 행렬·정차 순서는 지정된 서비스와 라이브러리가 계산합니다. 경로는 도로 거리와 이동시간, 차량 적재 한도, 근무 종료 시간을 바탕으로 정리됩니다. 담당자는 계산된 경로와 비용을 확인해 기사에게 전달할 수 있습니다.

지도 마크를 클릭하면 채팅 작성창에 @멘션 칩이 추가되고 다음 메시지에 해당 위치의 속성과 좌표가 포함됩니다. 위치에 연결된 주문·고객 정보를 이어서 질문할 수 있습니다. 경로 구간이나 이동시간 범위처럼 계산으로 만든 도형에는 대응 엔티티가 없어 “그래프에서 보기”가 표시되지 않습니다.

활용 결과와 검토 범위

예전지금
주문 목록을 우편번호로 정렬해 눈으로 묶고, 기사마다 순번이 적힌 종이를 준다. 결과가 도시를 아는 배차 담당자에게 달려 있다그래프에 이미 있는 창고, 고객, 주문 주소를 에이전트가 지오코딩하고 정차 순서는 솔버에 넘긴다. 확신이 서지 않는 주소는 짐작하지 않고 표시한다
총 주행거리에 평균 유가를 곱해 비용을 추정한다. 정체와 강 건너 구간, 일방통행 우회는 계산에 없다이동시간을 실제 도로망에서 가져오고, 경로마다 주행거리와 이동시간, 오늘 유가 기준 연료비를 함께 보여준다
종이에 적힌 순번은 그 정차지가 어떤 주문인지, 그 고객이 오후 두 시 이후에 수령이 되는지 알려주지 않는다정차지를 클릭하면 "선택됨" 알약에 "그래프에서 보기" 버튼이 붙고, 누르면 그 주문과 고객이 열린다
아침 여덟 시 취소 한 건에 남은 하루 순서를 손으로 다시 짠다그 주문을 빼고 다시 짜 달라고 하면 새 경로와 합계가 이전 값 옆에 나오고, 다시 지오코딩하지 않는다

출발 전에 경로와 비용을 계산해 배차 담당자가 확인할 수 있습니다. 담당자는 도시를 아는 사람의 경험과 월말 비용 집계에만 의존하지 않고, 계산 결과를 바탕으로 배송 계획을 정합니다.

내 자료로 직접 적용하기

이 업무에 필요한 방법을 익히고, 가지고 있는 자료로 직접 적용해 보세요.

관련 레슨 보기
고객 주소를 활용한 배송 경로·비용 계산