Наука о данных в реальном мире

Использование машинного обучения для поиска следующего центра выполнения заказов 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.