Наука о данных в реальном мире
Использование машинного обучения для поиска следующего центра выполнения заказов Amazon
Гипотеза: Бразилия. Но где именно?
Где Amazon должна построить свой следующий центр выполнения заказов? Мы можем использовать машинное обучение, чтобы ответить на этот вопрос.
Во-первых, давайте определим бизнес-кейс:
- Одной из основных целей центра выполнения заказов является реализация основного ценностного предложения Amazon: быстрой доставки. Это означает, что важно быть в центре города для клиентов.
- По оценкам, в 2020 году доля Amazon на рынке электронной коммерции в США составит почти 44%, а следующий по величине конкурент составит 7%. Давайте заглянем за пределы США, чтобы раскрыть неиспользованные возможности глобального рынка.
- Давайте выберем из существующих стран Amazon, чтобы использовать инфраструктуру и соответствие нормативным требованиям.
Далее давайте изучим соотношение центров обработки заказов Amazon к населению стран. Чем меньше это соотношение, тем меньше клиентов должен волновать центр и тем быстрее он может доставить товар.
Например, Amazon US имеет текущее соотношение 1 центр выполнения на каждые 3 миллиона человек. Это означает, что 1 центр выполнения заказов в центре района залива Сан-Франциско позволяет Amazon выполнять покупки и доставлять их в течение одного дня.
Глядя на приведенные выше данные, какая международная страна имеет наибольший потенциал роста? Бразилия кажется хорошим выбором: у нее наименьшее общее количество центров, одно из самых больших населенных пунктов, соотношение 1 центр на каждые 105 миллионов человек, и это место, где Amazon недавно объявила о расширении и интересе.
Если предположить, что это правильные факторы, где именно в Бразилии? Мы можем использовать кластеризацию k-средних машинного обучения для определения потенциальных местоположений. Начиная с заключения, вот возможные места.
Вот код для получения результата:
# Import libraries import pandas as pd from sklearn.cluster import KMeans import plotly.graph_objects as go # Load and explore data of world cities from https://simplemaps.com/data/world-cities data = pd.read_csv('Data/worldcities.csv') data.head()
# Find how many cities in Brazil data.loc[data.country == 'Brazil'].count() # Filter data to only have Brazil brazil = data[data.country.isin(['Brazil'])] print(brazil.shape) brazil.head()
# Use k-means to find clusters brazil2 = brazil[['lat', 'lng']] kmeans = KMeans(n_clusters = 10) kmeans.fit(brazil2) y_means = kmeans.predict(brazil2) centers = kmeans.cluster_centers_ # Plot on map fig = go.Figure(data = go.Scattergeo( lon = brazil2['lng'], lat = brazil2['lat'], mode = 'markers', marker = dict( size = 3, opacity = 0.8, reversescale = True, autocolorscale = True, symbol = 'circle', line = dict( width = 1, color = ['rgba(102, 102, 102)'] ), cmin = 0, color = y_means, colorbar_title = "City Clusters" ) )) fig.add_trace(go.Scattergeo( lon = centers[:,1], lat = centers[:,0], mode = 'markers', marker = dict( size = 8, line = dict( width = 1, color = 'orange' ), color = 'orange', ) )) fig.update_layout( title = "Brazil City Clusters and Centroids ", geo = dict( scope = "south america", showland = True, ) ) # Print to new page: fig.write_html('first_figure.html', auto_open=True) fig
Если бы мы увеличили количество кластеров до 25, мы бы получили это:
Чтобы достичь коэффициента центров исполнения наравне с Amazon в США, Amazon в Бразилии потребуется 70 центров. Мы можем добавить в кластеризацию другие факторы, такие как переменная населения.
# Use k-means to find clusters brazil2 = brazil[['lat', 'lng', 'population']] kmeans = KMeans(n_clusters = 70) kmeans.fit(brazil2) y_means = kmeans.predict(brazil2) centers = kmeans.cluster_centers_
Мы получим это:
Следующие шаги:
Теперь мы должны использовать знания предметной области, чтобы лучше понимать демографические данные клиентов, внедрение электронной торговли, инфраструктуру и другие аспекты. Это лишь начальная гипотеза, требующая более глубокого и уточненного анализа. Вы можете увидеть полный код здесь: github.com/allenjiang/mona-lisa-ai.