Temel ve İleri Düzey Fonksiyonlar
- Set Analysis: Segmentasyon ve filtreli hesaplar için
- AGGR(): Çok boyutlu grup bazlı hesaplamalar
- RangeSum(), RangeAvg(): Hareketli ortalamalar, kümülatif toplamlar
- Above(), Below(): Zaman serisi karşılaştırmaları
- If(), Pick(), Match(): Koşullu ve çoklu durum analizleri
- Count(DISTINCT): Benzersiz müşteri/anket sayısı
- Median(), Mode(), Stdev(), Var(): İstatistiksel özetler
- TextSearch(): Metin araması ve yorum filtreleme
// Genel Ortalama CSAT
Avg(CSAT)
// Son 3 aylık ortalama NPS
Avg({<SurveyDate={">=$(=AddMonths(Max(SurveyDate),-3))"}>} NPS)
// Müşteri Segmenti “Premium” için CES ortalaması
Avg({<CustomerSegment={'Premium'}>} CES)
// Mobil kanalında alınan ortalama CSAT
Avg({<TransactionChannel={'Mobil'}>} CSAT)
// Yaş grubu '25-34' olanların NPS ortalaması
Avg({<AgeGroup={'25-34'}>} NPS)
// Cinsiyet 'Kadın' olanların ortalama CES
Avg({<Gender={'Female'}>} CES)
// Bölge “Marmara” için toplam anket sayısı
Count({<Region={'Marmara'}>} DISTINCT SurveyID)
// Şube bazında ortalama CSAT (AGGR ile)
Avg(AGGR(Sum(CSAT), Branch))
// Son 6 ayın hareketli ortalaması (CSAT)
RangeAvg(Above(Sum(CSAT), 0, 6))
// NPS Promoter Yüzdesi (NPS>=9)
Count({<NPS={">=9"}>} DISTINCT CustomerID)/Count(DISTINCT CustomerID)
// CSAT standart sapması (anomalilerin tespiti için)
Stdev(CSAT)
// Anketlerde “hızlı” kelimesi geçen yorum sayısı
Count({<FreeText={"*hızlı*"}>} CustomerID)
// Yaş grubu ve kanal bazında ortalama CES
Avg(AGGR(Sum(CES), AgeGroup, TransactionChannel))
// Müşteri tipi 'Yeni' için ortalama NPS
Avg({<CustomerType={'Yeni'}>} NPS)
// Şube bazında anket katılım oranı
Count({<Branch={'Şube1'}>} DISTINCT SurveyID) / Count(DISTINCT SurveyID)
// İşlem sayısı ağırlıklı ortalama CSAT
Sum(CSAT * TransactionCount) / Sum(TransactionCount)
// Ortalama CES skoruna göre performans sınıflandırması
If(Avg(CES) >= 4.5, 'İyi', If(Avg(CES) >= 3, 'Orta', 'Zayıf'))
// Son 3 anket tarihindeki ortalama CSAT karşılaştırması
Sum(CSAT) - Above(Sum(CSAT), 1)
// Variable içinde tanımlı başlangıç ve bitiş tarihleri ile ortalama CSAT
Avg({<SurveyDate={">=$(=vStartDate)<=$(=vEndDate)"}>} CSAT)
// Müşteri Segmentine Göre Ağırlıklı Ortalama
Sum({<CustomerSegment={'$(=vSelectedSegment)'}>} CSAT * TransactionCount) / Sum({<CustomerSegment={'$(=vSelectedSegment)'}>} TransactionCount)
// Değişken ile Dinamik Skor Kategorisi Oluşturma
If(Avg(CSAT) >= $(vGoodThreshold), 'İyi', If(Avg(CSAT) >= $(vMediumThreshold), 'Orta', 'Zayıf'))
// İleri Düzey Anomali Tespiti (Z-Score Hesaplama)
(Avg(CSAT) - Avg(TOTAL CSAT)) / Stdev(TOTAL CSAT)
// Customer Churn Rate Hesabı (Değişken tabanlı segmentasyon)
Count({<ChurnFlag={1}, CustomerSegment={'$(=vSegment)'}>} DISTINCT CustomerID)
/
Count({<CustomerSegment={'$(=vSegment)'}>} DISTINCT CustomerID)
// Segment bazında Promoter Yüzdesi
Count({<NPS={">=9"}, CustomerSegment={'$(=vSegment)'}>} DISTINCT CustomerID)
/ Count({<CustomerSegment={'$(=vSegment)'}>} DISTINCT CustomerID)
// Müşteri Memnuniyeti Değişimi (Son Anket vs Önceki Anket)
Sum(CSAT) - Above(Sum(CSAT), 1)
// Time Bucket (Zaman Dilimi) Oluşturma (Script veya Variable’da)
If(WeekDay(SurveyDate) <= 4, 'Hafta İçi', 'Hafta Sonu')
// Metin Yorumlarının Pozitif Negatif Oranı (Tagging Sonrası)
Count({<SentimentTag={'Positive'}>} DISTINCT SurveyID) / Count(DISTINCT SurveyID)
// Müşteri Tipi Bazlı Skor Karşılaştırması
Avg({<CustomerType={'Yeni'}>} CSAT) - Avg({<CustomerType={'Eski'}>} CSAT)
// Toplam İşlem Hacmi ve Ortalama Skorun Korelasyonu
Correl(Sum(TransactionCount), Avg(CSAT))
🔢 İleri Measure ve Variable Örnekleri
🎯 1. Günlük Ortalama CSAT ve Değişim Yüzdesi
// Mevcut günün ortalama CSAT
Avg({<SurveyDate = {"=$(=Date(Today()))"}>} CSAT)
// Dün ile fark (trend okları için)
Avg({<SurveyDate = {"=$(=Date(Today()))"}>} CSAT)
-
Avg({<SurveyDate = {"=$(=Date(Today()-1))"}>} CSAT)
📊 Grafik: KPI kartları, conditional arrow +%/-% renkli değişim
📈 Ek: Günlük/haftalık hareketli ortalama için RangeAvg(Above())
kullanabilirsin.
🧠 2. Z-Skor ile Anomali Tespiti (Görselde uyarı)
(Avg(CSAT) - Avg(TOTAL CSAT)) / Stdev(TOTAL CSAT)
Bu değer 2’den büyükse “olağandışı yüksek”, -2’den küçükse “anormal düşük”
📊 Grafik: Box plot + alert simgeleri
📌 Ek: AnomalyFlag field’ı script’te Z-score > 2 olanlara atanabilir.
🧭 3. Yaş Grubu ve Kanal Bazlı Segment CSAT
Avg({<
Channel = {'Mobil'},
AgeGroup = {'18-25'}
>} CSAT)
📊 Grafik: Heatmap matrix (satır: yaş grubu, sütun: kanal)
📈 Conditional format ile: kırmızı < 6, sarı 6-8, yeşil > 8
📅 4. Time Series Breakdown (Trend + Sezon Etkisi)
Avg({<TransactionMonth>} CSAT)
📊 Grafik: Line + Area Chart
Arka planda trend çizgisi overlay yapılabilir (LOESS için Python + SSE önerilir)
📈 5. Ortalama CSAT vs Transaction Sayısı Korelasyonu
Corr(Sum(TransactionCount), Avg(CSAT))
📊 Grafik: Scatter plot – x ekseni işlem sayısı, y ekseni CSAT
📌 Korelasyon yönü, negatif mi pozitif mi? Segment bazlı breakdown yapılabilir.
⚙️ Değişken Tanımlı Dinamik Kontroller (Kullanıcıya Seçtirilen)
Örnek değişkenler:
vSelectedChannel → ListBox'tan seçilir (ATM, Mobil, Şube vs.)
vTimeFrame → 'Son 30 Gün', 'Son 90 Gün', 'YTD' gibi seçenekler
vScoreType → CSAT, NPS, CES gibi metrik tipi
vAgeGroup → Yaş dilimleri
Kullanım:
Avg({<Channel={'$(vSelectedChannel)'}, AgeGroup={'$(vAgeGroup)'}>} $(vScoreType))
📊 Grafik: Dinamik bar/line chart
📌 Kullanıcı bir seçim kutusuyla tüm analizleri kontrol eder. Çok güçlü kullanım.
🧮 Çok Boyutlu Analiz – Önem Katsayılı Skor
Sum(CSAT * ImportanceWeight) / Sum(ImportanceWeight)
Bu ImportanceWeight’ı NLP modelden, anket sorularının etkisinden ya da işlem türünden çıkarabilirsin.
📍 Bölge ve Şube Skor Haritası
Avg({<Region={'Ege'}, BranchName={'İzmir'}>} NPS)
📊 Grafik: Geo map – şube bazlı skor dağılımı
🧠 Tooltip’e yaş ortalaması, işlem sayısı, CSAT girilebilir.
💡 Duygu Analizi ve Tematik Özetlerden Türetilmiş Measure
Count({<Sentiment = {'Negative'}>} CommentID) / Count(CommentID)
Text analizi sonrası sentiment etiketi atanmışsa, memnuniyetsizlik oranı ölçülür.
📊 Grafik: Bar chart (sentiment başlıkları: “bekleme”, “sistem hatası” gibi)
🔬 NPS Detayı – Promoter / Detractor Oranı
// Promoter Oranı
Count({<NPS={">=9"}>} CustomerID) / Count(TOTAL CustomerID)
// Net skor
(Count({<NPS={">=9"}>} CustomerID) - Count({<NPS={"<=6"}>} CustomerID)) / Count(TOTAL CustomerID)
📊 Grafik: Lollipop chart – promoter/detractor nötr oran farkı
📌 KPI Kartı ve Conditional Renk Mantığı (Renkli dashboard)
If(Avg(CSAT) >= 8, 'Yeşil',
If(Avg(CSAT) >= 6, 'Sarı', 'Kırmızı'))
📌 Bu metin renk olarak arka plan kontrolünde kullanılabilir.