Senaryo
Genel müdür her ay başında tek ekranda şirketin nabzını görmek istiyor. Power BI / Looker Studio panosunu kuracak ekip, senden hazır hesaplanmış tablolar bekliyor; panoda karmaşık hesap yapılmayacak.
Tanımlar (KPI sözlüğü)
| KPI | Tanım |
|---|---|
| Net ciro | Teslim edilen siparişlerin Σ adet × birim fiyat × (1 − indirim) |
| Sipariş | Tüm durumlardaki sipariş sayısı |
| Aktif müşteri | O ay en az bir sipariş veren tekil müşteri |
| Ortalama sepet | Net ciro ÷ teslim edilen sipariş sayısı |
| İptal oranı | İptal edilen sipariş ÷ tüm siparişler |
BI ekibine iyilikHer tabloya açık sütun adları ver, oranları yüzde değil 0–1 arası ya da tutarlı biçimde ver ve tanımları dokümante et. Tanım farkı, panolardaki tartışmaların bir numaralı nedenidir.
Derinleş: panoya güvenilir veri vermek
Brif: Genel müdür ve BI ekibi“Panoyu her ayın ilk iş günü açıp büyüme ve iptal trendine göre satış ekibinin hedeflerini güncelleyeceğim. Panodaki sayı ile finansın sayısı tutmazsa panoya kimse bakmaz.” BI ekibi ekliyor: “Bize ay düzeyinde, sütun adları sabit tablolar ver.”
Çalışma planı
- KPI sözlüğünü kilitle. Her ölçüyü bir cümleyle tanımla ve hangi durumların dahil olduğunu yaz (ciro = yalnızca teslim; sipariş = tüm durumlar).
- Ölçüyü kendi grain düzeyinde hesapla. Sipariş sayısı
orders'tan, ciroorder_items'tan gelir. İkisini aynı JOIN'de hesaplarsan sipariş sayısı kalem sayısına şişer (Ek görev 1). - Boş ayları düşün. Bir ayda hiç değer yoksa GROUP BY o ayı hiç üretmez; panoda çizgi “kopar”. Ek görev 2'de Kasım ve Aralık bu yüzden görünmez.
Kontrol listesi
- Yıllık mutabakat. Aylık net cirolar toplanınca yıllık toplamı vermeli. Aşağıdaki sorgu yıl düzeyinde hesaplar: 2024 için 636.316 TL; Adım 1'deki 12 ayın toplamı da bu olmalı.
- Paylar 100'e tamamlanıyor mu? Kanal payları toplamı yuvarlama farkıyla 100,0 olmalı.
- Payda. Ortalama sepet = ciro ÷ teslim edilen sipariş; tüm siparişe bölmek sepeti küçük gösterir.
- Uç değer. 2023 Ocak gibi düşük tabanlı aylarda %200+ büyüme normaldir; panoda bu aylar için mutlak farkı da göster.
SELECT strftime('%Y', o.order_date) AS yil,
COUNT(DISTINCT o.order_id) AS teslim_siparis,
ROUND(SUM(oi.quantity * oi.unit_price * (1 - oi.discount)), 0) AS net_ciro
FROM orders o
JOIN order_items oi ON oi.order_id = o.order_id
WHERE o.status = 'delivered' AND o.order_date >= '2023-01-01'
GROUP BY strftime('%Y', o.order_date)
ORDER BY yil;
Teslim
BI ekibine görünüm(ler) + KPI sözlüğü; genel müdüre panonun üstünde dört KPI kartı ve aylık çizgi grafik.
Yönetici özeti örneği2024 net cirosu 636.316 TL ile 2023'e göre %89,6 arttı. Son çeyrek yılın %35'ini getirdi; zirve Kasım (82.740 TL). İptal oranı Nisan'daki %13,8'den Aralık'ta %6,5'e indi; mobil kanal cironun %47,2'siyle en büyük pay.
Kendini değerlendir
| Ölçüt | Başlangıç | İyi | Mükemmel |
|---|---|---|---|
| Tanımlar | Örtük | KPI sözlüğü yazılı | Her sütun sözlükle birebir, durum filtreleri açık |
| Doğrulama | Yok | Yıllık toplam mutabık | Tanecik, pay ve boş ay kontrolleri yapılmış |
| Teslim | Tek seferlik sorgu | Görünüm | Görünüm + sözlük + pano taslağı |