Müşteri Puanı ile Editöryel Sıralamayı Karıştırmamak
Bir şirket rehberinde müşteri puanı ortalaması ile editöryel pozisyon yan yana görünür. İkisi de sayı olduğu için benzer gibi gelir, ama aslında tamamen farklı işlemlerden çıkarlar. Bunu fark etmezsen arayüzde yanıltıcı gösterimler ya da tutarsız sıralamalar ortaya çıkar.
Müşteri yorumlarının ortalaması bir ölçek ve örnek sayısı gerektirir. Kaç kişi puanladı, maksimum puan nedir, ne zaman kontrol edildi, bunlar hepsi önemli. Editöryel sıralama ise bağlam içinde anlamlıdır: hangi şehirde, hangi kategoride, hangi metodoloji kullanılarak belirlenmiştir.
Raitingkz'nin yaklaşımı her sinyale açık bir tür vermektir. TypeScript'te discriminant (ayırıcı) kullanarak:
1type ReviewAggregate = {2kind: "reviews";3average: number;4scaleMax: number;5count: number;6sourceUrl: string;7checkedAt: string;8};910type EditorialPosition = {11kind: "editorial";12position: number;13city: string;14category: string;15methodologyUrl: string;16checkedAt: string;17};1819type CompanySignals = {20reviews?: ReviewAggregate;21editorial?: EditorialPosition;22};Bu yapıda her veri türü kendi bağlamını taşır. Uygulama, `kind` alanına bakarak hangisini nasıl göstereceğini bilir. Puanları sıralarken örnek sayısı düşük olanı alt sıraya alabilir, editöryel sıralamayı ise şehir ve kategori filtresiyle gösterebilir.
Praktik faydası şu: veri tabanında her iki sinyali de saklayabilir, ama UI'da karıştırmamış olursun. Müşteri puanı "2.5/5.0 (47 oy)" görünür; editöryel pozisyon "İstanbul'da Yazılım kategorisinde 3. sırada" diye. Aynı sayı olsa da, anlamları ve kullanım şekilleri net ayrılır.
0 yorum