и посмотреть медиа
Análisis de datos - DA SQL
и посмотреть медиа
Análisis de datos: SQL, Python.
Análisis de datos: SQL, Python.
bot de IA para clonar texto a voz y voz en Telegram. Cree audio utilizando la red neuronal de forma rápida y fácil.
Acerca del análisis de datos: bases de datos, SQL, Python y más para analistas.
Когда выгоднее всего покупать авиабилеты? Есть популярный миф, что покупать билеты задолго до даты вылета выгоднее, потому что потом они начинают резко дорожать. И еще иногда этот миф дополняется тем, что в самый последний момент цена может резко упасть. Чтобы проверить, действительно ли так всё происходит, можно взять датасет Flight Price Prediction и проанализировать его. Здесь собраны 300 000 бронирований билетов за 1.5 месячный промежуток времени с индийского сайта EaseMyTrip. В датасете есть ключевые поля: ▶️Дней до вылета ▶️Цена И вспомогательные: ▶️Название авиакомпании ▶️Flight Code ▶️Город отправления ▶️Время вылета ▶️Кол-во пересадок ▶️Время прибытия ▶️Город назначения ▶️Класс (эконом или бизнес) ▶️Продолжительность полета 🟠Проводить анализ можно на SQL. Основной план - брать по отдельности каждый рейс и внутри него следить за динамикой цены в зависимости от того, как скоро будет вылет. И в конце вывести среднее по всем рейсам и сделать выводы. Но есть одна проблема - явно из датасета вытащить отдельно каждый рейс нельзя. Не поможет даже Flight Code, потому что он может повторяться из рейса в рейс. Поэтому определять где какой рейс можно по совокупности вспомогательных полей. И есть еще одна проблема - в датасете собрано огромное множество самых разных рейсов с разным уровнем цен. Напрямую всё это сравнивать и искать среднее нельзя, поэтому нужна нормализация. Внутри каждого рейса с помощью AVG можно определить базовую цену и считать изменения относительно нее в процентах. 🟠В коде это всё можно записать так: WITH flight_groups AS ( SELECT *, AVG(price) OVER ( PARTITION BY airline, flight, source_city, destination_city, departure_time, arrival_time, class, stops) AS group_avg_price, COUNT(*) OVER ( PARTITION BY airline, flight, source_city, destination_city, departure_time, arrival_time, class, stops) AS group_size FROM flights) по совокупности признаков определяем, где какой рейс, и для каждого выводим среднюю цену для будущей нормализации и кол-во. Затем уже считаем само соотношение, отсекая слишком малые группы: SELECT days_left, AVG(price / group_avg_price) AS n_price, COUNT(*) AS n_obs FROM flight_groups WHERE group_size >= 20 GROUP BY days_left ORDER BY days_left ❗️В итоге получилась таблица, где вывелось кол-во дней до вылета, нормализованная цена и кол-во наблюдений. Каждый наблюдаемый день стат значим, выводится на основе 3000 - 6500 рейсов от 6 авиакомпаний: ▶️В промежутке с 49-ого дня до 18-ого включительно цена очень стабильна и находится примерно на уровне 80-90% от базовой. То есть дисконт составляет 10-20%. ▶️Затем она начинает расти. Дисконт растворяется полностью за 16 дней до вылета, а уже c 14-ого дня цена идет с наценкой аж 30-40%. И такая картина сохраняется вплоть до 4-ого дня. ▶️Потом цена начинает расти еще сильнее, и уже за 2 дня до вылета наценка составляет уже целых 70%. А за 1 день до вылета цена вырастает в 2 раза, то есть наценка уже 100%. То есть миф оказался отчасти правдивым. Цена действительно растет ближе к вылету, но в последний момент за 1 день она не обваливается, а наоборот взлетает вплоть до удвоения. 🟠А более подробно полный цикл анализа реальных данных можно научиться проводить в моем курсе на Stepik.
Открыть канал и посмотреть медиаSolo los usuarios registrados pueden compartir su opinión.
¡Sé el primero en compartir tu experiencia con este recurso!