콘텐츠로 이동

물류/배송 데이터 분석


산업 특성

물류는 시간과 공간의 제약을 극복하는 산업이다. 데이터 분석의 핵심은 수요를 예측하고 자원을 최적 배치하는 것.

주요 특성: - 실시간성이 생명 (배송 지연 = 고객 이탈) - 네트워크 효과 (허브 효율이 전체 비용 결정) - 라스트마일이 전체 비용의 50% 이상 - 계절성과 요일 효과가 강함 - 규모의 경제와 밀도의 경제 공존

데이터 환경:

+------------------+     +------------------+     +------------------+
|   주문 데이터    |     |   운영 데이터    |     |   외부 데이터    |
+------------------+     +------------------+     +------------------+
| - 주문 정보      |     | - 차량 GPS       |     | - 날씨           |
| - 배송지         |     | - 허브 처리량    |     | - 교통 상황      |
| - 시간 요구      |     | - 인력 배치      |     | - 이벤트 정보    |
| - 상품 특성      |     | - 재고 현황      |     | - 유가           |
+------------------+     +------------------+     +------------------+

핵심 문제

1. 수요 예측

예측 대상과 활용:

예측 대상 시간 범위 활용
일별 물동량 7-30일 인력/차량 배치
권역별 물량 1-7일 허브간 배분
시간대별 물량 당일-익일 실시간 조정
지역별 배송 건수 당일 라우팅 최적화

예측 모델 구조:

+------------------------------------------------------------------+
|                    수요 예측 파이프라인                           |
+------------------------------------------------------------------+
|                                                                   |
|  [과거 데이터]     [외부 변수]      [이벤트 변수]                 |
|       |                |                |                         |
|       v                v                v                         |
|  +----------+    +----------+    +----------+                    |
|  | 시계열   |    | 날씨     |    | 프로모션 |                    |
|  | 패턴     |    | 공휴일   |    | 세일     |                    |
|  +----------+    +----------+    +----------+                    |
|       |                |                |                         |
|       +-------+--------+--------+-------+                         |
|               |                                                   |
|               v                                                   |
|       +----------------+                                          |
|       |  예측 모델     |                                          |
|       | (LightGBM,     |                                          |
|       |  Prophet,      |                                          |
|       |  LSTM)         |                                          |
|       +----------------+                                          |
|               |                                                   |
|               v                                                   |
|       [일별/권역별 물동량 예측]                                   |
+------------------------------------------------------------------+

계절성 분해:

물류 수요 패턴:

연간:
  1월 ████████ (설 직전 급증)
  2월 ██ (설 연휴 감소)
  ...
  11월 ██████████████ (블프/11.11)
  12월 ████████████████ (연말)

주간:
  월 ██████████████ (주말 주문 처리)
  화 ████████████
  수 ████████████
  목 ████████████
  금 ██████████████ (주말 전 주문)
  토 ████████
  일 ██████

시간대별:
  09-12시 ████████████████ (오전 집중)
  12-15시 ████████████
  15-18시 ██████████
  18-21시 ████████████████ (저녁 배송)

예측 정확도 관리:

-- 예측 vs 실제 비교 (권역별)
SELECT 
  region,
  forecast_date,
  predicted_volume,
  actual_volume,
  ABS(predicted_volume - actual_volume) / actual_volume as mape,
  CASE 
    WHEN actual_volume > predicted_volume * 1.2 THEN 'Under-forecast'
    WHEN actual_volume < predicted_volume * 0.8 THEN 'Over-forecast'
    ELSE 'Accurate'
  END as forecast_quality
FROM daily_forecast f
JOIN daily_actual a ON f.region = a.region AND f.forecast_date = a.actual_date
WHERE forecast_date >= DATE_SUB(CURRENT_DATE, INTERVAL 30 DAY);

-- 목표: MAPE < 10%, 과소예측 비율 < 5%

2. 경로 최적화

문제 유형:

TSP (Traveling Salesman Problem):
- 모든 지점을 한 번씩 방문하는 최단 경로
- 배송기사 1명의 최적 경로

VRP (Vehicle Routing Problem):
- 여러 차량으로 모든 지점 커버
- 차량 용량, 시간 제약 고려

VRPTW (VRP with Time Windows):
- 배송 시간대 제약 추가
- "오후 2-6시 배송 희망" 반영

최적화 목표:

min 총비용 = 이동비용 + 인건비 + 지연 패널티

제약조건:
- 차량 적재 용량
- 기사 근무 시간
- 고객 지정 시간대
- 도로 통행 제한

휴리스틱 접근:

1. Nearest Neighbor (최근접 이웃)
   현재 위치에서 가장 가까운 미방문 지점 선택
   간단하지만 최적과 거리 있음

2. Savings Algorithm (절약법)
   두 경로를 합쳤을 때 절약되는 거리 계산
   절약이 큰 것부터 병합

3. Local Search (지역 탐색)
   2-opt: 두 경로를 교차 교환
   3-opt: 세 경로 교환
   기존 해 개선에 효과적

4. Metaheuristics
   Genetic Algorithm
   Simulated Annealing
   Ant Colony Optimization

실무 적용:

# Google OR-Tools 활용 예시
from ortools.constraint_solver import routing_enums_pb2
from ortools.constraint_solver import pywrapcp

def create_routing_model(distance_matrix, demands, vehicle_capacities):
    manager = pywrapcp.RoutingIndexManager(
        len(distance_matrix), 
        len(vehicle_capacities), 
        0  # depot index
    )
    routing = pywrapcp.RoutingModel(manager)

    # 거리 콜백 등록
    def distance_callback(from_index, to_index):
        from_node = manager.IndexToNode(from_index)
        to_node = manager.IndexToNode(to_index)
        return distance_matrix[from_node][to_node]

    transit_callback_index = routing.RegisterTransitCallback(distance_callback)
    routing.SetArcCostEvaluatorOfAllVehicles(transit_callback_index)

    # 용량 제약 추가
    # ...

    return routing, manager

3. 라스트마일 분석

라스트마일의 중요성:

전체 물류 비용 구조:

First Mile (수거)      : ████ 15%
Line Haul (간선)       : ████████ 30%
Hub Operation (허브)   : ██ 5%
Last Mile (배송)       : ██████████████████████ 50%

라스트마일이 비싼 이유:
- 낮은 밀도 (건당 이동거리 큼)
- 높은 변동성 (재배송, 부재)
- 인력 의존도 높음

라스트마일 KPI:

지표 정의 목표
배송 완료율 첫 시도 완료/전체 95% 이상
건당 비용 총비용/배송건수 지역별 상이
건당 시간 총시간/배송건수 5분 이내
기사당 생산성 완료건수/기사수 80건/일

배송 실패 분석:

-- 배송 실패 원인 분석
SELECT 
  failure_reason,
  COUNT(*) as count,
  COUNT(*) * 100.0 / SUM(COUNT(*)) OVER() as pct,
  AVG(retry_count) as avg_retry,
  AVG(extra_cost) as avg_extra_cost
FROM delivery_failures
WHERE delivery_date >= DATE_SUB(CURRENT_DATE, INTERVAL 30 DAY)
GROUP BY failure_reason
ORDER BY count DESC;

-- 결과 예시:
-- 부재중     : 45% (재배송 비용 발생)
-- 주소 오류  : 25% (확인 시간 소요)
-- 연락 불가  : 15% (재시도 필요)
-- 접근 불가  : 10% (건물 출입 제한)
-- 기타       : 5%

밀도 효과 분석:

배송 밀도 vs 건당 비용:

건당
비용
  |
  |*
  | *
  |  *
  |   *
  |    **
  |      ***
  |         *****
  |              ********
  +---------------------------------> 
              권역 내 배송 밀도 (건/km²)

핵심 인사이트:
- 밀도 2배 → 비용 30% 감소
- 임계 밀도 이하에서는 수익 불가
- 밀도 높이기: 배송일 조정, 픽업 유도, 권역 재설계

4. 실시간 데이터 활용

실시간 모니터링 대상:

+------------------------------------------------------------------+
|                    실시간 대시보드                                |
+------------------------------------------------------------------+
| 차량 현황           | 허브 현황           | 배송 현황            |
| - 위치 (GPS)        | - 처리량/용량       | - 완료/미완료        |
| - 상태 (이동/정차)  | - 병목 구간         | - 예상 완료 시각     |
| - 적재량            | - 인력 배치         | - 지연 건수          |
+------------------------------------------------------------------+
| 이상 징후 알람                                                    |
| - 차량 30분 이상 정차                                            |
| - 허브 처리량 급감                                                |
| - 특정 권역 지연율 급증                                          |
+------------------------------------------------------------------+

동적 라우팅:

정적 라우팅:
  아침에 경로 확정 → 하루 종일 동일 경로

동적 라우팅:
  실시간으로 경로 재계산

  [초기 경로] → [교통 정체 발생] → [경로 재계산] → [신규 주문] → [경로 재계산]
       |              |                |              |              |
     09:00          10:30            10:31          11:00          11:01

동적 라우팅 트리거:
- 교통 상황 변화 (네비게이션 API)
- 신규 주문 추가 (즉시 배송)
- 배송 실패 (재배송 삽입)
- 기사 요청 (휴식, 긴급)

예측적 자원 배치:

수요 예측 → 선제적 자원 배치

예시: 폭염 예보
  - 음료/아이스크림 수요 급증 예측
  - 냉장 차량 사전 배치
  - 해당 권역 인력 증원

예시: 대규모 프로모션
  - D-7: 물량 예측 공유
  - D-3: 임시 인력 확보
  - D-1: 허브 사전 분류
  - D-day: 실시간 모니터링 강화

분석 접근

물류 분석의 특수성

1. 공간-시간 동시 고려:

단순 분석: 어디에 물량이 많은가?
물류 분석: 언제, 어디에, 얼마나 물량이 있고, 
          언제까지 어디로 이동해야 하는가?

4차원 문제: (시간, 위치, 물량, 제약)

2. 네트워크 관점:

개별 최적화의 함정:
- A권역 최적화 → B권역에 영향
- 오전 최적화 → 오후에 병목

전체 최적화 필요:
+--------+     +--------+     +--------+
|  수거  | --> |  허브  | --> |  배송  |
+--------+     +--------+     +--------+
     ^              ^              ^
     |              |              |
   제약           용량           시간

각 단계가 연결된 시스템으로 분석

3. 변동성 관리:

예측 오차는 불가피 → 버퍼 설계가 핵심

버퍼 유형:
- 시간 버퍼: 여유 시간 확보
- 용량 버퍼: 예비 차량/인력
- 재고 버퍼: 안전 재고

버퍼 비용 vs 서비스 수준 트레이드오프

비즈니스 액션

분석-운영 연결

분석 결과 의사결정 담당 타이밍
물량 예측 상향 인력/차량 추가 운영팀 D-3
특정 권역 지연 증가 권역 재설계 기획팀 월간
라우팅 효율 저하 알고리즘 개선 개발팀 분기
배송 실패 원인 프로세스 개선 운영팀 주간

비용-서비스 트레이드오프

서비스 수준
    |
100%|              *
    |           *
 95%|        *
    |      *
 90%|    *
    |  *
 85%|*
    +-------------------------> 비용

핵심 의사결정:
- 당일 배송 vs 익일 배송 비용 차이
- 시간대 지정 서비스의 추가 비용
- 무료 배송 기준 금액

실무 사례

사례 1: 권역 재설계

상황: 수도권 배송 권역 10개, 권역간 효율 편차 큼

분석:

권역별 현황:
+--------+----------+----------+----------+
| 권역   | 일 물량  | 건당비용 | 완료시간 |
+--------+----------+----------+----------+
| A (강남)| 500건   | 2,500원  | 17:30   |
| B (강북)| 300건   | 3,200원  | 18:30   |
| C (경기)| 200건   | 4,500원  | 19:30   |
| ...    |          |          |          |
+--------+----------+----------+----------+

문제 발견:
- 권역 경계가 행정구역 기준 (배송 효율 무시)
- 경계 부근 물량이 비효율적으로 배분
- 밀도 편차가 3배 이상

해결:

클러스터링 기반 권역 재설계:
1. 배송지 좌표 + 물량 데이터 수집
2. K-means 클러스터링 (거리 + 물량 가중치)
3. 운영 제약 반영 (기사 담당 범위)
4. 시뮬레이션으로 효과 검증

결과:
- 권역 10개 → 12개 (세분화)
- 평균 건당비용: 3,100원 → 2,700원 (-13%)
- 평균 완료시간: 18:30 → 17:45 (-45분)

사례 2: 수요 예측 고도화

상황: 예측 오차로 인력 과부족 반복

기존 문제:

예측 방식: 전년 동기 대비 +10% 일괄 적용
실제 결과:
- MAPE: 25%
- 과소예측 빈도: 30% (인력 부족 → 지연)
- 과대예측 빈도: 25% (인력 과잉 → 비용 증가)

개선:

ML 기반 예측 모델:
Features:
- 과거 물량 (lag 1, 7, 14, 28일)
- 요일/공휴일
- 날씨 (기온, 강수)
- 프로모션 캘린더
- 쇼핑몰 이벤트 (크롤링)

모델: LightGBM + 권역별 보정

결과:

개선 후:
- MAPE: 25% → 12%
- 과소예측: 30% → 8%
- 과대예측: 25% → 15%

비용 효과:
- 긴급 인력 호출 비용: -40%
- 배송 지연 패널티: -50%
- 전체 인건비: -8%

핵심 지표 정리

영역 지표 계산/설명 목표
예측 MAPE 예측오차율 10% 이하
예측 Bias 과소/과대 경향 0에 가깝게
효율 건당 비용 총비용/배송건 권역별 관리
효율 차량 적재율 적재량/용량 80% 이상
서비스 정시 배송률 시간내 완료/전체 95% 이상
서비스 첫 배송 완료율 1회 완료/전체 90% 이상
운영 기사 생산성 완료건/기사 80건/일
운영 허브 처리량 시간당 처리건 용량 대비 관리

이전: 부동산 | 목록으로