Ürün/SKU Segmentasyonu 6

Trendify Analytics
TrendifyAnalytics
Published in
11 min readFeb 8, 2022

TRENDIFY SEGMENTASYON ÇÖZÜMLERİ

11. Kümeleme Problemlerinde değişken seçiminde dikkat edilmesi gereken unsurlar nelerdir?

Ürün segmentasyon sürecinde doğru değişken seçimi büyük önem taşımaktadır. Doğru değişken seçimi ile ürün segmentasyonunda en iyi modellemeyi yapabilmek ve en mantıklı sonuçlara ulaşmak arasında doğru orantılı bir ilişki vardır. Birbiri ile ilişkili değişkenler, oluşturulan segmentasyon modelini yanıltmaya yatkındır. Birbiriyle doğru orantılı özellikleri bulmak ve bunları dışarıda bırakmak hem modelin daha hızlı çalışmasına hem depolamadan tasarrufa hem de modelin daha iyi kümeler oluşturmasına yarar.

Değişken seçimi için supervised learning(denetimli öğrenme) ile unsupervised learning(denetimsiz öğrenme) arasında farklılıklar bulunmaktadır. Supervised learning etiketlenmiş veri ile yapıldığı için değişken seçimi de genellikle girdi verileriyle hedef veri arasında ki ilişki incelenir ve o değişkenin gerekli olup olmadığına bu ilişkiye bakılarak karar verilir. Unsupervised learning’de hedef veri olmadığı için değişkenlerin kendi arasındaki korelasyonuna bakarak değişken seçimi yapılır. Şimdi de unsupervised learning yöntemlerinde değişkenler arası korelasyon ve değişken seçimi yöntemlerini inceleyeceğiz.

Değişkenler arası korelasyon

Değişkenler arası korelasyonu anlayabilmek için veride ki her değişkenin dağılımlarının iyice bilinmesi gerekir. Bilinen bu dağılımlar arasında ilişki olup olmadığını anlamak için ise bazı istatistiksel ölçüler kullanılır. Bunlar varyans, standart sapma, kovaryans ve pearson correlation coefficient’dır.

Varyans, bir veri kümesindeki değişkenliğin veya yayılımın bir ölçüsüdür. Bir değişkenin varyansını hesaplamak için aşağıdaki formülü kullanırız. X veride ki her bir noktanın değerini, μ ortalamayı, N ise veride ki eleman sayısını ifade eder. Varyans sayesinde verinin ne ölçüde yayıldığı anlaşılır. Standart sapma ise varyansın kare köküdür. Standard sapma sayesinde verinin kendi ölçeğinde ki dağılımına hakim olunur. Standart sapma veya varyans değerlerinden bir tanesinin 0 veya 0 yakın bir değer olması değişkenin pek fazla değişkenlik göstermediğini ve çok fazla aynı veya birbirine yakın değer içerdiğini gösterir. Bu durumda bu değişkeni çıkarmak mantıklı olacaktır. Çünkü değişkenliği az olan değerler modele olumlu anlamda bir katkı vermezken ayrıca modelde gereksiz yer kaplayarak model hacmini büyütürler. Bu da zamandan kayıp anlamına gelmektedir.

(Şekil-1) Variance Formülü

Kovaryans, bir değişkenin ortalamasından sapma fonksiyonunun diğer fonksiyonun ortalamasından sapmasıyla ne ölçüde eşleştiğini gösteren nicel bir hesaplamadır. Bir diğer i ifadeyle kovaryans iki değişken arasındaki doğrusal ilişkinin değişkenliğini gösteren bir ölçüttür. Değişkenler arası kovaryansı hesaplamak için aşağıdaki formülü kullanılır. Burada x ve y iki farklı değişkenin noktalarını ifade eder. Sonucun pozitif olması değişkenler arasında doğrusal bir ilişkinin olduğunu, negatif olması ise ters ilişkinin olduğunu, 0 olması ise ilişkinin olmadığını gösterir. Gerçek hayat verilerinde 0 sonucuyla pek karşılaşılmaz çünkü nerdeyse her şey çok az da olsa birbiriyle ilişkilidir.

Şekil2: Covariance Formülü

Yüksek kovaryans, güçlü bir ilişki olduğu anlamına gelmez. Çok farklı ölçeklere sahip iki değişkene sahip olabilirsiniz, burada küçük ölçekli özellikteki küçük bir değişiklik, ilişki nispeten mütevazı olsa bile, büyük ölçekli özellikte büyük bir değişikliğe yol açar. İki özellik arasındaki kovaryans mutlak değeri 1 ise bunlardan birini kaldırabilirsiniz. Eğer mutlak değer kovaryans 1 den farklı ise değişkenlerden birini dışarıda bırakmaktansa ikisini birden modelde tutmak daha iyidir.

Hem korelasyon hem de kovaryans, iki değişken arasındaki ilişkiyi ve bağımlılığı gösterir.

  • Kovaryans, değişkenlere bir işlev uygulandığında değişkenler arasındaki doğrusal ilişkinin yönünü gösterir.
  • Aksine korelasyon, iki değişken arasındaki doğrusal ilişkinin hem gücünü hem de yönünü ölçer.

Basit bir ifadeyle, korelasyon kovaryansın bir fonksiyonudur. İkisini birbirinden ayıran şey, korelasyon değerleri varken kovaryans değerlerinin standardize edilmemesidir. İki değişkenin korelasyon katsayısı, bu değişkenlerin kovaryans değerlerinin verilen değerlerin standart sapmalarının çarpımına bölünmesiyle elde edilebilir. Yazının devam eden bölümünde örnek olması amacıyla korelasyon türlerinden olan Pearson Correlation Coefficient’ı anlatacağız.

Pearson Correlation Coefficient, iki değişkenin covariance metriklerine standart sapmalarının bölünmesiyle elde edilir. İki değişken arasında herhangi bir istatistiksel test yapıldığında, analiz yapan kişinin iki değişken arasındaki ilişkinin ne kadar güçlü olduğunu bilmesi için korelasyon katsayısının değerini hesaplaması her zaman gereklidir. Bu sayede iki farklı değişken arasında ki ilişkinin ne derecede ve ne yönde (pozitif veya negatif) olduğuna ulaşabiliriz. -1, iki değişken arasında mükemmel bir negatif doğrusal korelasyonu gösterir. 0, iki değişken arasında doğrusal bir ilişki olmadığını gösterir. 1, iki değişken arasında mükemmel bir pozitif doğrusal korelasyonu gösterir.

Şekil3: Pearson Correlation Coefficient Formülü

Değişkenler arasında gözlenen pearson correlation coefficienta göre değer belli bir eşik değerinden yüksek ise değişkenlerden birini dışarıda bırakarak modeli daha iyi eğitme ve veri boyutunu küçültmeye gidilebilir.

Değişkenlerin PCA ile kombinlenmesi

Değişkenler arası korelasyonun yanı sıra eldeki var olan değişkenlerin birbiriyle kombinlenmesi veri daha iyi kullanabilmek adına önemlidir. Boyut indirgeme işlemleri yeni boyutta özelliklerin çıkarılması ve veriyi küçültmeye hem de veri de yakalanamayan patternleri bulmaya yarar.

Principal Component Analysis(PCA), boyut indirgeme metotlarından bir tanesidir. PCA daha kolay görselleştirilebilen ve analiz edilebilen daha küçük bir “özet indeksler” seti aracılığıyla büyük veri tablolarındaki bilgi içeriğini özetlemenize izin veren istatistiksel bir prosedürdür. Genel olarak boyut indirgeme veriyi daha konsantre ve açıklanabilir hale getirmek için kullanılır. Değişkenlerin sayısı azaltılmak istendiğinde ancak tamamen kaldırılacak değişkenler belirlenemediğinde ve model de over fittinge sebep olmamak için PCA kullanılmaktadır.

PCA ile sonuçların değerlendirilmesi için ilgili yazıyı okuyabilirsiniz: https://trendify.com.tr/article/product-sku-segmentation-4 section: Dimensionality Reduction

Şimdi PCA’in nasıl çalıştığını daha kolay anlamak için iki boyutlu (özellikli) bir grafik üzerinden örnek verelim. Aşağıda ki grafikte “Feature 1” ve “Feature 2” özelliklerine sahip 2 boyutlu basit bir veri gösterilmektedir.

Şekil4: İki veri sınıflandırma örneği

Burada PCA algoritması, Singular Value Decomposition (SVD) yardımıyla veri noktaları ile bunların en uygun çizgi (mavi renkli çizgi) üzerindeki iz düşümleri arasındaki mesafeyi en aza indirir. SVD algoritmasının buradaki temel işlevi ise, vektörleri birbirinin ortogonalleri cinsinden ifade ederek decompose işlemi gerçekleştirir ve yeni boyutta vektörler oluşmasına yardım eder. Bu oluşan vektörleri kullanarak en uygun çizgiyi tüm noktlara olan uzaklıkları toplamı minimum olacak şekilde belirler. Grafiğe bakacak olursak “Feature 1” ve “Feature 2” ’nin veri noktalarının ortalaması yaklaşık A noktası civarında olacaktır. PCA ayrıca en uygun çizgi üzerindeki yansıtılan noktaların A noktasından uzaklığını da maksimize eder.

Şekil5: Fit line ile iki veri kümesi

Maximize etme işlemini göstermek için elimizde ki noktaları ve fit çizgisini bir orijin noktasına koyarsak d1 mesafesi ilk noktanın iz düşümünün orijine yani A noktasına olan uzaklığını gösterir. Benzer şekilde d2, d3, d4, d5, d6 diğer noktaların iz düşümlerinin orijinden uzaklıkları olacaktır. En uygun çizgi ise bu uzaklıkların maksimum mesafe karelerinin toplamına eşit olacaktır.

Şekil6: Originde Fit Line ile iki beri kümesi

En uygun fit çizgisi belirlendikten sonra bu çizgiye ortogonal olarak dik olan bir çizgi çekerek yeni boyutlar oluşturulmuş olur.

Şekil7: İki boyutlu veri için PCA Grafiği

PCA’in kullanımına bir örnek vermek gerekirse, 20 özellikten oluşan bir veri setinde ilk iki özellik verinin %60 varyansını açıklıyorsa ve bundan sonra ki 5 özellik %35’ini açıklıyorsa toplamda 7 özellik ile verinin %95 varyansını açıklamış oluruz. Bu demektir geriye kalan 13 özellik %5 varyansı ifade etmektedir. Bu 7 özelliği kullanarak oluşturulacak bir boyut indirgeme yöntemi verinin çoğunun ifade edilmesini sağlar. Buna ek olarak birbiri ile korelasyonu fazla olan değişkenlerden birinin çıkarılması da boyut indirgemenin oluşturulmasına katkı sağlayacaktır. Çıkarılan özellikler sayesinde de depolamadan tasarruf sağlanır. Ayrıca gereksiz özelliklerden kurtularak modelin daha iyi çalışmasına katkı sağlanır.

Çoklu Küme Değişken Seçimi (Multi-Cluster Feature Selection) (MCFS)

Unsupervised learning için yapılan değişken seçimi yöntemlerinde etiketlenmiş veri olmadığı için genellikle faydasız olabilecek değişkenleri kaldırmaya yönelik çalışılır. Bu bölümde unsupervised learning değişken seçim yöntemlerinden biri olan Multi-Cluster Feature Selection (MCFS) yöntemini ve çalışma mantığını inceleyeceğiz.

MCFS üç adımdan oluşur:

  1. Spektral analiz
  2. Sparse coefficient learning
  3. Değişken Seçimi
Şekil8: Spectral Analiz Stepleri (Source: https://developer.nvidia.com/discover/cluster-analysis)

İlk adımda, verilerin küme yapısını tespit etmek için veri kümesine spektral analiz uygulanır.

Daha sonra, ikinci adımda, verilerin embedding clustering yapısı bilindiğinden, Laplacian matrisinin ilk k eigenvectorleri aracılığıyla, MCFS, değişkenlerin önemini düzenlemeli bir regresyon modeli ile ölçer. Üçüncü adımda, regresyon problemini çözdükten sonra, MCFS, regresyon probleminden elde edilen katsayıların en yüksek mutlak değerlerine dayalı olarak istenilen sayıda değişken seçer.

Spektral Analiz eigen value ve laplacian vektörü kullanılarak yapılır. Aşağıda ki resimlerde Laplacian formülünü ve örnek bir Laplacian matrisinin üretilişi gösterilmiştir. Laplacian grafiği, L = D — A matrisidir; A, adjacency matrisidir ve D, diagonal degree köşegen matrisidir. Degree matrisini üretmek için her veri noktasının bağlantı sayısına bakılır ve bu bağlantı sayıları degree matrisine köşegen olarak yazılır.

Şekil9: Laplacian Fonksiyonu:Source: (https://en.wikipediam.org/wiki/Laplacian_matrix)

Eigen value bulmak için |A — Iλ| = 0 formulü kullanılmaktadır. A burada nxn bir matrisi, I birim matrisi, λ ise eigen value ifade etmektedir. Eigen value bu denklemden elde edildikten sonra eigen vektörler elde edilir. Laplacian matrisi kulllanarak eigen vektörü elde edebilmek için A matrisi yerine Laplacian matrisini kullanabiliriz. Son adımda elde edilen bu eigen vektörler kullanarak değişkenler arası sıralama yapılır. Bu konuyla ilgili detaylı bilgi için https://en.wikipediam.org/wiki/Laplacian_matrix sayfasını ziyaret edebilirsiniz. MCFS metodunun önerildiği makale için https://dl.acm.org/doi/pdf/10.1145/1835804.1835848?casa_token=mvmJQJCmixsAAAAA:-9_Y_A3Rr8XFzZMEgsg8yBy2G3rAz5RFvrb9qA4zzh51S7CkBJUZgcmkZ5YpXv-Dh5c7fsZQx-2DpA kontrol edebilirsiniz.

Bu yazıda unsupervised öğrenme tekniklerinden birisi olan kümeleme yönteminde değişken seçimi yaparken dikkat edilmesi gereken unsurları açıkladık. Değişkenler arası korelasyona göre özellik seçimi, boyut indirgeme ve değişken seçimi yöntemlerini açıkladık. Devam eden yazıda çıkan sonuçları nasıl yorumlanmalı bunları anlatacağız.

12. Sonuçlar nasıl yorumlanmalı?

Algoritmaların performans metriklerine göre seçimi yapıldıktan sonra algoritma sonuçlarını yorumlama kısmı özellikle unsupervised modellerde oldukça önemli olmaktadır. Çünkü kişilerin kümeleme sonuçlarını yorumlaması, model kurmak kadar zorlayıcı olabilmektedir.

Kümeleme sonuçlarının yorumlanması için değişkenlerin küme bazında dağılımlarının değerlendirilmesi ve öne çıkan yani diğer kümelere göre belirgin olarak az ya da fazla olan değişkenlerin tespit edilmesi önemlidir. Değişkenlerin küme bazında dağılımlarını belirlemek için Trendify segmentasyon algoritmasının kendine has bazı değerlendirme kuralları bulunmaktadır. Böylece Trendify kümeleme sonuçlarında otomatik olarak kümelerin ne anlam ifade ettiği belirlenip, iş süreçlerine direkt entegrasyon sağlanmış olur.

Profillemenin yapılmasında ve sonuçların yorumlanmasında 2 kural önemli olmaktadır;

  • Genel ortalamadan ayrışma

Her özellik için ortalamadan sapma kontrol edilirken belirlenmiş eşik değerleri baz alınır. Her değişkenler için eşik değerinden fazla olan ortalama değerleri ve eşik değerinin negatifinden az olan ortalama değerleri o küme için önem arz etmektedir. Böylece eşik değere göre o değişkenin o kümeyi temsil edip etmediği belirlenmektedir.

Şekil 11: Threshold ile General Average Decomposition
  • Coefficient of Variation Ratio

Küme bazında her değişken için Coefficient of Variation oranı dağılıma göre belirlenen eşik değerinden az olmalı. Çünkü bu oran eşik değerinden daha fazla olduğunda o değişken seçilen kümeyi iyi ifade edemez. Yani o özelliğin dağılımı genel küme ortalamasıyla uyumlu bir şekilde arttığında değişken kümeyi daha iyi ifade eder. Bu düşünceyle Coefficient of Variation değişken dağılımlarını değerlendirme de önemlilik arz eder.

Şekil 12: Threshold ile Coefficient of Variation Ratio Formülü
  • Jaccard Index

Jaccard benzerlik katsayısı olarak da bilinen Jaccard indexi, örnek kümelerinin benzerliğini ve çeşitliliğini ölçmek için kullanılan bir istatistiktir. Paul Jaccard tarafından geliştirilmiştir. Jaccard katsayısı, sonlu örnek kümeleri arasındaki benzerliği ölçer ve kesişimin boyutunun örnek kümelerinin birleşiminin boyutuna bölümü olarak tanımlanır.

Şekil 13: Jaccard Similarity Index Formülü

Kümeleme algoritmalarında yöntemin ne kadar stabil çalıştığını bulmak için Jaccard Indexten faydalanılabilir. Algoritmalar iteratif olarak çalıştırıldığında elde edilen kümeleme sonuçları birbiriyle karşılaştırılır. Karşılaştırma için kümelerin her seferinde birbirine ne kadar benzediğini bulmak amacıyla da Jaccard index kullanılır. Bu sayede her deneme de birbirine yakın sonuçlar üreten algoritmalar o veri için daha stabildir sonucu çıkarılır.

  • Örnek Veri ile Küme Profil Sonuçlarının Yorumlanması

Bu bölümde örnek tekstil perakendesindeki ürünlerin verileri kullanılarak, Trendify Segmentasyon ile çözümlenmiştir. Ortaya çıkan profilleme sonuçları bu bölümde incelenmiştir. Veriye https://github.com/Trendify-Analytics/Demo-Data adresinden ulaşabilirsiniz.

Veri Seti, tekstil perakendesinde yaklaşık 100 mağazası olan ve aynı zamanda kendi web sitesinden e ticaret faaliyeti yapan bir markanın 1 sezonundaki ürünlerinin satış stok hareketlerinden beslenerek hazırlanmıştır. Veri gizliliği dolayısıyla verilerde ki her bir değişken belli bir katsayıya göre değiştirilmiştir.

Veri 8 değişken ve 8623 satırdan oluşmaktadır. Değişkenler ve açıklamaları aşağıdaki gibidir;

Product ID: Her ürün için atanmış unique değer

Cumulative Sales: Ürüne ait sezondaki kümülatif satış değerleri

STR: Toplam satış adedi / Mağazalara sevk miktarı

Revenue: Üründen elde edilen gelir

shelf_life: Ürünün raf ömrü

Recency_Product: Ürünün en son satışıyla bugün arasında geçen süre

Profit: Üründen elde edilen kâr

Sales_deviation: Ürünün haftalık satışında ki standart sapma

Warehouse_Stock: Ürünün t anı depo stoğu

Trendify Algoritmasının örnek veride çalıştırılması sonucunda 11 adet küme oluşturulmuştur ve bu kümelerin öne çıkan özellikleri “cluster profile” kolonunda otomatik olarak verilmektedir. Sonuçlara yine https://github.com/Trendify-Analytics/Demo-Data ulaşılabilir. Her bir değişkenin genel ortalamadan ayrışma değeri ise küme bazında gösterilmektedir.

Şekil14: Outlier kümeleri için küme profili

Negatif isimli kümeler yani Küme –2 ve Küme –1 outlierları ifade eder. İlk başta outlierlar Trendify data preparation modülünde belirlenir ve sonrasında yeniden en uygun şekilde bölümleme işlemi gerçekleştirilir. Outlier kümelerinde Cumulative Sales, STR ve Sales deviation özellikleri fazlasıyla öne çıkmış outlier olmayan kümelerden çok daha fazla belirginlik göstermiştir. Bu 3 özellikte diğer %100’den fazla ortalamadan fazladır. Diğer 2 özellik olan Recency ve shelf_life da eşik değerinden daha fazla olduğu için profilleme de gösterilmiştir. Outlier kümelerini değerlendirmek gerekirse kümülatif satış değerleri yüksek, sevk oranı fazla ama bununla birlikte satıştaki sapması yani değişkenliği de fazla, recency nin yüksek olmasına bağlı olarak daha çok eski sezonlarda satışları olan ürünlerden olduğu söylenebilir. Eğer aktif sezon satışı başlayan ürünler var ise neden uzun zamandır satmadığı üzerine inceleme yapılmalıdır.

Şekil15: Küme 0 için küme profili

Örneğin Küme 0’ı inceleyecek olursak; shelf_life ve Recency Product genel ortalamadan yaklaşık %50 daha düşük ve Sales deviation ve Warehouse Stock ise ortalamadan %150 daha yüksek olan değişkenler. Ayrıca STR değeri ortalamadan yaklaşık %70 daha yüksek. Bu küme raf ömrü düşük olan bir grup olduğu için mağazalara yeni sevk edilip, satış performansı iyi olan ürünlerdir. Sales deviation yüksek ise mağazalarda derinlikli tutulmaya uygundur denilebilir, merkez depo stokları da yüksek olduğu için raf ömrü ile kontrollü olarak mağaza stoklarında derinlik yapılabilir.

Şekil16: Küme 4 için küme profili

Şimdi de Küme 4’ü inceleyelim. Küme 4’ü profillemede ifade eden tüm değişkenler yani Cumuative_Sales, STR, Revenue, shelf_life, Recency_Product, Sales_deviation, Warehouse_Stock tümü ortalamadan %50 civarı veya daha fazla düşüktür. Bu ürün grubu da mağaza stoklarına yeni girmiş ama bir önceki grubun tersine satış performansı düşük olan ürün gruplarıdır. Stok miktarları düşük olduğu için sadece satış performansı yüksek olan mağazalara stoklar yönlendirilmeli ve bu ürün için sezon için sipariş geçilmemelidir.

Şekil17: Küme 5 için küme profili

Son olarak Küme 5’i inceleyelim. Cumuative_Sales ve Revenue değişkeni küme genelinde ortalamadan yaklaşık %150 daha yüksek. shelf_life ve Recency_Product ise genel ortalamadan %61 civarında daha yüksek. Sales deviation ise ortalamadan %87 daha yüksek. Bu özelliklere göre bu kümenin kümülatif satışları ve geliri ortalamadan yüksektir. Raf ömrü yüksek ve standart sapması outlier kadar olmasa da yüksek bir ürün grubudur. Recency değerinin yüksek olması ise uzun zamandır satmama sebebinin araştırılması anlamına gelmektedir. Merkez stok bitmesinden kaynaklı ise sezon içi sipariş geçilebilir ya da küme içinde mağazalar arası transfer çalıştırılarak, satmayan ürünler satan ürünlerin olduğu mağazalara sevk edilmelidir.

Bu yazıda kümeleme algoritmaları sonucunda oluşan kümelerin profillenmesinde dikkat edilmesi gereken önemli unsurları anlattık. Ayrıca Trendify Segmentasyon Algoritması sonucunda örnek veri ile yapılan kümeleme sonuçlarını inceledik. Çıkan kümelerde öne çıkan özellikleri ve bu özelliklere göre yapılan çıkarımları gösterdik. Trendify Segmentasyon Algoritması sonucunda doğru oluşturulan ürün grupları iş hayatında alınacak gerekli aksiyonları ortaya çıkarır. Trendify Segmentasyon Modelleri ile sizde doğru ürün gruplarıyla işinizi kontrol etme ve ilerletme gücüne sahip olabilirsiniz.

Yayınlanma tarihi : 20.01.2021

Yazar : Mustafa Gencer (Data Scientist , TRENDIFY)

Originally published at https://trendify.com.tr.

--

--