Saqlash: Python va Pandas-da mahsulot tahlili uchun ochiq manbali vositalarni qanday yozganmiz

Salom, Habr. Ushbu maqola ilova yoki veb-saytda foydalanuvchi harakati traektoriyalarini qayta ishlash usullari va vositalari to'plamini ishlab chiqishning to'rt yillik natijalariga bag'ishlangan. Ishlanma muallifi - Maksim Godzi, mahsulot yaratuvchilar jamoasini boshqaradigan va ayni paytda maqola muallifi. Mahsulotning o'zi Retentioneering deb nomlangan; u endi ochiq manba kutubxonasiga aylantirildi va har kim undan foydalanishi uchun Github-ga joylashtirildi. Bularning barchasi mahsulot va marketing tahlili, reklama va mahsulotni ishlab chiqish bilan shug'ullanadiganlar uchun qiziqarli bo'lishi mumkin. Aytgancha, HabrΓ©-da Retentioneering bilan ishlash holatlaridan biri haqida allaqachon maqola chop etilgan. Yangi material mahsulot nimaga qodirligini va undan qanday foydalanish mumkinligini tushuntiradi.

Maqolani o'qib chiqqandan so'ng, siz o'zingizning Retentioneering-ni yozishingiz mumkin; bu ilovada va undan tashqarida foydalanuvchi traektoriyalarini qayta ishlashning har qanday standartlashtirilgan usuli bo'lishi mumkin, bu sizga xatti-harakatlarning xususiyatlarini batafsil ko'rish va undan o'sish uchun tushunchalarni olish imkonini beradi. biznes ko'rsatkichlari.

Saqlash nima va u nima uchun kerak?

Bizning boshlang'ich maqsadimiz Growth Hackingni "raqamli jodugarlik" dunyosidan raqamlar, tahlillar va prognozlar dunyosiga o'tkazish edi. Natijada, mahsulot tahlili fantastik hikoyalar o'rniga raqamlarni afzal ko'rganlar uchun sof matematika va dasturlashga, formulalar esa yoqimli eshitiladigan, ammo amalda ozgina yordam beradigan "rebrending", "repozitsiyani o'zgartirish" va hokazo so'zlarga aylantiriladi.

Ushbu muammolarni hal qilish uchun bizga grafiklar va traektoriyalar orqali tahlil qilish uchun asos va shu bilan birga odamlar va robotlar uchun tushunarli bo'lgan mahsulot tahlili bo'yicha muntazam vazifalarni tavsiflash usuli sifatida odatiy tahlilchilarning tartiblarini soddalashtiradigan kutubxona kerak edi. Kutubxona foydalanuvchi xatti-harakatlarini tasvirlash va uni mahsulot biznes ko'rsatkichlari bilan shunday rasmiy va tushunarli tilda bog'lash imkoniyatini beradi, bu esa ishlab chiquvchilar va tahlilchilarning odatiy vazifalarini soddalashtiradi va avtomatlashtiradi va ularning biznes bilan aloqasini osonlashtiradi.

Saqlash - bu har qanday raqamli (va nafaqat) mahsulotga moslashtirilishi va birlashtirilishi mumkin bo'lgan usul va analitik dasturiy vositalar.

Biz 2015 yilda mahsulot ustida ishlay boshladik. Endi bu Python va Pandas-da ma'lumotlar bilan ishlash uchun tayyor, lekin hali ideal bo'lmagan asboblar to'plami, sklearn-ga o'xshash api bilan mashinani o'rganish modellari, eli5 va shap mashina o'rganish modellari natijalarini sharhlash vositalari.

Hammasi o'ralgan ochiq Github omboridagi qulay ochiq manba kutubxonasiga - retentioneering-tools. Kutubxonadan foydalanish qiyin emas; mahsulot tahlilini yaxshi ko'radigan, lekin ilgari kod yozmagan deyarli har bir kishi bizning tahlil usullarini o'z ma'lumotlariga mustaqil ravishda va katta vaqt sarflamasdan qo'llashi mumkin.

Xo'sh, dasturchi, dastur yaratuvchisi yoki ilgari hech qachon tahlil qilmagan ishlab chiqish yoki sinov guruhi a'zosi ushbu kod bilan o'ynashni boshlashi va tashqi yordamisiz o'z ilovalaridan foydalanish modellarini ko'rishi mumkin.

Foydalanuvchi traektoriyasi tahlilning asosiy elementi va uni qayta ishlash usullari sifatida

Foydalanuvchi traektoriyasi - ma'lum vaqt nuqtalarida foydalanuvchi holatlari ketma-ketligi. Bundan tashqari, voqealar turli xil ma'lumotlar manbalaridan, ham onlayn, ham oflayn bo'lishi mumkin. Foydalanuvchi bilan sodir bo'lgan voqealar uning traektoriyasining bir qismidir. Misollar:
β€’ tugmani bosdi
β€’ rasmni ko'rdim
β€’ ekranga bosing
β€’ elektron pochta xabari oldi
β€’ mahsulotni do'stingizga tavsiya qilgan
β€’ shaklni to'ldirdi
β€’ ekranga tegdi
β€’ aylantirildi
β€’ kassaga bordi
β€’ burritoga buyurtma berdi
β€’ burrito yedi
β€’ burrito yeyib zaharlangan
β€’ orqa eshikdan kafega kirdi
β€’ old eshikdan kirgan
β€’ ilovani minimallashtirdi
β€’ push-bildirishnoma oldi
β€’ ekranda X dan uzoqroq turdi
β€’ buyurtma uchun to'langan
β€’ buyurtmani sotib oldi
β€’ kredit berish rad etildi

Agar siz foydalanuvchilar guruhining traektoriya ma'lumotlarini olsangiz va o'tishlar qanday tuzilganligini o'rgansangiz, ularning ilovadagi xatti-harakatlari qanday tuzilganligini aniq kuzatishingiz mumkin. Buni holatlar tugunlar bo'lgan va holatlar orasidagi o'tishlar qirralar bo'lgan grafik orqali qilish qulay:

Saqlash: Python va Pandas-da mahsulot tahlili uchun ochiq manbali vositalarni qanday yozganmiz

"Traektoriya" juda qulay tushunchadir - u foydalanuvchining barcha harakatlari haqida batafsil ma'lumotni o'z ichiga oladi, bu harakatlar tavsifiga har qanday qo'shimcha ma'lumotlarni qo'shish imkoniyati mavjud. Bu uni universal ob'ektga aylantiradi. Agar sizda traektoriyalar bilan ishlashga imkon beruvchi chiroyli va qulay vositalaringiz bo'lsa, unda siz o'xshashliklarni topishingiz va ularni segmentlarga bo'lishingiz mumkin.

Traektoriya segmentatsiyasi dastlab juda murakkab ko'rinishi mumkin. Oddiy holatda, bu shunday - ulanish matritsasini taqqoslash yoki ketma-ketlikni moslashtirishdan foydalanishingiz kerak. Biz oddiyroq yo'lni topishga muvaffaq bo'ldik - ko'p sonli traektoriyalarni o'rganish va ularni klasterlash orqali segmentlash.

Ma'lum bo'lishicha, uzluksiz tasvirlar yordamida traektoriyani nuqtaga aylantirish mumkin, masalan, TF-IDF. Transformatsiyadan so'ng, traektoriya kosmosdagi nuqtaga aylanadi, bu erda traektoriyadagi turli hodisalar va ular orasidagi o'tishlarning normallashgan hodisasi o'qlar bo'ylab chiziladi. Ming yoki undan ortiq o'lchovli fazodagi bu narsa (dimS=sum(hodisa turlari)+sum(grams_2 turlari)) yordamida tekislikka proyeksiyalanishi mumkin. TSNE. TSNE - bu bo'shliq o'lchamini 2 o'qgacha qisqartiradigan va iloji bo'lsa, nuqtalar orasidagi nisbiy masofalarni saqlaydigan transformatsiya. Shunga ko'ra, tekis xaritada, traektoriyalarning majoziy proyeksiya xaritasida turli traektoriyalarning nuqtalari o'zaro qanday joylashganligini o'rganish mumkin bo'ladi. Ular bir-biriga qanchalik yaqin yoki farqli bo'lganligi, klasterlar hosil qilganligi yoki xarita bo'ylab tarqalib ketganligi va hokazolarni tahlil qiladi:

Saqlash: Python va Pandas-da mahsulot tahlili uchun ochiq manbali vositalarni qanday yozganmiz

Saqlash tahlili vositalari murakkab ma'lumotlar va traektoriyalarni bir-biri bilan solishtirish mumkin bo'lgan ko'rinishga aylantirish qobiliyatini ta'minlaydi, so'ngra transformatsiya natijasini tekshirish va sharhlash mumkin.

Traektoriyalarni qayta ishlashning standart usullari haqida gapirganda, biz Retentioneering-da amalga oshirgan uchta asosiy vositani nazarda tutamiz - grafiklar, qadam matritsalari va traektoriya proyeksiyasi xaritalari.

Google Analytics, Firebase va shunga o'xshash tahlil tizimlari bilan ishlash juda murakkab va 100% samarali emas. Muammo foydalanuvchi uchun bir qator cheklovlardir, buning natijasida tahlilchining bunday tizimlarda ishlashi sichqonchani bosish va bo'laklarni tanlashga bog'liq. Saqlash Google Analytics-da bo'lgani kabi nafaqat huni bilan emas, balki foydalanuvchi traektoriyalari bilan ishlashga imkon beradi, bu erda ma'lum bir segment uchun tuzilgan bo'lsa ham, tafsilotlar darajasi ko'pincha hunigacha kamayadi.

Saqlash va holatlar

Ishlab chiqilgan vositadan foydalanishga misol sifatida biz Rossiyadagi yirik xizmat ko'rsatish misolini keltirishimiz mumkin. Ushbu kompaniya mijozlar orasida mashhur bo'lgan Android mobil ilovasiga ega. Mobil ilovadan yillik aylanma taxminan 7 million rublni tashkil etdi, mavsumiy tebranishlar 60-130 mingni tashkil etdi. Xuddi shu kompaniyada iOS uchun ilova ham mavjud va Apple ilovasi foydalanuvchisining o'rtacha hisobi o'rtacha hisob-kitobdan yuqori bo'lgan. Android ilovasidan foydalanuvchi mijoz - 1080 rub. 1300 rublga nisbatan.

Kompaniya Android ilovasining samaradorligini oshirishga qaror qildi, buning uchun u har tomonlama tahlil qildi. Ilovaning samaradorligini oshirish haqida bir necha o'nlab farazlar ishlab chiqilgan. Retentionneering-dan foydalangandan so'ng, muammo yangi foydalanuvchilarga ko'rsatilgan xabarlarda ekanligi ma'lum bo'ldi. Ular brend, kompaniyaning afzalliklari va narxlari haqida ma'lumot olishdi. Ammo, ma'lum bo'lishicha, xabarlar foydalanuvchiga ilovada qanday ishlashni o'rganishga yordam berishi kerak edi.

Saqlash: Python va Pandas-da mahsulot tahlili uchun ochiq manbali vositalarni qanday yozganmiz

Bu amalga oshirildi, buning natijasida dastur kamroq o'chirildi va buyurtmaga o'tishning o'sishi 23% ni tashkil etdi. Dastlab, kiruvchi trafikning 20 foizi sinovga berildi, biroq bir necha kundan so'ng, birinchi natijalarni tahlil qilib, tendentsiyani baholagandan so'ng, ular nisbatlarni o'zgartirdilar va aksincha, nazorat guruhiga 20 foizni qoldirdilar va sakson foizi sinovdan o'tkazildi. Bir hafta o'tgach, yana ikkita gipoteza sinovini ketma-ket qo'shishga qaror qilindi. Atigi yetti hafta ichida Android ilovasidan aylanma avvalgi darajaga nisbatan bir yarim barobar oshdi.

Retentioneering bilan qanday ishlash kerak?

Birinchi qadamlar juda oddiy - kutubxonani pip install retentioneering buyrug'i bilan yuklab oling. Omborning o'zida mahsulot tahlili bo'yicha ba'zi vazifalar uchun tayyor misollar va ma'lumotlarni qayta ishlash holatlari mavjud. To'plam birinchi tanishish uchun etarli bo'lgunga qadar doimiy ravishda yangilanadi. Har kim tayyor modullarni olishi va ularni darhol o'z vazifalariga qo'llashi mumkin - bu ularga imkon qadar tez va samarali ravishda batafsilroq tahlil qilish va foydalanuvchi traektoriyalarini optimallashtirish jarayonini darhol yo'lga qo'yish imkonini beradi. Bularning barchasi aniq kod orqali ilovalardan foydalanish modellarini topish va bu tajribani hamkasblar bilan baham ko'rish imkonini beradi.

Saqlash - bu ilovangizning butun umri davomida foydalanishga arziydigan vosita va nima uchun:

  • Saqlash foydalanuvchi traektoriyalarini kuzatish va doimiy ravishda optimallashtirish va biznes faoliyatini yaxshilash uchun samarali hisoblanadi. Shunday qilib, ko'pincha elektron tijorat ilovalariga yangi xususiyatlar qo'shiladi, ularning mahsulotga ta'sirini har doim ham to'g'ri bashorat qilib bo'lmaydi. Ba'zi hollarda, yangi va eski funktsiyalar o'rtasida moslik muammolari paydo bo'ladi - masalan, yangilari mavjudlarini "kannibalizatsiya qiladi". Va bu vaziyatda traektoriyalarni doimiy tahlil qilish kerak.
  • Reklama kanallari bilan ishlashda vaziyat o'xshash: yangi trafik manbalari va reklama kreativlari doimiy ravishda sinovdan o'tkazilmoqda, mavsumiylikni, tendentsiyalarni va boshqa hodisalarning ta'sirini kuzatib borish kerak, bu esa tobora ko'proq muammolarning yangi sinflari paydo bo'lishiga olib keladi. Bu, shuningdek, doimiy monitoring va foydalanuvchi mexanikasini talqin qilishni talab qiladi.
  • Ilovaning ishlashiga doimiy ta'sir ko'rsatadigan bir qator omillar mavjud. Masalan, ishlab chiquvchilarning yangi nashrlari: joriy muammoni yopish, ular o'ylamasdan eskisini qaytaradilar yoki butunlay yangisini yaratadilar. Vaqt o'tishi bilan yangi nashrlar soni ortib bormoqda va xatolarni kuzatish jarayoni, shu jumladan foydalanuvchi traektoriyalarini tahlil qilish orqali avtomatlashtirilishi kerak.

Umuman olganda, Retentioneering samarali vositadir. Ammo mukammallikka cheklov yo'q - uni yaxshilash, ishlab chiqish va uning asosida yangi ajoyib mahsulotlar qurish mumkin va kerak. Loyiha jamoasi qanchalik faol bo'lsa, vilkalar shunchalik ko'p bo'ladi va undan foydalanishning yangi qiziqarli variantlari paydo bo'ladi.

Retentioneering vositalari haqida ko'proq ma'lumot:

Manba: www.habr.com

a Izoh qo'shish