Выбор нового места для открытия нового ресторана в Пуне, Индия

Введение

Задний план

Будучи одним из центров информационных технологий в Индии, Пуна является одним из самых быстрорастущих городов Индии с растущим населением в 31,2 лакха (2011 г.). Это люди со всей страны и из-за рубежа, приезжающие в Пуну с разнообразными вкусами еды. Этот проект ориентирован на рестораны, фудтраки и владельцев франшиз, желающих открыть и/или расширить свой бизнес. Конечно, как и многие деловые решения, открытие нового ресторана требует серьезного рассмотрения и намного сложнее, чем кажется. В частности, расположение торговой точки является одним из наиболее важных решений, от которого зависит, будет ли бизнес успешным или неудачным.

Проблема

Целью этого завершающего проекта является анализ и выбор лучших мест в городе Пуна, Индия, для открытия ресторана. Используя методологию науки о данных и методы машинного обучения, такие как кластеризация, этот проект направлен на предоставление решений для ответа на бизнес-вопрос: в городе Пуна, если бизнесмен хочет открыть/расширить ресторан/франшизу, где бы вы порекомендовали им открыть Это?

Мой интерес

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

2. Сбор и очистка данных

Источники данных

Нам потребуется список областей в Пуне. Координаты этих областей (широта и долгота). Наконец, нам потребуются данные о местах, относящиеся ко всем категориям ресторанов. Это будет полезно для поиска сегментов в городе, которые содержат подходящую концентрацию точек питания/ресторанов.

Извлечение данных

На веб-странице MakeMyTrip в алфавитном порядке перечислены все районы города Пуна. Мы будем использовать методы очистки веб-страниц для извлечения данных с веб-страницы с помощью запросов Python и пакетов «beautifulsoup». Затем мы получим географические координаты окрестностей с помощью пакета Python Geocoder, который даст нам координаты широты и долготы окрестностей.

После этого мы воспользуемся API Foursquare для получения данных о местах проведения мероприятий для этих районов. Foursquare имеет одну из крупнейших баз данных, насчитывающую более 105 миллионов мест, и используется более чем 125 000 разработчиков. API Foursquare предоставит множество категорий данных о местах проведения, нас особенно интересует категория ресторанов, которая поможет нам решить поставленную бизнес-задачу.

Это проект, который будет использовать многие навыки работы с данными, от веб-скрапинга (веб-страница MakeMyTrip), работы с API (Foursquare), очистки данных, обработки данных до машинного обучения (кластеризация K-средних) и визуализации карт (Folium). . В следующем разделе мы представим раздел «Методология», в котором мы обсудим шаги, предпринятые в этом проекте, проведенный нами анализ данных и использованную технику машинного обучения.

3. Методология

Я начал с того, как получить список районов/районов в Пуне, Индия. Это стало возможным благодаря извлечению списка районов со страницы MakeMyTrip («https://www.makemytrip.com/hotels/hotels-pune-area-list.html»).

Я выполнил веб-скрапинг, используя библиотеку «beautifulsoup» в Python. Данные не были в табличном формате; поэтому извлечение было выполнено с использованием функции, которая выполняет итерацию по ссылкам области.

Первоначальная очистка извлекает только список областей в Пуне. Затем мне пришлось получить их широту и долготу, используя API Foursquare, чтобы получить список ресторанов рядом с этими районами. Когда я пытался использовать пакет Geopy, он работал только с перебоями, что заставило меня скомпилировать CSV-файл, состоящий из областей и их координат. Собрав все эти координаты, я визуализировал карту Пуны с помощью пакета Folium, чтобы проверить, верны ли координаты или нет.

Затем я использовал API Foursquare, чтобы получить список лучших ресторанов в радиусе 500 метров. Мне пришлось создать учетную запись разработчика Foursquare, чтобы получить идентификатор учетной записи и ключ API для извлечения данных. Из базы данных Foursquare я теперь мог получать названия, категории, широту и долготу мест проведения. Имея эти данные на руках, я также мог проверить, сколько уникальных категорий я могу получить от этих мест. Затем я проанализировал каждую область, сгруппировав строки по областям и взяв среднее значение частоты появления каждой категории мест проведения. Это был подготовительный этап к кластеризации, которая будет выполнена позже. Я специально использовал слово «ресторан» в качестве запроса для поиска в определенной области. Концентрация определенного типа ресторанов в какой-либо части города означает, что рестораны/заведения общественного питания, относящиеся к категории, перегружены в этом регионе.

В качестве последнего шага я выполнил кластеризацию с использованием k-средних. Алгоритм кластеризации K-средних идентифицирует k центроидов, а затем распределяет каждую точку данных в ближайший кластер, сохраняя при этом центроиды как можно меньше. Это один из самых простых и популярных алгоритмов машинного обучения без учителя, и он также отлично подходит для этого проекта. Я сгруппировал районы в Пуне в 3 кластера в зависимости от их частоты появления для категорий ресторанов. По результатам (концентрации кластеров) я смогу порекомендовать идеальное место для открытия ресторанной точки.

4. Результаты

Результаты кластеризации k-средних показывают, что мы можем разделить районы на 3 кластера на основе частоты появления слова «Ресторан»:

· Кластер 0: районы с большим количеством индийских ресторанов.

· Кластер 1: Районы с большим количеством закусочных/завтраков.

· Кластер 2: районы с высокой концентрацией фудтраков/фуд-кортов/фастфуда

Результаты кластеризации визуализируются на карте ниже:

· Кластер 0: Красный цвет

· Кластер 1: Фиолетовый цвет

· Кластер 2: зеленый цвет

5. Обсуждение

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

Этот проект учитывает только один фактор: появление типа ресторана в каждом районе. Есть много других факторов, которые следует принимать во внимание, таких как распределение населения, доход жителей в этом районе и т. д. Эти факторы также играют важную роль в выборе места открытия. Поскольку этот проект был выполнен в короткие сроки и из-за отсутствия наборов данных, учесть эти факторы было невозможно. Будущие исследования могут проводиться на основе этих факторов.

6. Заключение

В этом проекте мы прошли процесс выявления бизнес-проблемы, определения необходимых данных, извлечения и подготовки данных, выполнения машинного обучения путем кластеризации данных в 3 кластера на основе их сходства и, наконец, предоставления рекомендаций соответствующим заинтересованным сторонам. т.е. владелец ресторана/франшизы относительно лучших мест для открытия новой торговой точки. Чтобы ответить на бизнес-вопрос, который был поднят во вводной части, ответ, предложенный этим проектом, таков: районы южной и юго-восточной частей города являются наиболее предпочтительными местами для открытия новой торговой точки. Результаты этого проекта помогут соответствующим заинтересованным сторонам извлечь выгоду из возможностей в местах с высоким потенциалом, избегая при этом переполненных зон в своих решениях.

7. Ссылки

· Список районов в Пуне:

https://www.makemytrip.com/hotels/hotels-pune-area-list.html

· Документация для разработчиков Foursquare:

https://developer.foursquare.com/docs

· Код и документы для проекта можно найти здесь:

https://github.com/VatsalUnadkat/IBM_Data_Science_Capstone_Project