Skip to content
Park Hyoin PARKHYO.IN
Go back

항만 도메인 공부 #5 — 부산항은 한 공간인데 데이터는 흩어져 있다

Edit page

#4 에서 공공데이터가 왜 그대로는 못 쓰이는지 봤다면, 이번엔 그걸 어디서 어떻게 가져오는가다. 이론은 어제 충분히 했으니 바로 이어서 갔다.

Table of contents

Open Table of contents

받는 방법은 두 가지다

공공데이터를 내려받는 채널은 두 개가 제공된다.

  • 파일 데이터 — 파일을 직접 다운로드하는 것. 대개 엑셀이나 CSV 를 올려두고, 가끔 JSON 을 줄 때도 있다
  • Open API — 프로그래밍 언어로 소통하는 것

이번 과정에서는 파일 데이터를 써서 분석한다. Open API 는 키를 발급받아야 한다.

왜 API 는 키가 필요한가

프로그래밍 언어로 내려받는 것이기 때문이다. 그래서 데이터 활용 신청을 하면 승인해주고, 그걸로 키를 얻어 발급받는다.

강의에서 이 원리를 알면 두 가지를 더 할 수 있다고 했다.

  • 외부 서비스를 프로그램으로 쓸 때도 원리가 같다
  • 도메인에 매이지 않고 여러 방면에서 데이터 분석이 가능하다

두 번째가 마음에 들었다. 지금은 항만 데이터를 다루고 있지만, 키를 발급받아 API 를 호출하는 절차 자체는 어느 도메인이든 같다는 뜻이다.

해양·항만 데이터는 세 기관에 나뉘어 있다

  • 해양수산부 — 선박 입출항, 항만시설
  • 부산항만공사 — 부산항 운영, 장기 물동량
  • 관세청 — 품목, 국가별 수출입

그리고 이 대목이 이번 강의에서 제일 크게 남았다.

데이터는 분산되어 있다.

부산항이라는 공간은 하나다. 수출·수입 프로세스도, 입항·출항 프로세스도 전부 그 한 항만에서 일어난다. 그런데 거기서 나오는 데이터는 여러 조직이 나눠서 관리한다.

그래서 주제를 정하고 데이터를 가져올 때 한 곳에서 다 가져오는 게 아니라 각각의 기관에서 가져와야 할 수도 있다. 기관마다 전문적으로 다루는 데이터가 다르기 때문이다.

부산항이라는 한 공간에서 일어나는 일의 데이터가 세 기관으로 나뉘어 관리된다 — 해양수산부는 선박 입출항, 부산항만공사는 물동량, 관세청은 품목과 금액을 담당한다

기관별로 무엇을 갖고 있나

해양수산부 — PORT-MIS

  • 전국 단위 해양·항만 데이터 제공
  • 선박 입·출항 및 항만 이용정보
  • 해운·수산·해양환경 등 다양한 분야 포함
  • 항만별·선종별·톤급별 세분화 가능
  • 전국 항만 간 비교 분석에 용이
  • 항만 운영 및 해운 동향 분석에 적합

여기에 중요한 단서가 붙었다.

PORT-MIS 는 실제로 선박이 사용하는 도구다. 그래서 여기 있는 데이터를 조회하려면 선박을 구분할 수 있는 정보를 알아야 한다.

#4 에서 IMO 번호를 분석용 키로 쓰라고 배운 게 여기서 실무로 이어졌다. 코드체계를 아는 것이 교양이 아니라 조회 조건이라는 뜻이다.

부산항만공사

  • 부산항 중심의 특화 데이터
  • 컨테이너·화물 물동량
  • 수출·수입·환적 실적 구분 가능
  • 연도별·월별·부두별 세분화 가능
  • 부산항 물동량 추이 분석에 용이
  • 부산항 운영성과 및 경쟁력 분석에 적합

#3 에서 환적이 수입통계에 안 잡히고 처리량으로만 잡힌다고 배웠는데, 여기서는 수출·수입·환적을 구분해서 볼 수 있다고 한다.

관세청

  • 수출입·통관 중심의 무역 데이터
  • HS Code 기반 품목 분류
  • 국가별·품목별 수출입 세분화 가능
  • 수출액·수입액·중량·무역수지 제공
  • 품목 및 교역국별 무역 분석에 용이
  • 수출입 동향 및 무역구조 분석에 적합

세 기관을 나란히 놓고 보니 축이 다르다. 해양수산부는 선박, 부산항만공사는 물동량, 관세청은 품목과 금액을 본다. 같은 컨테이너 하나가 세 기관에서 서로 다른 얼굴로 기록되는 셈이다.

데이터 분석가는 무엇을 하는 사람인가

강의 후반에 태도 얘기가 나왔다.

  • 데이터 분석가는 예언가가 아니다.
  • pandas 는 무적이 아니다. 데이터를 다루기 쉽게 하는 도구일 뿐이다.
  • 데이터 분석가는 우리고, pandas 는 도구다. 그래서 데이터 분석가는 통계학을 공부해야 한다.

그리고 분석의 흐름을 이렇게 정리했다.

데이터를 잘 보면 새로운 사실이 보인다. 그 사실들로 가설을 세우고 데이터로 검증하면 분석이 된다.

마지막 문장이 #1 에서 들은 말과 겹쳤다.

데이터 분석가는 의사결정하지 않고 분석만 해서 의사소통해주는 것이다.

#1 에서 “AI 로 의사결정을 내리면 안 된다, AI 는 의사결정에 기여하는 것” 이라고 들었는데, 분석가의 역할도 같은 자리에 놓여 있었다. 도구든 사람이든 결정하는 자리가 아니라 판단 근거를 만드는 자리라는 것.

회고 — 분산이 곧 과제다

“데이터는 분산되어 있다” 는 말을 처음 들었을 때는 불편함 정도로 들렸다. 그런데 세 기관 소개를 다 듣고 나니 이게 이 도메인의 성격 자체로 보였다.

#2 에서 화주·포워더·선사·터미널 운영사가 각각 데이터를 만든다고 배웠다. 주체가 나뉘어 있으니 데이터도 나뉜다. 그러니 기관이 셋이라는 건 우연이 아니라 업무 구조가 그대로 반영된 결과다.

그렇다면 분석에서 어려운 부분은 각 파일을 읽는 게 아니라 서로 다른 기관의 데이터를 같은 대상으로 묶는 일이 될 것 같다. DE 공부에서 대소문자 하나로 카테고리가 갈라졌던 것을 생각하면, 기관마다 표기와 기준이 다를 때 이걸 맞추는 게 실제 작업량이 아닐까 싶다.

같은 주제를 보더라도 관점이 다를 수 있고, 그걸 조율해서 대시보드까지 만드는 게 이번 교육의 목표라고 했다.

더 공부해볼 것

  • 부산항만공사 데이터와 PORT-MIS 가 따로 분리된 이유 — 부산항만공사 쪽이 특화되어 있어서인지, 아니면 애초에 관할이 달라서인지. 두 곳에 같은 항목이 중복으로 있다면 어느 쪽을 기준으로 삼아야 하는지도 궁금하다
  • 계선장소의 “계선” 이 무엇인가 — #1 에서 계선주(배를 묶어두는 기둥)를 봤으니 같은 계열 용어로 보이는데, 계선장소가 정확히 어떤 장소를 가리키는지 확인 필요
  • 기관 간 데이터를 무엇으로 조인하는가 — 선박은 IMO 번호가 있지만 물동량과 품목 데이터는 무슨 키로 이어 붙이는지. 애초에 이어 붙일 수 있는 구조인지
  • 파일 데이터와 API 의 갱신 시점 차이 — 같은 데이터라도 파일 배포 주기와 API 갱신 주기가 다르면 숫자가 안 맞을 수 있다. 어느 쪽이 기준인지
  • 공공데이터 활용 신청 절차 — 승인까지 얼마나 걸리고 무엇을 적어야 하는지. 지금은 파일로 하지만 한 번 받아두면 쓸 일이 생길 것 같다
  • 통계학을 어디서부터 볼 것인가 — 분석가는 통계학을 공부해야 한다고 했는데, 기술통계와 추론통계 중 실무에서 먼저 쓰이는 쪽이 어디인지

Edit page