Segmentace zákazníků a produktů

Machine Learning for Marketing in Python

Karolis Urbonas

Head of Analytics & Science, Amazon

Kroky segmentace pomocí K-means

Segmentace pomocí K-means (pro k shluků):

from sklearn.cluster import KMeans

kmeans=KMeans(n_clusters=k)
kmeans.fit(wholesale_scaled_df)
wholesale_kmeans4 = wholesale.assign(segment = kmeans.labels_)
Machine Learning for Marketing in Python

Kroky segmentace pomocí NMF

Segmentace pomocí NMF (počet shluků k):

from sklearn.decomposition import NMF
nmf = NMF(k)
nmf.fit(wholesale)
components = pd.DataFrame(nmf.components_, columns=wholesale.columns)

Extrakce přiřazení segmentů:

segment_weights = pd.DataFrame(nmf.transform(wholesale, columns=components.index)
segment_weights.index = wholesale.index
wholesale_nmf = wholesale.assign(segment = segment_weights.idxmax(axis=1))
Machine Learning for Marketing in Python

Jak inicializovat počet segmentů?

  • K-means i NMF vyžadují nastavení počtu shluků (k)
  • Dva způsoby definice k: 1) Matematicky, 2) Testování a učení
  • Prozkoumáme matematickou metodu loketního kritéria pro hrubý odhad
Machine Learning for Marketing in Python

Metoda loketního kritéria

  • Iterujte přes různé hodnoty k
  • Pro každou hodnotu spusťte shlukování na stejných datech
  • Vypočítejte součet čtverců chyb (SSE) pro každou hodnotu
  • Vyneste SSE proti k a identifikujte „loket" – klesající přírůstky ve snižování chyby
Machine Learning for Marketing in Python

Výpočet součtu čtverců chyb a vizualizace výsledků

sse = {}
for k in range(1, 11):
    kmeans=KMeans(n_clusters=k, random_state=333)
    kmeans.fit(wholesale_scaled_df)
    sse[k] = kmeans.inertia_
plt.title('Elbow criterion method chart')
sns.pointplot(x=list(sse.keys()), y=list(sse.values()))
plt.show()
Machine Learning for Marketing in Python

Určení optimálního počtu segmentů

Metoda loketního kritéria

Machine Learning for Marketing in Python

Metoda testování a učení

  • Nejprve matematicky určete optimální počet segmentů
  • Sestavte segmentaci s více hodnotami okolo optimálního k
  • Prozkoumejte výsledky a vyberte ten s největší obchodní relevancí (Lze segmenty pojmenovat? Jsou nejednoznačné nebo se překrývají?)
Machine Learning for Marketing in Python

Vytvořme zákaznické segmenty!

Machine Learning for Marketing in Python

Preparing Video For Download...