Tavsiye Sistemleri Değerlendirme: İşletmeniz için en iyisini seçmek
Son yıllarda E-ticaretin ve çevrimiçi medyanın sonsuz genişlemesiyle birlikte, gün geçtikçe daha fazla Hizmet Olarak Yazılım (SaaS) Tavsiye Etme Sistemi (RS) kullanıma sunuluyor. 5 yıl öncesinden farklı olarak, RS'leri kullanmak büyük şirketlerin kendi RS kurumlarını inşa etmeleri, veri bilimcilerinden oluşan bir ekip için büyük bir bütçe harcaması, bugünün SaaS çözümlerinin popülaritesi, küçük ve orta ölçekli işletmeler için bile tavsiye kullanımını ekonomik hale getirdi. büyük şirketler. Doğru SaaS RS'yi ararken bu tür şirketlerin CTO'larının karşılaştığı bir soru şudur: Hangi çözüm en iyisidir? Hala bir RS'iniz olmadığını veya mevcut RS'den memnun olmadığınızı varsayalım, hangi çözümü seçmelisiniz?
Bu yazıda iki yaklaşımı ele alacağım:
Akademik dünyada çevrimdışı değerlendirme (Netflix Ödülü), düşük tahmin hataları (RMSE / MAE) ve yüksek Geri Çağırma / Katalog kapsamı aranıyor. TLDR; sadece bu önlemlerin var olduğunu ve muhtemelen bunları kullanmak istemediğinizi bilin. Ama hala ilgileniyor olman için kısa bir özetini veriyorum.
İş dünyasında çevrimiçi değerlendirme, Yüksek Müşteri Ömür Boyu Değerlerin (CLV) aranması, A / B testi, TO, CR, YG ve KG. İşinizi artıracak önerileri ciddiye alıyorsanız, bu bölümü okumalısınız.
Çevrimdışı Dünya = Akademisyenler Nasıl Yapar?
SC'ler, on yıllardır akademik araştırmalarda araştırılmıştır. Farklı algoritmalar tanıtan birçok araştırma makalesi var ve algoritmaları karşılaştırılabilir kılmak için akademik ölçütler kullanıyorlar. Bu önlemlere çevrimdışı önlemler diyoruz. Üretime hiçbir şey koymazsınız, yalnızca sanal alanınızdaki algoritmalar ile oynar ve bu önlemlere göre ince ayar yaparsınız. Ben şahsen bu önlemleri çok araştırdım, ancak bugünün bakış açısına göre, bunlar tarih öncesi. Ancak, 2006 yılının ortalarında, ünlü Netflix Ödülü'nde bile, RMSE (kök ortalama kare hatası) adı verilen tamamen akademik bir önlem kullanılmıştır.
Sadece nasıl çalıştığını kısaca açıklamak için, kullanıcılarınızın ürünlerinizi sayılan yıldız sayısı (1 = güçlü beğenmemek, 5 = güçlü gibi) ile açıkça derecelendirmesini ve bu gibi bir grup oylamanız olduğunu belirtiyor (bu kullanıcı A puanını veren öğeyi söyleyen kayıtlar) Y yıldızlarla) geçmişten. Bölünmüş validasyon adı verilen bir teknik kullanılır: bu derecelendirmelerin sadece bir alt kümesini alırsınız,% 80 (tren seti olarak adlandırılır) deyin, bunların üzerine RS oluşturun ve ardından RS'den istediğiniz% 20'nin oranlarını tahmin etmesini isteyin gizli (test seti). Bu nedenle, bir test kullanıcısı bir öğeyi 4 yıldızla derecelendirmiş olabilir, ancak modeliniz 3.5'i öngörüyor, bu nedenle bu derecelendirmede 0.5 hata var ve bu tam olarak RMSE'nin geldiği yer. Ardından, sadece bir formül kullanarak tüm test setindeki hataların ortalamasını hesaplar ve son 0.71623 sonucunu elde edersiniz. BİNGO! Bu, RS'inizin ne kadar iyi (ya da daha doğrusu kötü) olmasıdır. Veya farklı formüller de kullanabilir ve MAE (ortalama mutlak hata) alabilirsiniz; bu da büyük hataları cezalandırmaz (gerçek 4 yıldız, 1 yıldız öngörülmüş), bu yüzden sadece 0.6134 elde edebilirsiniz.
Buradaki küçük dezavantaj, böyle bir verinin gerçek dünyada neredeyse bulunmaması veya en azından çok azının mevcut olmasıdır.
Kullanıcılar çok tembel ve hiçbir şeyi derecelendirmiyorlar. Sadece bir web sayfası açarlar ve gördüklerini beğenirlerse satın alabilir / tüketebilirler; eğer berbatsa, geldikleri kadar çabuk ayrılırlar. Ve böylece yalnızca web sunucusu günlüğünüzde veya bir satın alma veritabanınızdaki gizli derecelendirmelere sahip olursunuz ve yalnızca yıldız olmadığı için yıldız sayısı hatasını ölçemezsiniz. Yalnızca +1 = kullanıcı bir ayrıntıyı izlediniz veya bir ürün satın aldınız, ve genellikle başka hiçbir şey kullanmadınız. Bazen bunlara Facebook’un “Beğen” butonundan bildiğiniz unary derecelendirme denir: derecelendirme ya olumludur ya da bilinmez (kullanıcı içeriğin mevcut olduğunu bilemeyebilir).
SaaS danışmanlarının kendi çevrimdışı karşılaştırmalarını bile yapsanız bile, bu verilerdeki bölünmüş doğrulama özelliğini kullanabilirsiniz. Örneğin, satın alma veritabanınızı aldığınızı,% 80 kullanıcının geçmişini RS'ye gönderdiğinizi ve ardından her test kullanıcısı için yalnızca birkaç satın alma işlemi gönderdiğinizi ve RS'den kalanı tahmin etmesini isteyin. Satın aldığınız 4 eşyayı gizlemiş olabilir ve RS'den 10 öğe isteyebilirsiniz. Bu kullanıcı için% 10,% 25,% 50,% 75 veya% 100 doğruluk oranlarını önerilen 10'da kaç tane göründüğüne bağlı olarak alabilirsiniz. Bu doğruluğa Geri Çağırma denir. Tüm test setinizde ve TADAAA'da ortalamayı kaldırabilirsiniz! Sonuç% 31,4159, bu RS'inizin ne kadar iyi olduğudur.
Şimdi dürüst olmak gerekirse, Geri Çağırma RMSE'den çok daha akıllı olmasına rağmen, hala çok fazla acı getiriyor. Bir test kullanıcısının, aynı TV dizisinin 20 bölümünü izlediğini ve onun hakkında hatırlamayı ölçtüğünü söyleyin. Böylece # 18–20 arasındaki bölümleri gizlersiniz ve RS'den onları # 1-17 arasında tahmin etmelerini istersiniz. Bölümler güçlü bir şekilde bağlı olduğu için bu oldukça kolay bir işlemdir, böylece% 100'ü hatırlarsınız. Şimdi, kullanıcı yeni bir şey mi keşfetti? Ona böyle bir içerik önermek ister misiniz? Ve yine de en yüksek işletme değerini size getiren nedir? Diyelim ki çevrimiçi mağazada alternatifler veya aksesuarlar önermek ister misiniz? Hatırlama ile çok ince bir buza girdiğinizi hissetmelisiniz.
Ve size söyleyeceğim bir sır daha: Bazı durumlarda (her zaman değil, işinize bağlı!), Makul bir hatırlama elde etmek için yalnızca dünyanın en popüler öğelerini (a.k.a. en çok satanlar) önermek adil bir stratejidir. Yani burada katalog kapsamı geliyor. Kullanıcıların sadık kalmak için yeni ve yeni içerikler keşfetmeye devam etmelerini ister misiniz? O zaman mümkün olduğunca farklı öğeler önermek isteyebilirsiniz. En basit durumda, Katalog kapsamını hesaplamak için yalnızca test kullanıcılarınızı alın, her biri için öneri isteyin ve önerilen tüm öğeleri bir araya getirin. Çok çeşitli farklı öğeler elde edersiniz. Bu setin boyutunu tüm kataloğunuzdaki toplam ürün sayısına bölün ve elde edersiniz…% 42.125! Bu, RS'inizin önerebileceği öğelerin bir kısmı.
Şimdi en çok satan modelini düşünün. Oldukça iyi hatırlama olabilir ama neredeyse sıfır kapsama alanı (5 sabit madde?). Ve rastgele bir danışman bul. Neredeyse sıfır hatırlama ve% 100 kapsama sahiptir. Biraz uzlaşma istediğini hissedebilirsin.
Yukarıdaki resim benim (şimdi çok eski) orijinal araştırmamdan geliyor. Geri Çağırma-Kapama düzleminde çizilen yaklaşık 1000 farklı RS modelini görebilirsiniz. Geeky, değil mi? :) En iyisini seçerken başınızı döndürebilirsiniz, ancak üst sağdan bazılarını (“Pareto-optimal ön”) seçmenin iyi bir seçim olabileceğini umuyorum.
Çevrimdışı tahmininizi daha da güçlü kılmak için, bölünmüş doğrulama yerine çapraz doğrulama (Xval) kullanabilirsiniz. Kullanıcılarınızı 10 katmana ayırın ve döngüye girin: modeli oluşturmak için her zaman 9 kat kullanın ve doğrulamayı yapmak için kalan 1 kat'ı kullanın. Bu 10 deneme boyunca sonuçları ortalayın.
Şimdi diyebilirsiniz: Peki ya benim işim? Hatırlama ve kapsamın ölçülmesi iyi olabilir, ancak KPI'larım ile nasıl ilişkilidir?
Ve haklısın. SaaS RS'i X eksenine ve $$$ 'yi Y eksenine koymak için çevrimdışı dünyayı terketmek ve üretime geçmek zorundayız!
Çevrimiçi Dünya: Akıllı CTO örneklerini takip edin
Yukarıdaki bölüm, üretime geçmeden önce SC'nin kalitesini ölçmek üzereydi, şimdi iş KPI'leri hakkında konuşma zamanı.
Çevrimdışı değerlendirmede tipik olarak bölünmüş onaylama kullanılırken, çevrimiçi değerlendirmede A / B testi (veya çok değişkenli testi) bugünün en belirgin yaklaşımıdır. Birkaç farklı RS'i entegre edebilir, kullanıcılarınızı gruplara ayırabilir ve RS'leri savaşa sokabilirsiniz. Biraz pahalı, çünkü geliştirme kaynaklarınızı tüketiyor, bu nedenle tahmini entegrasyon zorluğunu ve gelecekteki kişiselleştirme / ayarlama maliyetlerini ölçütlerinizden biri olarak kullanabilirsiniz, bu da aday havuzunu azaltabilir.
Şimdi, entegrasyona hazır olduğunuzu ve çevrimiçi kullanıcılarınızı A / B test gruplarına ayırabildiğinizi varsayalım. Kendi UID çerezlerini kendi karma değerinizi kullanabilir veya bunun için bir araç kullanabilirsiniz (örneğin, son seçenek biraz acı verici olsa da VWO, Optimizely ve hatta GAlar). Deneyi yapmak için, web sitenizde / uygulamanızda önerilerin test edileceği iyi bir yer belirlemelisiniz, çünkü tüm aday RS'lerin tam entegrasyonunu pilot aşamada erken yapmak istemezsiniz, değil mi? Trafik yoğunluğu azsa, seçili yerin önemli sonuçlar toplayacak kadar görünür olması gerektiğini unutmayın. Tersi durumda, eğer yoğun bir trafiğiniz varsa, örneğin aday RS'lerin bazılarının kullanılması durumunda kendinizi ve geri kalan% 80 kullanıcılarını güvende tutmak için teste yalnızca% 20'sini salıvermek için koruyucu bir strateji seçebilirsiniz. tamamen kırılmak ve tuhaf şeyler tavsiye.
Her şeyin hazır ve çalışır durumda olduğunu varsayalım. Ölçmek için ne En kolay önlemler, önerilerin Tıklama Oranı (TO) ve Dönüşüm Oranıdır (CR).
Bir kullanıcı önerilen 3 öğeden en az birini tıkladığında, 3 kez N önerileri kümesi 20 kez görüntülendi? O zaman TO'nuz% 15'tir. Gerçekten de tıklamak çok hoş, ama muhtemelen kullanıcıyı bir detay sayfasına götürdü ve daha sonra ne olacağını bilmek isteyebilirsiniz. Kullanıcı içeriği gerçekten ilginç buldu mu? Tüm videoyu izledi, tüm şarkıyı dinledi, makalenin tamamını okudu, iş teklifine cevap verdi, ürünü sepete koydu ve gerçekten sipariş etti mi? Bu, dönüşüm oranı = hem sizi hem de kullanıcıyı mutlu eden önerilerin sayısıdır.
TO ve CR size danışman performansının iyi bir tahminini verebilir, ancak dikkatli kalmalı ve ürününüzü düşünmeye devam etmelisiniz. Son dakika haberi ana sayfaya koyarak bir haber portalı işletiyor olabilirsiniz. Bu, size mümkün olan en yüksek TO'yu getirmeyebilir, ancak sizin ve sizin hizmetinizle ilgili kalitenizi ve hislerinizi korur. Şimdi oraya bir RS koyabilirsiniz ve sarı gazetecilik makaleleri veya “inanılmaz hızda koşan çok hızlı köpekler” hakkındaki komik yazılar gibi farklı içerikleri göstermeye başlayabilirsiniz. Bu, acil TO'nuzu 5 kat artırabilir, ancak resminize zarar verir ve sizi uzun vadede kaybedebilirsiniz.
İşte SC'lerin ampirik değerlendirmesi. Boş çerezlerle yeni bir oturum başlatmanız, bir kullanıcının davranışını simüle etmeniz ve önerilerin aklı başında olup olmadığını kontrol etmeniz yeterli. Bir QA ekibiniz varsa, işe alın! Ampirik değerlendirme aynı anda hem karmaşık hem de kolaydır. Karmaşık çünkü ürün panosunda sunabileceğiniz hiçbir rakamı üretmiyor. Ama aynı zamanda kolaydır, çünkü insan sezginiz sayesinde, hangi tavsiyelerin iyi, hangilerinin kötü olduğunu göreceksiniz. Tuhaf çalışan bir danışman seçtiyseniz, şu an TO / CR yüksek olsa bile kendinizi gelecekteki sıkıntıya sokuyorsunuz.
Ancak elbette, kalitenin yanı sıra, Yatırımın Geri Dönüşünü (YG) dikkate almalısınız.
Basitçe söylemek gerekirse, A / B testi kat # 1'in temel kat # 0'a (mevcut çözümünüz) göre dönüşüm oranında% X artışa neden olduğunu, marjınızın ortalama olarak başarılı bir şekilde önerilen öğenin Y $ olduğunu ve Z önerisinin bunu başarmasını gerektirdiğini söyledi. Hesaplamayı yapın, verilen RS'yi trafiğinizin% 100'üne koyarsanız, web sitenizin / uygulamanızın diğer bölümlerine de entegre edildiğinde masrafları / gelirleri hesaplayın.
Yatırım Getirisi hesaplaması hakkında bir uyarı: Çok bulanık ve çok fazla bilinmeyene bağlı: CR web sitemde / uygulamamdaki diğer yerlerde de aynı olacak mı? (Basit cevap = hayır, olmaz, farklı yerlerde farklı TO / CR var). Tavsiyelerin az ya da çok çekici bir konuma getirilmesi halinde, CR nasıl değişecek? (Basit cevap = çok). CR zaman içinde nasıl gelişecek? Kullanıcılar bu öneriyi kullanmayı ve ona güvenmeyi mi öğrenecekler, yoksa CR reddedecek mi?
Bu, nihai ancak en zor ölçüme yol açar: Müşteri Ömür Boyu Değer (CLV). Kazan-kazan durumu için arıyorsunuz. Kullanıcılarınızın hizmetten hoşlanmalarını, kendilerini rahat hissetmelerini, mutlu olmalarını ve geri dönmeye istekli olmalarını istiyorsunuz. Bununla birlikte, RS'in UX'i geliştirmesini, kullanıcıların istedikleri ilginç içeriği / ürünleri bulmalarına yardımcı olmasını istiyorsunuz. Bir RS kullanarak yüksek CLV'ye nasıl ulaşılır?
Burada basit bir öneri yok. Yüksek ampirik kaliteye ve makul bir YG değerine sahip hoş öneriler aramalısınız. Tecrübelerime göre, önerilerin doğruluğu genellikle işletme değerine tekabül eder, QA ekibinizden / CEO’nuzdan gelen şikayetler tarafından gönderilmenizi önler. Ve iş vakasının olumlu olduğunu gözlemlerseniz, aradığınızı bulmuş olursunuz :)
SC'leri değerlendirmenin en önemli yönlerini kapsamaya çalıştım. Bunun kolay bir iş olmadığını görmüş olabilirsiniz ve dikkate alınması gereken çok şey var, ama umarım en azından bölgedeki yolunuzu bulmak için size bazı ipuçları vermiştir. Üretime başlamadan önce bile RS'leri çevrimdışı olarak test edebilirsiniz veya CTR / CR ve ROI tahmini ile üretim A / B testleri yapabilirsiniz. Her zaman bir miktar KG ekleyin, çünkü yalnızca TO / CR / ROI yanıltıcı olabilir ve ürününüzün vizyonuyla uyumluluk garantisi vermez.
Sadece metni çok uzun süre tutmak için çok şey atlandı. CTR / CR / ROI / önerilerin kalitesinin yanı sıra, değerlendirilen SC'nin genel yeteneklerine de hızlı bir şekilde göz atmalısınız. Gelecekte e-posta kampanyalarınıza öneriler eklemek isteyebilirsiniz. İşe yarayacak mı? Belirli bir kullanıcının her bir e-postada aynı öneri kümesini almaması için önerileri döndürme yetenekleri var mı? Tüm iş gereksinimlerinizi yerine getirebilir, önerileri etkileyebilir, bir tür içeriği artırabilir, çeşitli kriterlere göre filtreleyebilir misiniz? Bunlar ele alınmayan konular ama aynı zamanda onları düşünmek istediğinizi düşünebilirsiniz.
Yazar, karmaşık bir SaaS Tavsiye Motoru olan Recombee'nin ortak kurucusudur.