1. Şirketin sorusu ve brif
Kim soruyor? Operasyon direktörü. Yıllık bölge toplantısında şehir müdürlerine ve temsilcilere “nerede güçlüsünüz, nerede geridesiniz?” sorusunun cevabını tek bir tabloyla vermek istiyor.
Hangi karar? Gelecek yıl saha desteği hangi şehirlere verilecek, hangi temsilciyle iade konusunda konuşulacak? Brifin soruları:
- Şehirler şirket ortalamasının neresinde: sepet (sipariş başı satış), müşteri başı satış, iade oranı, teslim süresi?
- Büyük şehir küçük şehri toplamda hep geçer. Kıyas nasıl adil olur?
- Hangi farklar gerçekten olağan dışı, hangileri az veriden doğan gürültü?
- Temsilciler arasındaki iade farkı kişiden mi, yoksa sorumlu oldukları şehirlerden mi geliyor?
- Bir şehre tıklayınca açılan, başlığı seçime göre değişen bir profil sayfası.
Vaka: satış performansı ve hedef takibi temsilcileri büyüme ve hedefle ele aldı. Burada soru farklı: büyüme değil, yapısal kıyas. Herkesi aynı cetvelle, şirket ortalamasına göre ölçüyoruz.
2. Veri ve model
| Tablo | Kullanım |
|---|---|
Musteriler | Sehir, Bolge: 12 şehir. Şehir, siparişin değil müşterinin özelliğidir. |
Satislar | Durum (iade), Kanal, KargoGun (sipariş ile teslim arası gün). |
Calisanlar | Satislar[TemsilciNo] üzerinden temsilci adı. Satışı olan 6 temsilci var. |
Hazır ölçüler: [Ortalama Sepet], [Müşteri Başı Satış], [Müşteri Başı Sipariş], [İade Oranı %], [Ortalama Kargo Günü]. Dönem: verinin tamamı (Haziran 2022 – Aralık 2024). Tek yıl seçilirse küçük şehirlerde örnek iyice azalır.
Veri sınırları:
- Şehri boş müşteriler: 7 müşterinin şehri boş (42 sipariş, 63.853 ₺). Bu satırları silme; tabloda “(Şehir yok)” diye göster ve kaynak sisteme bildir.
- Mağaza siparişlerinde kargo günü 0. Şehirlerin mağaza payı çok farklı: Samsun’da satışın %0,3’ü, Bursa’da %28,1’i mağazadan. Karışık ortalama, mağazası güçlü şehri hızlı gösterir. Teslim kıyasında yalnızca Web ve Mobil’i al (gerekçesi Vaka: e-ticaret dönüşüm hunisi ve kargo dersinde).
- Küçük örnekler: Konya’da 22, Gaziantep’te 23, Samsun’da 28 sipariş var. Bu şehirlerde oranlar birkaç siparişle çok oynar.
- Temsilci ataması geriye dönük: temsilci, müşterinin bugünkü temsilcisidir. Kıyas “portföy kıyası” olarak okunmalı.
3. Analiz adımları
Adım 1: Ortak cetvel: şirket ortalaması ve endeks. Her ölçüyü şirket ortalamasına bölüp 100 ile çarparız. 100 ortalama demektir; 120 ortalamanın %20 üstü.
Şirket Ortalama Sepet = CALCULATE([Ortalama Sepet], REMOVEFILTERS(Musteriler)) Sepet Endeksi = DIVIDE([Ortalama Sepet], [Şirket Ortalama Sepet]) * 100
REMOVEFILTERS(Musteriler) şehir, bölge ve segment filtresini kaldırır; yıl ve kanal dilimleyicileri ise kalır. Böylece ortalama her zaman seçili dönemin şirket ortalamasıdır. Cetvel olarak şehirlerin basit ortalamasını değil, şirketin kendisini alırız: 12 şehrin müşteri başı satış ortalaması 9.309 ₺, şirketinki 9.197 ₺. Küçük şehirler basit ortalamada büyük şehirlerle aynı ağırlığı alır.
| Şehir | Net satış | Sipariş | Müşteri | Sepet (endeks) | Müşteri başı satış (endeks) | İade |
|---|---|---|---|---|---|---|
| Trabzon | 105.118 ₺ | 82 | 7 | 1.282 ₺ (86) | 15.017 ₺ (163) | %11,8 |
| Antalya | 104.621 ₺ | 57 | 9 | 1.835 ₺ (123) | 11.625 ₺ (126) | %1,8 |
| Bursa | 99.080 ₺ | 58 | 9 | 1.708 ₺ (114) | 11.009 ₺ (120) | %10,2 |
| İzmir | 146.768 ₺ | 98 | 14 | 1.498 ₺ (100) | 10.483 ₺ (114) | %11,3 |
| Kayseri | 92.949 ₺ | 61 | 9 | 1.524 ₺ (102) | 10.328 ₺ (112) | %7,5 |
| Adana | 58.749 ₺ | 39 | 6 | 1.506 ₺ (101) | 9.792 ₺ (106) | %7,1 |
| İstanbul | 225.869 ₺ | 181 | 27 | 1.248 ₺ (84) | 8.366 ₺ (91) | %2,8 |
| Eskişehir | 120.800 ₺ | 74 | 15 | 1.632 ₺ (109) | 8.053 ₺ (88) | %6,6 |
| Ankara | 116.700 ₺ | 73 | 15 | 1.599 ₺ (107) | 7.780 ₺ (85) | %9,0 |
| Samsun | 45.530 ₺ | 28 | 6 | 1.626 ₺ (109) | 7.588 ₺ (83) | %8,3 |
| Gaziantep | 43.292 ₺ | 23 | 7 | 1.882 ₺ (126) | 6.185 ₺ (67) | %4,3 |
| Konya | 27.444 ₺ | 22 | 5 | 1.247 ₺ (84) | 5.489 ₺ (60) | %0 |
| (Şehir yok) | 63.853 ₺ | 42 | 7 | 1.520 ₺ (102) | 9.122 ₺ (99) | %3,5 |
| Şirket | 1.250.772 ₺ | 838 | 136 | 1.493 ₺ (100) | 9.197 ₺ (100) | %6,8 |
Bulgu: Toplam satışta İstanbul açık ara birinci (satışın %18,1’i). Ama müşteri başına ortalamanın altında (91) ve sepeti en küçüklerden (84). Toplam tutar şehrin büyüklüğünü ölçer, başarısını değil. Müşteri başına bakınca 7 müşterili Trabzon birinci (163).
Adım 2: Müşteri başı satışı ikiye ayır. Müşteri başı satış = müşteri başı sipariş × sepet. İki şehir aynı endekse farklı yollardan ulaşabilir ve her yolun aksiyonu farklıdır.
Sipariş Sıklığı Endeksi =
DIVIDE(
[Müşteri Başı Sipariş],
CALCULATE([Müşteri Başı Sipariş], REMOVEFILTERS(Musteriler))
) * 100
Bulgu: Trabzon’da müşteri ortalama 11,7 sipariş veriyor (şirket 6,2; sıklık endeksi 190) ama sepeti küçük (86). Gaziantep tam tersi: sepet 126, sıklık yalnızca 53. Trabzon için doğru aksiyon sepeti büyütmek (çapraz satış), Gaziantep için tekrar siparişi artırmak (hatırlatma kampanyası).
İstanbul’un küçük sepeti kanal karmasından mı geliyor? Aynı kanal içinde kıyaslarız: İstanbul’un Web sepeti 1.176 ₺ (şirketin Web sepeti 1.420 ₺), Mobil sepeti 1.163 ₺ (şirket 1.554 ₺). İki kanalda da düşük; yani fark kanal karmasından değil, İstanbul müşterisinin daha küçük sepetle alışveriş yapmasından geliyor.
Adım 3: Olağan dışı mı, gürültü mü? Bir şehrin farkının ne kadar büyük olduğunu z-skoru söyler: (şehir − şehirlerin ortalaması) ÷ standart sapma. Yöntemin ayrıntısı İleri istatistik: eğilim, z-skoru, mevsimsellik dersinde.
Şehir Z-Skoru =
VAR Seri =
FILTER(
ADDCOLUMNS(ALL(Musteriler[Sehir]), "M", [Müşteri Başı Satış]),
NOT ISBLANK(Musteriler[Sehir])
)
VAR Ort = AVERAGEX(Seri, [M])
VAR Sapma = STDEVX.P(Seri, [M])
RETURN
IF(HASONEVALUE(Musteriler[Sehir]), DIVIDE([Müşteri Başı Satış] - Ort, Sapma))
Bulgu: 12 şehrin müşteri başı satış ortalaması 9.309 ₺, standart sapması 2.510 ₺. ±2 sınırını aşan tek şehir Trabzon (z = 2,27). En düşükler Konya (−1,52) ve Gaziantep (−1,25). İade oranında hiçbir şehir ±2’yi aşmıyor; en yüksekler Trabzon (1,40) ve İzmir (1,26).
İkinci savunma hattı örnek büyüklüğüdür. Konya’nın iade oranı %0: 22 siparişte tek iade olmamış. Bu bir başarı değil, az veridir. Oranı yalnızca yeterli sipariş varsa göster:
Güvenilir İade % = IF([Sipariş Sayısı] >= 30, [İade Oranı %])
Bulgu: 30 sipariş eşiğini 9 şehir ve şehri boş grup geçiyor. Konya, Gaziantep ve Samsun’da hücre boş kalır; tabloya “örnek az” notu düş. Eşiği raporda yazılı tut, sonuç beğenilmedi diye değiştirme.
Adım 4: Teslim süresi kıyası. Mağazasız ortalamayı şirketin mağazasız ortalamasıyla karşılaştırırız. Fark gün cinsindendir; eksi değer daha hızlı demektir.
Teslim Farkı (gün) =
VAR Sehir = CALCULATE([Ortalama Kargo Günü], Satislar[Kanal] IN {"Web", "Mobil"})
VAR Sirket =
CALCULATE(
[Ortalama Kargo Günü],
Satislar[Kanal] IN {"Web", "Mobil"},
REMOVEFILTERS(Musteriler)
)
RETURN Sehir - Sirket
Bulgu: Şirketin Web ve Mobil teslim ortalaması 3,65 gün. En yavaş Eskişehir (4,09 gün, +0,44), Konya (4,03) ve Bursa (3,97); en hızlı İzmir (3,30 gün, −0,36), Gaziantep (3,39) ve Ankara (3,41). Bursa’da kargolu satırların %16,4’ü 7 gün ya da daha geç teslim edilmiş; İzmir’de bu oran %1,4. Bursa hem yavaş hem iadesi yüksek (%10,2) bir şehir; kargo firmasıyla konuşulacak ilk şehir burası.
Adım 5: Temsilci kıyası: karma etkisini ayır. Temsilcilerin iade oranları farklı. Ama her temsilcinin müşterileri farklı şehirlerde. İadesi yüksek bir şehirde çok müşterisi olan temsilci, kendi hatası olmadan yüksek görünebilir. Bu yüzden her temsilci için beklenen iadeyi hesaplarız: kendi şehir karmasıyla, ama şirketin şehir oranlarıyla.
Beklenen İade % =
DIVIDE(
SUMX(
VALUES(Musteriler[Sehir]),
CALCULATE(COUNTROWS(Satislar))
* CALCULATE([İade Oranı %], REMOVEFILTERS(Calisanlar))
),
COUNTROWS(Satislar)
)
İade Farkı (puan) =
([İade Oranı %] - [Beklenen İade %]) * 100
| Temsilci | İade oranı | Şehir karmasına göre beklenen | Fark |
|---|---|---|---|
| Can Aydın | %12,4 | %8,5 | +3,9 puan |
| Yusuf Kara | %7,6 | %6,6 | +1,0 puan |
| Ece Kurt | %5,8 | %5,8 | 0,0 puan |
| Elif Doğan | %5,5 | %5,5 | 0,0 puan |
| Oğuz Demir | %4,9 | %7,0 | −2,1 puan |
| Gamze Özkan | %4,3 | %6,9 | −2,6 puan |
Bulgu: Can Aydın’ın 290 satırının 62’si Trabzon’dan. Bu karma onun beklenen iadesini %8,5’e çıkarıyor, ama gerçekleşen %12,4 yine 3,9 puan yukarıda. Asıl ilginç olan şu: Trabzon’da Can Aydın’ın müşterilerinde iade %19,4 (62 satırda 12), aynı şehirde diğer temsilcilerin müşterilerinde %6,1 (82 satır). Trabzon dışında da Can Aydın’ın iadesi %10,5. Yani Trabzon’un yüksek iadesi şehirden değil, büyük ölçüde bu portföyden geliyor. Şirketin 80.835 ₺ iade tutarının 30.641 ₺’si (%37,9) bu portföyde. Kategori karması ise farkı açıklamıyor: kategori karmasına göre beklenen iade bütün temsilcilerde %6,7 ile %6,9 arasında.
Adım 6: Şehir profili ve dinamik başlık. Kıyas sayfasında bir şehre sağ tıklayınca Detaya git (Drill-through) ile profil sayfası açılır. Sayfanın başlığı seçili şehri ve konumunu anlatır:
Profil Başlığı =
VAR Sehir =
IF(
HASONEVALUE(Musteriler[Sehir]),
COALESCE(SELECTEDVALUE(Musteriler[Sehir]), "(Şehir yok)"),
"Tüm şehirler"
)
VAR Sepet = DIVIDE([Ortalama Sepet], CALCULATE([Ortalama Sepet], REMOVEFILTERS(Musteriler))) - 1
VAR Siklik = DIVIDE([Müşteri Başı Sipariş], CALCULATE([Müşteri Başı Sipariş], REMOVEFILTERS(Musteriler))) - 1
RETURN
Sehir & " · sepet " & IF(Sepet >= 0, "+", "−") & "%" & FORMAT(ABS(Sepet) * 100, "0")
& ", sipariş sıklığı " & IF(Siklik >= 0, "+", "−") & "%" & FORMAT(ABS(Siklik) * 100, "0")
Bulgu: Trabzon seçiliyken başlık “Trabzon · sepet −%14, sipariş sıklığı +%90” olur; Gaziantep’te “sepet +%26, sipariş sıklığı −%47”. Başlık, tablodaki iki endeksi tek cümlede okutur. Şehri boş grup “(Şehir yok)” diye görünür, boş bir başlık çıkmaz.
4. Rapor sayfası taslağı
| Sayfa / konum | Görsel | Alanlar |
|---|---|---|
| Kıyas, üst şerit | 4 kart | Şirket sepeti, müşteri başı satış, iade oranı, Web+Mobil teslim günü (cetvel değerleri) |
| Kıyas, sol | Matris | Sehir; Sepet Endeksi, Sipariş Sıklığı Endeksi, Güvenilir İade %, Teslim Farkı (gün). Endekslerde 100 çevresinde iki yönlü renk ölçeği. |
| Kıyas, sağ | Dağılım grafiği (Scatter) | X: Sipariş Sıklığı Endeksi, Y: Sepet Endeksi, boyut: Müşteri Sayısı. 100’de iki sabit çizgi dört bölge çizer. |
| Kıyas, alt | Tablo | Temsilci; İade Oranı %, Beklenen İade %, İade Farkı (puan); alt bilgi: “Portföy kıyası, atama geriye dönük.” |
| Şehir profili | Detay sayfası | Detaya git alanı: Musteriler[Sehir]. Başlık: Profil Başlığı. Aylık satış çizgisi, kategori çubuğu, kanal payı, en çok iade eden 5 müşteri. |
5. Bulgu özeti ve öneri
- Toplamla değil müşteri başına kıyasla. İstanbul satışın %18,1’ini getiriyor ama müşteri başına ortalamanın altında (91). Hedef ve ödül tablolarına toplam satışın yanında müşteri başı endeksi ekle.
- Trabzon’da sepet, Gaziantep’te sıklık: Trabzon müşterisi çok sık ama küçük sepetle alıyor (sıklık 190, sepet 86); Gaziantep tersi (sıklık 53, sepet 126). Kampanyaları bu iki farklı soruna göre ayır.
- Can Aydın portföyündeki iadeyi incele: şehir karmasına göre beklenenden 3,9 puan yüksek; şirket iade tutarının %37,9’u bu portföyde. Trabzon’un yüksek iadesi şehirden değil bu portföyden geliyor.
- Bursa ve Eskişehir için kargo görüşmesi: Web+Mobil teslim 3,97 ve 4,09 gün; Bursa’da her altı kargolu satırdan biri 7 gün ya da daha geç.
- Küçük şehirleri eşikle göster: 30 siparişin altındaki şehirlerin (Konya, Gaziantep, Samsun) oranlarını “örnek az” diye işaretle; şehri boş 7 müşteriyi kaynakta düzelt.