Elde Tutma: Python ve Pandas'ta ürün analitiği için açık kaynaklı araçları nasıl yazdık?

Merhaba Habr. Bu makale, bir uygulama veya web sitesindeki kullanıcı hareketi yörüngelerini işlemek için bir dizi yöntem ve aracın dört yıllık gelişiminin sonuçlarına ayrılmıştır. Geliştirmenin yazarı - Maksim GodziÜrün yaratıcıları ekibine başkanlık eden ve aynı zamanda makalenin de yazarıdır. Ürünün kendisi Retentioneering olarak adlandırıldı; artık açık kaynaklı bir kitaplığa dönüştürüldü ve herkesin kullanabilmesi için Github'da yayınlandı. Bütün bunlar ürün ve pazarlama analizi, tanıtım ve ürün geliştirmeyle ilgilenenlerin ilgisini çekebilir. Bu arada, Habré'de Retentioneering ile çalışma durumlarından biri hakkında bir makale zaten yayınlandı. Yeni materyal, ürünün neler yapabileceğini ve nasıl kullanılabileceğini açıklıyor.

Makaleyi okuduktan sonra, kendi Elde Tutma Yönteminizi kendiniz yazabileceksiniz; bu, uygulamadaki ve ötesindeki kullanıcı gidişatlarını işlemek için herhangi bir standartlaştırılmış yöntem olabilir; bu, davranışın özelliklerini ayrıntılı olarak görmenize ve bundan büyüme için içgörüler elde etmenize olanak tanır. iş metrikleri.

İşte Tutma nedir ve neden gereklidir?

İlk hedefimiz Growth Hacking'i "dijital büyücülük" dünyasından sayılar, analizler ve tahminler dünyasına taşımaktı. Sonuç olarak, fantastik hikayeler yerine sayıları tercih edenler için ürün analitiği saf matematik ve programlamaya, formüller ise kulağa hoş gelen ama pratikte çok az faydası olan "yeniden markalama", "yeniden konumlandırma" vb. moda sözcüklere indirgeniyor.

Bu sorunları çözmek için, grafikler ve yörüngeler yoluyla analitik için bir çerçeveye ve aynı zamanda hem insanlar hem de robotlar için anlaşılır olacak düzenli ürün analitiği görevlerini tanımlamanın bir yolu olarak tipik analist rutinlerini basitleştiren bir kitaplığa ihtiyacımız vardı. Kütüphane, geliştiricilerin ve analistlerin rutin görevlerini basitleştirip otomatikleştirecek ve iş ile iletişimlerini kolaylaştıracak şekilde, kullanıcı davranışını tanımlama ve bunu ürün iş ölçümlerine bağlama becerisini öylesine resmi ve açık bir dille sağlar.

Elde tutma, herhangi bir dijital (ve yalnızca) ürüne uyarlanabilen ve entegre edilebilen bir yöntem ve analitik yazılım araçlarıdır.

2015 yılında ürün üzerinde çalışmaya başladık. Şimdi bu, Python ve Pandas'ta verilerle çalışmak için hazır, ancak ideal olmasa da bir dizi araç, sklearn benzeri API ile makine öğrenme modelleri, eli5 ve shap makine öğrenme modellerinin sonuçlarını yorumlamak için araçlardır.

Her şey tamamlandı açık Github deposundaki kullanışlı bir açık kaynak kitaplığa - saklama araçları. Kütüphaneyi kullanmak zor değil; ürün analitiğini seven ancak daha önce kod yazmamış olan hemen hemen herkes, analitik yöntemlerimizi bağımsız olarak ve önemli bir zaman yatırımı yapmadan verilerine uygulayabilir.

Daha önce hiç analiz yapmamış bir programcı, uygulama yaratıcısı veya geliştirme veya test ekibinin bir üyesi, bu kodla oynamaya başlayabilir ve dışarıdan yardım almadan uygulamalarının kullanım kalıplarını görebilir.

Analizin temel unsuru olarak kullanıcı yörüngesi ve işlenmesine yönelik yöntemler

Kullanıcı yörüngesi, belirli zaman noktalarındaki kullanıcı durumlarının bir dizisidir. Üstelik olaylar hem çevrimiçi hem de çevrimdışı olmak üzere farklı veri kaynaklarından gelebilir. Kullanıcının başına gelen olaylar onun gidişatının bir parçasıdır. Örnekler:
• düğmeye basıldı
• resmi gördüm
• ekrana basın
• bir e-posta aldım
• ürünü bir arkadaşına tavsiye etti
• formu doldurdu
• ekrana dokundum
• kaydırılmış
• kasaya gittim
• burrito siparişi verdim
• burrito yedim
• burrito yiyerek zehirlendim
• kafeye arka girişten girildi
• ön girişten girilir
• uygulamayı en aza indirdi
• bir anlık bildirim aldı
• ekranda X'ten daha uzun süre takılı kaldı
• sipariş için ödeme yapıldı
• siparişi satın aldı
• kredi reddedildi

Bir grup kullanıcının yörünge verilerini alıp geçişlerin nasıl yapılandırıldığını incelerseniz, uygulamadaki davranışlarının tam olarak nasıl yapılandırıldığını izleyebilirsiniz. Bunu, durumların düğüm olduğu ve durumlar arasındaki geçişlerin kenar olduğu bir grafik aracılığıyla yapmak uygundur:

Elde Tutma: Python ve Pandas'ta ürün analitiği için açık kaynaklı araçları nasıl yazdık?

"Yörünge" çok kullanışlı bir kavramdır - tüm kullanıcı eylemleri hakkında ayrıntılı bilgiler içerir ve bu eylemlerin açıklamasına herhangi bir ek veri ekleme olanağı sunar. Bu onu evrensel bir nesne haline getirir. Yörüngelerle çalışmanıza olanak tanıyan güzel ve kullanışlı araçlarınız varsa benzerlikleri bulabilir ve bunları bölümlere ayırabilirsiniz.

Yörünge bölümlendirmesi ilk başta çok karmaşık görünebilir. Normal bir durumda durum budur; bağlantı matrisi karşılaştırmasını veya dizi hizalamasını kullanmanız gerekir. Çok sayıda yörüngeyi incelemek ve bunları kümeleme yoluyla bölümlere ayırmak için daha basit bir yol bulmayı başardık.

Anlaşıldığı üzere, sürekli temsiller kullanarak bir yörüngeyi bir noktaya dönüştürmek mümkündür, örneğin: TF-IDF. Dönüşümün ardından yörünge, yörüngede çeşitli olayların normalize edilmiş oluşumunun ve bunlar arasındaki geçişlerin eksenler boyunca çizildiği uzayda bir nokta haline gelir. Bin veya daha fazla boyutlu devasa bir uzaydan gelen bu şey (dimS=sum(event type)+sum(ngrams_2 type)) kullanılarak bir düzleme yansıtılabilir. TSNE. TSNE, uzayın boyutunu 2 eksene indiren ve mümkünse noktalar arasındaki göreceli mesafeleri koruyan bir dönüşümdür. Buna göre, düz bir harita üzerinde, yörüngelerin mecazi bir projeksiyon haritası üzerinde, farklı yörüngelerin noktalarının kendi aralarında nasıl konumlandığını incelemek mümkün hale gelir. Birbirlerine ne kadar yakın veya farklı olduklarını, kümeler oluşturup oluşturmadıklarını veya haritaya dağılmış olup olmadıklarını vb. analiz eder:

Elde Tutma: Python ve Pandas'ta ürün analitiği için açık kaynaklı araçları nasıl yazdık?

Elde tutma analitiği araçları, karmaşık verileri ve yörüngeleri birbirleriyle karşılaştırılabilecek ve daha sonra dönüşümün sonucunun incelenip yorumlanabileceği bir görünüme dönüştürme yeteneği sağlar.

Yörüngeleri işlemeye yönelik standart yöntemlerden bahsederken, Elde Tutmada uyguladığımız üç ana aracı kastediyoruz: grafikler, adım matrisleri ve yörünge projeksiyon haritaları.

Google Analytics, Firebase ve benzeri analiz sistemleriyle çalışmak oldukça karmaşıktır ve %100 etkili değildir. Sorun, kullanıcı için bir takım kısıtlamalardır, bunun sonucunda analistin bu tür sistemlerde çalışması fare tıklamalarına ve dilim seçimine bağlıdır. Elde tutma, belirli bir segment için oluşturulmuş olsa da ayrıntı düzeyinin genellikle bir dönüşüm hunisine indirgendiği Google Analytics'te olduğu gibi yalnızca dönüşüm hunileriyle değil, kullanıcı yörüngeleriyle de çalışmayı mümkün kılar.

Saklama ve vakalar

Geliştirilen aracın kullanımına örnek olarak, Rusya'daki geniş bir niş hizmet örneğini verebiliriz. Bu şirketin müşteriler arasında popüler olan bir Android mobil uygulaması var. Mobil uygulamanın yıllık cirosu 7 milyon ruble civarında, sezonsal dalgalanmalar 60-130 bin arasında değişiyordu. Aynı firmanın iOS uygulaması da var ve Apple uygulamasını kullanan bir kullanıcının ortalama faturası, 1080 yılının ortalama faturasının üzerinde gerçekleşti. Android uygulamasını kullanan bir müşteri - 1300 ovmak. XNUMX ovmaya karşı.

Şirket, kapsamlı bir analiz yaptığı Android uygulamasının verimliliğini artırmaya karar verdi. Uygulamanın etkinliğinin arttırılması konusunda birkaç düzine hipotez üretildi. Retentionneering'i kullandıktan sonra sorunun yeni kullanıcılara gösterilen mesajlarda olduğu ortaya çıktı. Marka, firma avantajları ve fiyatları hakkında bilgi aldılar. Ancak ortaya çıktığı üzere mesajların kullanıcının uygulamada nasıl çalışacağını öğrenmesine yardımcı olması gerekiyordu.

Elde Tutma: Python ve Pandas'ta ürün analitiği için açık kaynaklı araçları nasıl yazdık?

Bu yapıldı, bunun sonucunda uygulama daha az kaldırıldı ve siparişe dönüşümdeki artış %23 oldu. İlk başta gelen trafiğin yüzde 20'si teste verildi, ancak birkaç gün sonra ilk sonuçları analiz edip trendi değerlendirdikten sonra oranlar tersine döndü ve tam tersine yüzde 20'yi kontrol grubuna bıraktılar ve yüzde sekseni sınava girdi. Bir hafta sonra, iki hipotezin daha test edilmesinin sırayla eklenmesine karar verildi. Sadece yedi hafta içinde Android uygulamasının cirosu önceki seviyeye göre bir buçuk kat arttı.

Elde Tutma ile nasıl çalışılır?

İlk adımlar oldukça basit; kitaplığı pip install keepeering komutuyla indirin. Havuzun kendisi, bazı ürün analitiği görevleri için hazır örnekler ve veri işleme vakaları içerir. Set, ilk tanışma için yeterli olana kadar sürekli güncellenmektedir. Herkes hazır modülleri alabilir ve bunları hemen görevlerine uygulayabilir; bu, daha ayrıntılı analiz sürecini ve kullanıcı yörüngelerinin optimizasyonunu olabildiğince hızlı ve verimli bir şekilde hemen kurmalarına olanak tanır. Tüm bunlar, açık kod aracılığıyla uygulama kullanım kalıplarını bulmayı ve bu deneyimi meslektaşlarınızla paylaşmayı mümkün kılar.

Elde tutma, uygulamanızın ömrü boyunca kullanmaya değer bir araçtır ve nedeni şu:

  • Elde tutma, kullanıcı gidişatını izlemek ve sürekli olarak optimize etmek ve iş performansını artırmak için etkilidir. Bu nedenle e-ticaret uygulamalarına sıklıkla yeni özellikler ekleniyor ve bunların ürün üzerindeki etkisi her zaman doğru tahmin edilemiyor. Bazı durumlarda, yeni ve eski işlevler arasında uyumluluk sorunları ortaya çıkar; örneğin yeni işlevler, mevcut işlevleri "yamyamlaştırır". Ve bu durumda, tam da ihtiyaç duyulan şey, yörüngelerin sürekli analizidir.
  • Reklam kanallarıyla çalışırken de durum benzer: yeni trafik kaynakları ve reklam yaratıcıları sürekli olarak test ediliyor, mevsimselliği, eğilimleri ve diğer olayların etkisini izlemek gerekiyor, bu da giderek daha fazla yeni sorun sınıfının ortaya çıkmasına yol açıyor. Bu aynı zamanda kullanıcı mekaniğinin sürekli izlenmesini ve yorumlanmasını gerektirir.
  • Bir uygulamanın performansını sürekli olarak etkileyen çeşitli faktörler vardır. Örneğin, geliştiricilerin yeni sürümleri: mevcut bir sorunu kapatarak, farkında olmadan eskisini iade ederler veya tamamen yeni bir tane yaratırlar. Zamanla yeni sürümlerin sayısı artıyor ve hata izleme sürecinin, kullanıcı gidişatının analiz edilmesi de dahil olmak üzere otomatikleştirilmesi gerekiyor.

Genel olarak, Elde Tutma etkili bir araçtır. Ancak mükemmelliğin bir sınırı yoktur - geliştirilebilir, geliştirilebilir ve temel alınarak yeni harika ürünler oluşturulabilir ve geliştirilmelidir. Projenin topluluğu ne kadar aktifse, o kadar fazla çatal olacak ve onu kullanmak için yeni ilginç seçenekler ortaya çıkacak.

Elde Tutma araçları hakkında daha fazla bilgi:

Kaynak: habr.com

Yorum ekle