온라인에서 항공권을 검색하는 방법은 다음과 같이 분류할 수 있습니다.

항공사 홈페이지

온라인 항공 예약 사이트

메타서치엔진(Metasearch engine) 기반의 가격비교 사이트

  • Example: Kayak, Skyscanner, Hipmunk.com, …
  • 장점: 항공사 사이트, 온라인 항공 예약 사이트 비교 검색 가능. 그래픽 인터페이스를 이용한 지역별, 날짜별 가격 비교 가능.
  • 단점: 메타서치엔진의 한계로 인해 비교 안 되는 사이트가 많고, 인기 노선이 아닌 경우에는 예약 불가능한 항공권을 제시하는 경우가 많음.

이외에 Priceline은 역경매 방식으로도 항공권을 판매하지만 그 비중은 미미하다고 할 수 있습니다. 참고로 Priceline의 역경매 서비스에 대해서는 하고 싶은 이야기가 많아 따로 글을 쓸 예정입니다.
위의 분류 중, 최근 가격비교 사이트들이 약진하고 있지만, 그 속성 상 논외로 치고, 온라인 항공 예약 사이트들에 대해 조명해 보겠습니다.

Booking Engine의 동작 방식

대다수 온라인 항공 예약 사이트의 Booking Engine은 고객이 조회 조건을 입력하면 운임과 규정, 스케줄, 좌석 현황을 종합하여 알고리즘이 최적의 결과를 도출하고 스케줄 별로 가격을 표시하는 구조로 되어 있습니다. 이러한 방식을 스케줄 기반(Schedule Driven) 조회 방식이라고 합니다. 고객은 알고리즘의 결과로 조회된 리스트 중에 하나를 선택합니다.

Booking Engine Algorithm
Algorithm of Booking Engine

Booking Engine 알고리즘: 정답 도출이 불가능해 근사치 검색결과를 도출. 더 좋은 검색 결과가 존재할 가능성

그런데 한가지 문제가 있습니다. 전세계에 공항이 너무 많고, 비행편도 너무 많고, Fare도 너무 많고, 각각의 Fare에 딸린 Rule도 너무 많습니다. 아래 그림처럼 San Francisco에서 Boston까지 2회 이내 경유이고 미국과 남부 캐나다를 벗어나지 않는 조건으로 당일 도착하는 Schedule이 2,000 가지입니다. 몇 개의 공항만 경유지로 더 추가하면 10,000개로 늘어납니다. 게다가 이건 2003년 자료입니다. [Computational Complexity of Air Travel Planning, Carl de Marcken, Public notes on computational complexity, Fall, 2003]에 따르면 Full Search는 불가능합니다.

SFOBOS2000path
San Francisco to Boston: 2,000 paths, source: Computational Complexity of Air Travel Planning, Carl de Marcken
Complexity of Air Search
Complexity of Air Search, source: Computational Complexity of Air Travel Planning, Carl de Marcken

다구간: 검색 구간이 늘어남에 따라 기하급수적으로 연산 시간이 증가. 더 많은 Factor를 단순화하여 처리. 결과적으로 검색결과의 저하.

결국 Booking Engine 알고리즘은 모든 데이터를 고려하여 결과를 낼 수 없고, 적당히 근사치의 결과물을 내어 놓을 수 밖에 없습니다. 물론 수십 년간의 성능 향상으로 단거리의 단순한 여정에서는 매우 훌륭한 결과가 도출되기는 합니다. 하지만, 장거리의 경우 경로가 더 복잡해질 수 밖에 없고, 여기에 다구간처럼 여정마저도 복잡해지는 경우에는 그 결과가 그리 쓸만하지 않은 경우가 많을 수 밖에 없는 구조입니다.

아래 그림은 Priceline에서 ‘프라하 – 런던, 런던 – 홍콩, 홍콩 – 푸켓, 치앙마이 – 방콕, 방콕 – 부다페스트‘ 여정의 항공권을 조회한 화면입니다. 가장 싼 항공권이 $3,303 이고 매 구간 경유를 하는 등 스케줄도 별로 좋지 않습니다. 그나마 Expedia에서는 결과가 나오지도 않습니다.

 

Priceline Search Input PRGLONHKGHKT CNXBKKBUD
Priceline Search Input Prague-London-Hong kong-Phuket Chiang Mai-Bangkok-Budapest
Priceline Search Result PRGLONHKGHKT CNXBKKBUD
Priceline Search Result Prague-London-Hong kong-Phuket Chiang Mai-Bangkok-Budapest

실제로 이 여정은 다음과 같이 1,193,600원에 예약이 가능합니다. 물론 아무렇게나 여정을 잡아도 이렇게 저렴한 금액에 편한 스케줄로 예약이 가능한 것은 아닙니다. 항공사의 Fare와 Rule을 잘 분석해서 경로를 잡아야 합니다. 또한, 좌석현황이 문제가 될 수 있으므로 일정을 조금씩은 조절할 수 있어야 합니다. 당연히 여행사 직원 중에서도 경험이 많은 사람만이 가능합니다. 그렇다고 여행사 직원에게 의뢰한다고 좀처럼 해주지도 않습니다.

Terminal Search Result PRGLONHKGHKT CNXBKKBUD
Terminal Search result Prague-London-Hong kong-Phuket Chiang Mai-Bangkok-Budapest

지난번 글 스마트한 항공권 구입을 위해 알고 있으면 좋은 항공권의 속성에서 소개하였듯이, 이렇게 다구간을 싸게 예약할 수 있는 것은 항공사들이 매출 극대화를 추구하며 자연스럽게 형성된 항공권의 속성 때문입니다.

다음 글에서는 여행사직원들이 어떤 과정을 거쳐 이런 다구간 예약을 하는 지와, 왜 해줄 수 없거나 하려고 하지 않는지에 대해 써보겠습니다.

참고로, 한국의 많은 온라인 항공 예약 사이트들은 위에서 살펴본 기술과는 전혀 다른 운임 기반(Fare Driven) 조회 방식을 사용하고 있습니다. 한국에서 이러한 방식을 사용하는 이유와 이 방식의 장단점 등에 대해서도 여력이 되면 한번 다루어 보도록 하겠습니다.

광고