T.UZUN_
VERİ ANALİTİĞİ

Sorting ve Rating Algoritmaları: Sıralama ve Puanlama Matematiği

Wilson Lower Bound Score, Bayesyen Ortalama ve Zamana Göre Ağırlıklı modeller, oy sayısı ile zaman faktörünü hesaba katarak adil bir puanlama altyapısı sağlar. Bu tekniklerin hibrit bir skor altında birleştirilmesi, kullanıcı deneyimini ve dönüşüm oranlarını optimize eder.

Paylaş
python-blog.webp

Geleneksel sıralama yöntemleri ya kullanıcıyı aldatır ya da platformun satış potansiyelini olumsuz yönde etkiler. Basit ortalamalara dayalı bir derece verme sistemi, tek bir 5 yıldızlı değerlendirmeyi 10.000 adet 4.8 yıldızlı değerlendirmenin önüne geçirerek algoritmayı körleştirir. E-ticarette sıralama ve puanlama, veriyi alfabetik veya sayısal dizmekten ibaret değildir; güveni, dönüşüm oranını ve arama motoru optimizasyonunu doğrudan yöneten istatistiksel bir mühendislik disiplinidir.

1. Kavramsal Çerçeve ve Temel Algoritmalar

Sorting ve Rating Nedir?

Sorting ve Rating, belirsizlik içeren veri kümelerinde en adil ve temsil gücü en yüksek skoru bulma sürecidir. E-ticaret platformlarında binlerce ürünü sıralarken amaç; zaman faktörü, oy sayısı ve uç değerleri hesaba katarak en yüksek toplam faydayı üreten içeriği öne çıkarmaktır. Doğru bir matematiksel model kurulmadığı takdirde platformlarda verisiz önceliklendirme ve hatalı sıralama problemleri meydana gelir.

Weighted Average ve Time-Decay Average

Geleneksel ortalama yöntemleri tüm verileri eşit ağırlıkta kabul ederken, ileri düzey sıralama mimarileri dinamik parametreleri sürece dahil eder.

  • Weighted Average: Kullanıcı seviyesi, satın alma doğrulaması veya puanın ağırlığı gibi kriterlere önceden tanımlanmış katsayılar vererek hesaplama yapar.

  • Time-Decay Average: Zamanın yıpratıcı etkisini hesaba katar. Bir ürünün üç yıl önceki değerlendirmesi ile dün aldığı değerlendirme eşit değildir. Üstel azalım fonksiyonları kullanarak yakın tarihli etkileşimlere daha yüksek katsayı atar.

Python

import numpy as np
import pandas as pd

def time_decay_weighted_rating(dataframe, time_col, rating_col, decay_days=30):
    current_date = dataframe[time_col].max()
    days_diff = (current_date - dataframe[time_col]).dt.days
    
    # Üstel azalım katsayısı hesabı
    weights = np.exp(-days_diff / decay_days)
    weighted_score = np.sum(dataframe[rating_col] * weights) / np.sum(weights)
    
    return weighted_score

2. İstatistiksel Yöntemler ve Derinlik

E-ticaret ve içerik platformlarında karşılaşılan sıralama problemlerini çözmek için kullanılan temel istatistiksel yaklaşımlar aşağıda kod örnekleriyle birlikte detaylandırılmıştır.

Wilson Score Lower Bound

Sadece pozitif ve negatif oylara bakarak sıralama yapmak ciddi mantık hataları doğurur. 200 oyda %95 pozitif alan bir ürün ile 2 oyda %100 pozitif alan bir ürün karşılaştırıldığında, az oylu ürünün üst sıraya çıkması engellenmelidir. Wilson Score, Bernoulli parametresi için %95 güven aralığı hesaplar ve bu aralığın alt sınırını esas alır.

Python

import math

def wilson_score(upvotes, downvotes, confidence=0.95):
    total = upvotes + downvotes
    if total == 0:
        return 0
    
    # %95 güven aralığı için z-skoru (1.96)
    z = 1.96
    phat = upvotes / total
    
    denominator = 1 + z**2 / total
    centre_adjusted_probability = phat + z**2 / (2 * total)
    adjusted_standard_deviation = math.sqrt((phat * (1 - phat) + z**2 / (4 * total)) / total)
    
    lower_bound = (centre_adjusted_probability - z * adjusted_standard_deviation) / denominator
    return lower_bound

Bayesian Average (Bayesian Mean)

Henüz yeterli değerlendirmesi olmayan yeni ürünleri (cold-start problemi) ve az oylu uç değerleri sisteme adil şekilde entegre etmek için kullanılır. Tüm sistemin genel ortalamasını ve varsayılan bir oy kütlesini hesaba katarak ürün puanını merkeze doğru çeker.

Python

def bayesian_average(ratings_count, rating_mean, global_mean, confidence_weight=10):
    bayes_score = (confidence_weight * global_mean + ratings_count * rating_mean) / (confidence_weight + ratings_count)
    return bayes_score

Hibrit Sıralama (Hybrid Sorting)

Tek bir kritere göre sıralama yapmak yetersizdir. Hibrit modeller; ürün puanı, yorum sayısı, satış hacmi, tıklama oranı ve stok durumunu min-max normalizasyonu ile 0-1 aralığına getirip belirli ağırlıklarla birleştirir.

Python

def hybrid_sorting_score(rating_score, sales_count, ctr, w1=0.4, w2=0.35, w3=0.25):
    # Tüm girdilerin 0-1 arasında normalize edildiği varsayılmıştır
    final_score = (rating_score * w1) + (sales_count * w2) + (ctr * w3)
    return final_score

Veri Tablosu

Kavram / Terim

Temel Odak Noktası

Sağladığı Avantaj / Çıktı

Simple Average

Tüm verileri eşit ağırlıkla toplar ve toplam sayıya böler.

Hızlı hesaplanır fakat az oylu ve uç değerlerde yanıltıcı sonuçlar üretir.

Time-Decay Average

Zamana bağlı olarak geçmiş etkileşimlerin ağırlığını azaltır.

Ürünün veya hizmetin en güncel kalite trendini doğru biçimde yansıtır.

Wilson Score

Başarı oranının %95 istatistiksel güven aralığı alt sınırını alır.

Az oylu içeriklerin üst sıraları domine etmesini engeller, adil sıralama sağlar.

Bayesian Average

Sistem genel ortalamasını öncül bilgi olarak hesaplamaya katar.

Yeni ürünler için dengeli ve uç değerlere karşı dirençli bir başlangıç puanı sunar.

Hybrid Sorting

Puan, satış, stok ve etkileşim metriklerini katsayılarla harmanlar.

İş hedeflerine ve kullanıcı memnuniyetine hizmet eden optimum dizilimi üretir.

Sık Sorulan Sorular

5 yıldızlı tek yorumlu ürün neden 4.8 yıldızlı bin yorumlu ürünün üstüne çıkmamalıdır?

Tek yorumlu ürünün istatistiksel güven aralığı oldukça düşüktür. Algoritmalar, yeterli veri hacmine sahip ürünlerin puanlarına daha yüksek güven skoru atayarak onları üst sıraya taşır.

Wilson Score yöntemi sıralamada hangi problemi çözer?

Pozitif ve negatif geri bildirim alan ögelerin oy oranını, az sayıdaki oyun getirdiği belirsizlikten arındırarak %95 güven aralığının alt sınırına göre adilce dizilmesini sağlar.

Soğuk başlangıç durumunda Bayesian Average nasıl çalışır?

Ürünün henüz oyu yokken ona sistem genelinin ortalama puanını mevcuttaki varsayılan ağırlık ile atar; oy geldikçe bu değer gerçek metriklere evrilir.

Bu içerik sana ne hissettirdi?

İlgili Yazılar