Как мы считаем

WikiTrip показывает время в пути, расстояния и цены по 256 тысячам направлений. Все числа на страницах маршрутов вычислены из одного массива данных, а не написаны вручную. Здесь описано, откуда этот массив берется и как из него получается каждая величина на странице.

Откуда данные

Расписание и цены поступают из партнерской системы бронирования. Мы получаем предложения перевозчиков: дату и время вылета, время прилета, номер рейса, авиакомпанию, число пересадок и цену. Данные обновляются ежедневно.

Мы не продаем билеты сами. Переход к покупке ведет в систему бронирования, и с покупки по такой ссылке мы получаем комиссию. На цену для покупателя это не влияет.

Расстояние

Расстояние между городами - это длина ортодромии, кратчайшего пути по поверхности Земли. Считается по формуле гаверсинусов из координат городов. Земля в формуле принимается за сферу, поэтому на длинных маршрутах возможна погрешность до нескольких километров.

Расстояние по ортодромии не равно пути, который проходит самолет: реальная траектория зависит от воздушных коридоров, а на маршруте с пересадкой - еще и от того, через какой аэропорт идет стыковка. Поэтому расчетное время по формуле "расстояние разделить на скорость" всегда меньше фактического.

Время в пути

Время в пути - это фактическая длительность поездки от вылета до прилета. Для прямого рейса в нее входит руление и набор высоты, для рейса с пересадкой - еще и стыковка. Мы не публикуем расчетное время по формуле: оно не совпадает ни с одним реальным рейсом.

Время в таблице расписания указано местное: вылет по времени города отправления, прилет по времени города назначения. Разница часовых поясов названа под таблицей.

Что мы считаем прямым рейсом

Поле "число пересадок" в исходных данных не всегда надежно: встречаются записи с нулем пересадок, длительность которых для беспосадочного перелета физически невозможна. Например, на маршруте Лондон - Москва такие записи давали перелет в 9-20 часов на 2500 километров.

Главная проверка - сравнение записей одного маршрута между собой: беспосадочный рейс не может идти дольше, чем тот же маршрут с пересадкой, потому что пересадка время только добавляет. Дополнительно отбрасываются значения вне физических границ: быстрее 1000 км/ч и медленнее 500 км/ч плюс час на наземные операции.

Записи, не прошедшие проверку, в расчет не идут. Если по маршруту не осталось ни одной подтвержденной записи, страница не утверждает, что прямые рейсы есть.

Обратная проверка тоже работает: отбрасываются рейсы с пересадкой, которые быстрее физически возможного беспосадочного перелета.

Мы намеренно не полагаемся на одну только скорость. Длительность в исходных данных бывает завышена относительно расписания перевозчика, и жесткая граница по скорости отбраковывала настоящие беспосадочные рейсы - например, рейс Аэрофлота Москва - Сочи.

Средние, медианы и перцентили

Среднее время в пути считается по всем рейсам маршрута и разделено по числу пересадок: усреднять прямой рейс вместе с двумя пересадками бессмысленно.

Для цен вместо среднего используется медиана: одно дорогое предложение бизнес-класса сдвигает среднее так, что оно перестает описывать типичную покупку. Медиана - это цена, выше и ниже которой поровну предложений. Десятый перцентиль - цена, ниже которой находится каждое десятое предложение; это нижняя граница, а не типичная цена.

Цены и доля прямых рейсов считаются по вылетам в ближайшие 90 дней. Самый дешевый и самый дорогой месяц берутся из календаря цен на год вперед, начиная со следующего месяца. Периоды разные, поэтому на странице каждое число подписано своим периодом.

Величина не публикуется, если выборка меньше 10 предложений: медиана по трем ценам - не медиана.

Как часто обновляется

Расписание и цены - ежедневно. Средние значения по маршрутам и вычисленные величины - раз в неделю. Дата последнего пересчета указана на странице маршрута рядом с числами. Если величина не пересчитывалась дольше десяти дней, она со страницы убирается.

Чего мы не знаем

В исходных данных нет городов пересадки, поэтому мы не пишем, через какой хаб идет стыковка и сколько она длится. Мы не показываем эту информацию, вместо того чтобы предполагать ее.

Наличие предложения в системе бронирования не гарантирует, что билет доступен к покупке прямо сейчас: цены и места меняются быстрее, чем обновляется наша копия данных. Актуальную цену показывает система бронирования при переходе.

Если вы нашли на сайте число, которое противоречит другому числу на той же странице или расписанию перевозчика, напишите нам через страницу контактов. Такие расхождения мы разбираем.