Sorunun kaynağı backend response yapısıyla ilgili görünüyor.
- Mevcut response sadece şu özetleri sağlıyor:
categoryMap: Ana kategori -> toplam adetsubCategoryMap: Alt kategori -> toplam adet (global)subCategorySentiment: Alt kategori -> sentiment (global)
- Kategoriye-özel alt kategori dağılımı olmadığı için:
- Aynı alt kategori adı birden fazla ana kategoride kullanıldığında, global
subCategoryMaptoplaması bazı kategorilerde üst toplamı aşabiliyor. - Bazı kayıtlarda alt kategori boş/harici olduğunda, üst toplam alt toplamlardan büyük kalıyor.
- Aynı alt kategori adı birden fazla ana kategoride kullanıldığında, global
Örnekler (reelde gördüğüm):
- Mağazacılık Kasa: kategoriToplam=450, altKategoriToplam=1221, fark=-771
- Dış Arama: kategoriToplam=22, altKategoriToplam=4, fark=18
- E-Ticaret Kampanya ve İndirimler: kategoriToplam=4401, altKategoriToplam=4454, fark=-53
Bu nedenle, alt kırılım listesini doğru ve güvenilir gösterebilmek için kategori-bazlı alt kategori dağılımına ihtiyacımız var.
Öneri:
Call/dashboardresponse’una aşağıdaki alanı ekleyebilirizcategorySubCategoryMap: { [category: string]: { [subCategory: string]: number } }- Bu map, her ana kategori için, o kategoriye ait alt kategorilerin sayılarını içermeli (isim çakışmalarını kategorize ederek çözüyor).
- Mümkünse sentiment’i de kategori-özel verebiliriz
categorySubCategorySentiment: { [category: string]: { [subCategory: string]: number } }
- Bazı kayıtlarda alt kategori boş/harici olabildiği için, kategori bazında “uncategorized/other” sayısını da ayrıca iletmek faydalı olur:
categoryUncategorizedCount: { [category: string]: number }- Alternatif:
categorySubCategoryMap[category]["__OTHERS__"] = Xgibi konvansiyon.
Örnek istenen payload şekli:
{
"categoryMap": { "Dış Arama": 22, "Mağazacılık Kasa": 450 },
"subCategoryMap": { "...": 0 },
"categorySubCategoryMap": {
"Dış Arama": {
"Dış Arama Geri Dönüşleri": 4
},
"Mağazacılık Kasa": {
"Mağaza Fatura İşlemleri": 180,
"Ödeme Hataları": 200,
"Kasa ve Etiket Fiyat Farkı": 68,
"Üyelik, İletişim İzni ve İzinli Pazarlama/ KVKK İşlemleri": 2
}
},
"categoryUncategorizedCount": {
"Dış Arama": 18
}
}