Аналитический проект из ad-hoc запросов к базе данных с данными об авиаперевозках. Полное описание таблиц, связей и типов данных БД доступно по ссылке https://edu.postgrespro.ru/bookings.pdf Бэкап базы для проверки запросов прилагается.
Cписок задач:
- Вывести название самолетов, которые имеют менее 50 посадочных мест?
- Вывести процентное изменение ежемесячной суммы бронирования билетов, округленной до сотых.
- Вывести названия самолетов не имеющих бизнес - класс. Решение должно быть через функцию array_agg.
- Вывести количество рейсов со статусом "Вылетел"/"Departed". Используйте функцию Filter с условием для лучшей читаемости кода запроса к БД.
- Найти процентное соотношение перелетов по маршрутам от общего количества перелетов. Выведите в результат названия аэропортов и процентное отношение. Решение должно быть через оконную функцию.
- Выведите количество пассажиров по каждому коду сотового оператора, если учесть, что код оператора - это три символа после +7
- Классифицируйте финансовые обороты (сумма стоимости перелетов) по маршрутам: До 50 млн - low От 50 млн включительно до 150 млн - middle От 150 млн включительно - high Выведите в результат количество маршрутов в каждом полученном классе
- Вычислите медиану стоимости перелетов, медиану размера бронирования и отношение медианы бронирования к медиане стоимости перелетов, округленной до сотых.
- Подсчитайте разность между самым ранним и поздним перелетом для каждого пассажира с точностью до минут. Запрос должен выводить полное имя пассажира, его id и разность между самым ранним и поздним перелетами до минут.
- Вычислите метрику ARPU (average revenue per user) для всех данных в наборе, а затем используйте её для нахождения метрики LTV (lifetime value). При вычислении customer lifetime следует полагаться на даты фактических вылетов/прилетов, а не запланированных.Если результат будет дробный с 3 и более знаками после запятой, округлите его до сотых.
Пояснения:
Перелет, рейс - разовое перемещение самолета из аэропорта А в аэропорт Б. Маршрут - формируется двумя аэропортами А и Б. При этом А - Б и Б - А - это разные маршруты.