После обнадеживающих отзывов, полученных из моего последнего поста, я подумал, что продолжу свой путь, взяв на себя гораздо более серьезную задачу (прежде чем вернуться к проекту IBM Staff Attrition): использование науки о данных для формирования бизнес-стратегии. Это то, чего я никогда раньше не пробовал, поэтому я подумал, что было бы полезно попробовать и, надеюсь, чему-то научиться.
Данные, которые я использовал для этого проекта, взяты из конкурса Bike Sharing Demand компании Kaggle:
Поля, содержащиеся в наборе данных, были следующими:
- datetime: почасовая дата + отметка времени.
- сезон:
1 = весна,
2 = лето,
3 = осень,
4 = зима - праздник: считается ли день праздником.
- рабочий день: вне зависимости от того, является ли этот день ни выходным, ни праздником.
- Погода:
1: Ясно, Небольшая облачность, Небольшая облачность, Небольшая облачность;
2: Туман + Облачность, Туман + Разорванные облака, Туман + Несколько облаков, Туман;
3: слабый снег, небольшой дождь + гроза + рассеянные облака, легкий дождь + рассеянные облака
4: сильный дождь + ледяные поддоны + гроза + туман, снег + туман - temp: температура в градусах Цельсия.
- atemp: "похожая" температура в градусах Цельсия.
- влажность: относительная влажность.
- windspeed: скорость ветра.
- случайный: количество начатых прокатов для незарегистрированных пользователей.
- зарегистрировано: количество зарегистрированных пользователей, начавших аренду.
- count: общее количество взятых напрокат
Набор данных был очень ограниченным, поскольку он показывал, как спрос на прокат велосипедов менялся только в зависимости от погодных условий, времени суток и сезонных событий (праздников). В деле не было много информации о бизнес-контексте или бизнес-стратегии Capital Bikeshare. Для этого мне потребовалось провести некоторое исследование, чтобы лучше понять бизнес и более широкий контекст их операций.
Определение цели
Из-за того, что у меня не было большого количества информации для работы, я решил сохранить цель как можно проще - превзойти нашу текущую траекторию. Для этого определенно потребовалось бы гораздо больше, чем просто возможность предсказать, каким будет наш рост, мне также нужно было знать, что лучше всего сделать, чтобы добиться успеха.
Вот структура проекта, над которой я решил работать:
- Предскажите, как будет выглядеть будущий спрос на прокат велосипедов в следующие 3 месяца (как далеко нас продвинет наша текущая стратегия?)
- Изучите факторы, влияющие на спрос (что важно прямо сейчас)
- Скрытые возможности для увеличения спроса (что мы можем сделать для достижения наших целей)
Прогнозирование спроса
Чтобы знать, какова была моя цель, мне нужно было знать, куда меня вела моя текущая траектория. Для этого я решил взглянуть на библиотеку Prophet от Facebook, которая предназначена для прогнозирования временных рядов и поддерживает R и Python.
Прежде чем я продолжу, я определенно хотел бы поблагодарить Хосе Роберто Аяла С. за его прекрасную и вдохновляющую статью, которая, безусловно, была полезным ресурсом в представлении мне библиотеки Пророка Facebook. Если вы хотите узнать больше о библиотеке Prophet в Facebook, перейдите по этой ссылке:
Прежде чем я мог делать какие-либо прогнозы с помощью набора данных, мне нужно было подготовить данные, чтобы они соответствовали моим целям и, что не менее важно, были совместимы с библиотекой Пророка Facebook. Вот как я создал набор данных, который использовал:
Следующее, что мне нужно было сделать, это разделить данные для обучения, проверки, тестирования и настройки:
Начать работу с Prophet было очень легко, я начал работать с несколькими строками кода:
Прогнозируемое количество арендованных автомобилей на период проверки было 188186, но на самом деле оно должно было быть ближе к 208939. Прогноз неплохой (разница всего 10,45%). Я также должен отметить, что в модели использовались значения, предложенные Хосе. Следующее, что я решил сделать, это использовать Prophet, чтобы узнать, каким будет мой прогноз на период с 8 ноября 2012 года по 19 декабря 2012 года (период в 31 день).
Общий объем проекта на этот период должен был составить 240016.
Более глубокое погружение
Узнав, какой была моя траектория, мне нужно знать, что я могу сделать, чтобы ее изменить. Первым делом я начал с корреляционной матрицы. Я подумал, что было бы полезно посмотреть, какие значения влияют на количество прокатов велосипедов за определенный период. Вот что я придумал:
Матрица показала, что количество аренды сильно коррелирует с количеством случайных и зарегистрированных клиентов. Как вы понимаете, я был совершенно не удовлетворен своими первоначальными выводами. Поэтому я решил посмотреть, что еще говорит диаграмма. Я заметил, что поля «temp», «atemp» и «влажность» имеют значительную степень корреляции с полем счетчика. Я также обнаружил, что оценка корреляции «погоды» и «сезона» также была заметной.
Хотя я думал, что эти открытия были полезными, мне нужно было знать больше. Мне нужно было узнать, есть ли что-нибудь, что я могу использовать в своих интересах. Манипуляции с погодой определенно недопустимы, к тому же прогнозирование погоды само по себе является проблемой.
Я решил использовать другой подход к обнаружению важных переменных, который включал определение важности характеристик набора данных:
Самой важной особенностью оказалась функция «праздник». Я нашел это очень удивительным, но также весьма полезным. Праздники не обязательно являются чем-то, чем можно манипулировать, но их можно предвидеть… и планировать.
Затем я решил исследовать взаимосвязь между прокатом велосипедов и отпуском:
Было ясно, что праздники определенно имеют причинно-следственную связь с количеством арендованных квартир, поэтому я решил выяснить, какие праздники оказали наиболее значительное (и положительное) влияние. Рост арендной платы отмечался праздниками: День независимости, День ветеранов, День труда и День Колумба. Стоит отметить, что в День Колумба арендная плата увеличилась на 35,93%, что является самым высоким приростом из четырех.
Обнаружив это, я понял, что получил первый кусок головоломки.
Собираем все вместе
Для этого проекта я определю бизнес-стратегию как принятые решения и действия, предпринятые для достижения долгосрочных целей компании.
Джонсон и Скоулз определяют стратегию как:
«Направление и масштабы организации в долгосрочной перспективе: что обеспечивает преимущества для организации за счет конфигурации ресурсов в меняющейся среде, чтобы удовлетворить потребности рынков и оправдать ожидания заинтересованных сторон».
Размышляя о том, как я могу использовать науку о данных для формирования бизнес-стратегии, я подумал о том, чтобы взглянуть на разные уровни бизнес-стратегии:
- Корпоративная стратегия: рынки, на которые компания должна выйти и конкурировать, чтобы позиционировать себя для достижения своих долгосрочных целей.
- Бизнес-стратегия: конкретные цели и действия, которые компания должна предпринять для реализации своей корпоративной стратегии.
- Функциональная стратегия: согласование повседневных операций, позволяющее организации достигать своих стратегических целей.
Я думал, что при таком подходе у меня будет перспектива, которая позволит мне как можно проще проиллюстрировать связь между результатами процесса Data Science и разработкой бизнес-стратегии.
Теперь, когда я знал, что на аренду действительно влияют праздники (особенно День Колумба), у меня была отправная точка для разработки бизнес-стратегии. Я подумал, что было бы полезно разработать бизнес-стратегию в связи с праздниками, которая больше всего повлияет на аренду. Я также подумал, что было бы полезно предсказать, как изменится прогнозируемое количество арендных плат после реализации стратегии, которую я придумал.
Первый вопрос, который я задал себе, - Что делать в День Колумба в Вашингтоне, округ Колумбия? В своем исследовании я обнаружил, что в Вашингтоне, округ Колумбия, есть немало чем заняться и куда пойти в День Колумба, в том числе:
- Экскурсии по саду Белого дома
- Фестиваль еды Taste of D.C.
- Мемориальный фонтан Христофора Колумба
- Маунт-Вернон Джорджа Вашингтона
- Обзорная автобусная экскурсия Hop On Hop Off
Я также провел небольшое исследование Capital Bikeshare, чтобы узнать больше об услугах, которые они предлагают, чтобы лучше понять, с чем мне приходилось работать. Мне было очень приятно узнать, что у них довольно много следов и что у них есть целый ряд льгот, доступных для их клиентов, в первую очередь скидки, доступные для клиентов Capital Bikeshare.
Тогда у меня возникла идея. Я подумал: «А что, если бы мог быть комплексный тур по столице, включающий посещение небольшого количества этих мест?» Я подумал, что это определенно стоит изучить. Я также подумал, что было бы разумно сделать это семейным делом и ввести групповые тарифы, чтобы сделать продукт более привлекательным.
Это потребует создания нового опыта за счет использования существующих партнерских отношений, а также, возможно, развития новых отношений с другими предприятиями, чтобы мы могли привлечь новых клиентов. Мне это не пришло в голову, когда я впервые подумал об этом, но вполне возможно, что часть тех клиентов, которые были приобретены через «туристический сервис» (так я сейчас это называю), могут стать постоянными клиентами. .
Используя то, что мы смогли обнаружить с помощью предоставленных нам данных, теперь у нас есть строительные блоки нашей новой бизнес-стратегии.
Последние мысли
Я очень надеюсь, что сегодняшняя запись в блоге была полезной. Как обычно, я прошу, если у вас есть какие-либо мысли или комментарии к этой статье, поделитесь ими со мной. Если у вас есть идеи для будущих публикаций в блоге, пожалуйста, поделитесь ими. Я ни в коем случае не являюсь экспертом в этом вопросе, но мне хотелось бы быть таким, чтобы я принимал всю возможную помощь.
Для дальнейшего изучения
Другие ядра Kaggle, созданные с использованием этих данных:
Вот ссылка на системные данные Capital Bikeshare. В зависимости от того, чем они поделились, на самом деле может быть возможно использовать их данные для планирования туров ко Дню Колумба и принятия решения о том, как следует реализовать бизнес-план.
Выбор функций в Python:
Если вы похожи на меня и в настоящее время развиваете свою деловую хватку, вы можете узнать о преимуществах расширения линейки продуктов здесь:
Что дальше?
В моем следующем посте, я думаю, я рассмотрю Построение системы генерации естественного языка. Все мои посты до сих пор включали в себя представление сообщения пользователю того или иного вида, но я чувствую необходимость улучшить способ, которым это делается. Это будет моим следующим вызовом.
Увидимся в следующий раз