Pengekalan: cara kami menulis alatan sumber terbuka untuk analisis produk dalam Python dan Panda

Hello, Habr. Artikel ini ditumpukan kepada hasil pembangunan empat tahun satu set kaedah dan alatan untuk memproses trajektori pergerakan pengguna dalam aplikasi atau tapak web. Pengarang pembangunan - Maxim Godzi, yang mengetuai pasukan pencipta produk dan juga pengarang artikel. Produk itu sendiri dipanggil Retentioneering; ia kini telah ditukar menjadi perpustakaan sumber terbuka dan disiarkan di Github supaya sesiapa sahaja boleh menggunakannya. Semua ini mungkin menarik minat mereka yang terlibat dalam analisis produk dan pemasaran, promosi dan pembangunan produk. By the way, pada HabrΓ© satu artikel telah pun diterbitkan tentang salah satu kes bekerja dengan Retentioneering. Bahan baharu menerangkan perkara yang boleh dilakukan oleh produk dan cara ia boleh digunakan.

Selepas membaca artikel itu, anda sendiri akan dapat menulis Pengekalan anda sendiri; ia boleh menjadi sebarang kaedah piawai untuk memproses trajektori pengguna dalam aplikasi dan seterusnya, membolehkan anda melihat secara terperinci ciri-ciri tingkah laku dan mengekstrak pandangan daripada ini untuk pertumbuhan daripada metrik perniagaan.

Apakah Pengekalan dan mengapa ia diperlukan?

Matlamat awal kami adalah untuk memindahkan Growth Hacking daripada dunia "sihir digital" kepada dunia nombor, analitik dan ramalan. Akibatnya, analitis produk dikurangkan kepada matematik tulen dan pengaturcaraan bagi mereka yang lebih suka nombor berbanding cerita yang hebat, dan formula kepada kata kunci seperti "penjenamaan semula", "penjenamaan semula", dll., yang kedengaran bagus, tetapi dalam praktiknya tidak banyak membantu.

Untuk menyelesaikan masalah ini, kami memerlukan rangka kerja untuk analitik melalui graf dan trajektori, dan pada masa yang sama perpustakaan yang memudahkan rutin penganalisis biasa, sebagai cara untuk menerangkan tugas analitik produk biasa yang boleh difahami oleh orang dan robot. Perpustakaan menyediakan keupayaan untuk menerangkan tingkah laku pengguna dan memautkannya kepada metrik perniagaan produk dalam bahasa yang formal dan jelas sehingga memudahkan dan mengautomasikan tugas rutin pembangun dan penganalisis, serta memudahkan komunikasi mereka dengan perniagaan.

Pengekalan ialah kaedah dan alatan perisian analisis yang boleh disesuaikan dan disepadukan ke dalam mana-mana produk digital (dan bukan sahaja).

Kami mula mengusahakan produk pada tahun 2015. Kini ini adalah set alat dalam Python dan Panda yang siap sedia, walaupun belum ideal untuk bekerja dengan data, model pembelajaran mesin dengan api seperti sklearn, alat untuk mentafsir hasil model pembelajaran mesin eli5 dan shap.

Semuanya terbungkus ke perpustakaan sumber terbuka yang mudah dalam repositori Github terbuka - alat pengekalan. Menggunakan perpustakaan tidak sukar; hampir sesiapa sahaja yang menyukai analitis produk, tetapi tidak menulis kod sebelum ini, boleh menggunakan kaedah analitis kami pada data mereka secara bebas dan tanpa pelaburan masa yang ketara.

Nah, seorang pengaturcara, pencipta aplikasi atau ahli pasukan pembangunan atau ujian yang tidak pernah melakukan analitis sebelum ini boleh mula bermain dengan kod ini dan melihat corak penggunaan aplikasi mereka tanpa bantuan pihak luar.

Trajektori pengguna sebagai elemen asas analisis dan kaedah untuk pemprosesannya

Trajektori pengguna ialah urutan keadaan pengguna pada titik masa tertentu. Selain itu, acara boleh datang daripada sumber data yang berbeza, dalam talian dan luar talian. Peristiwa yang berlaku kepada pengguna adalah sebahagian daripada trajektorinya. Contoh:
β€’ menekan butang
β€’ melihat gambar
β€’ tekan skrin
β€’ menerima e-mel
β€’ mengesyorkan produk kepada rakan
β€’ mengisi borang
β€’ mengetik skrin
β€’ ditatal
β€’ pergi ke daftar tunai
β€’ memesan burrito
β€’ makan burrito
β€’ mendapat keracunan dengan memakan burrito
β€’ memasuki kafe dari pintu masuk belakang
β€’ masuk dari pintu masuk hadapan
β€’ meminimumkan aplikasi
β€’ menerima pemberitahuan tolak
β€’ tersekat pada skrin lebih lama daripada X
β€’ membayar untuk pesanan
β€’ membeli pesanan
β€’ telah ditolak pinjaman

Jika anda mengambil data trajektori sekumpulan pengguna dan mengkaji cara peralihan distrukturkan, anda boleh mengesan dengan tepat cara tingkah laku mereka dalam aplikasi distrukturkan. Adalah mudah untuk melakukan ini melalui graf di mana keadaan adalah nod, dan peralihan antara keadaan adalah tepi:

Pengekalan: cara kami menulis alatan sumber terbuka untuk analisis produk dalam Python dan Panda

"Trajektori" ialah konsep yang sangat mudah - ia mengandungi maklumat terperinci tentang semua tindakan pengguna, dengan keupayaan untuk menambah sebarang data tambahan pada perihalan tindakan ini. Ini menjadikannya objek universal. Jika anda mempunyai alat yang cantik dan mudah yang membolehkan anda bekerja dengan trajektori, maka anda boleh mencari persamaan dan membahagikannya.

Pembahagian trajektori mungkin kelihatan sangat rumit pada mulanya. Dalam situasi biasa, ini berlaku - anda perlu menggunakan perbandingan matriks ketersambungan atau penjajaran jujukan. Kami berjaya mencari cara yang lebih mudah - untuk mengkaji sejumlah besar trajektori dan membahagikannya melalui pengelompokan.

Ternyata, adalah mungkin untuk mengubah trajektori menjadi titik menggunakan perwakilan berterusan, sebagai contoh, TF-IDF. Selepas transformasi, trajektori menjadi titik dalam ruang di mana kejadian normal pelbagai peristiwa dan peralihan antara mereka dalam trajektori diplot di sepanjang paksi. Perkara ini daripada seribu atau lebih ruang dimensi yang besar (dimS=sum(jenis peristiwa)+jumlah(ngrams_2 jenis)) boleh ditayangkan ke satah menggunakan TSNE. TSNE ialah transformasi yang mengurangkan dimensi ruang kepada 2 paksi dan, jika boleh, mengekalkan jarak relatif antara titik. Oleh itu, ia menjadi mungkin pada peta rata, peta unjuran kiasan bagi trajektori, untuk mengkaji bagaimana titik-titik trajektori yang berbeza terletak di antara mereka. Ia menganalisis sejauh mana mereka rapat atau berbeza antara satu sama lain, sama ada mereka membentuk kelompok atau tersebar di seluruh peta, dsb.:

Pengekalan: cara kami menulis alatan sumber terbuka untuk analisis produk dalam Python dan Panda

Alat analitis pengekalan memberikan keupayaan untuk menukar data dan trajektori yang kompleks menjadi pandangan yang boleh dibandingkan antara satu sama lain, dan kemudian hasil transformasi boleh diperiksa dan ditafsirkan.

Bercakap tentang kaedah standard untuk memproses trajektori, kami maksudkan tiga alatan utama yang telah kami laksanakan dalam Pengekalan - graf, matriks langkah dan peta unjuran trajektori.

Bekerja dengan Google Analitis, Firebase dan sistem analitik yang serupa adalah agak rumit dan tidak 100% berkesan. Masalahnya ialah beberapa sekatan untuk pengguna, akibatnya kerja penganalisis dalam sistem sedemikian bergantung pada klik tetikus dan pemilihan kepingan. Pengekalan memungkinkan untuk bekerja dengan trajektori pengguna, dan bukan hanya dengan corong, seperti dalam Google Analitis, di mana tahap perincian sering dikurangkan kepada corong, walaupun dibina untuk segmen tertentu.

Pengekalan dan kes

Sebagai contoh menggunakan alat yang dibangunkan, kita boleh memetik kes perkhidmatan khusus yang besar di Rusia. Syarikat ini mempunyai aplikasi mudah alih Android yang popular di kalangan pelanggan. Perolehan tahunan dari aplikasi mudah alih adalah kira-kira 7 juta rubel, turun naik bermusim berkisar antara 60-130 ribu. Syarikat yang sama juga mempunyai aplikasi untuk iOS, dan bil purata pengguna aplikasi Apple adalah lebih tinggi daripada bil purata pelanggan menggunakan aplikasi Android - 1080 rub. berbanding 1300 gosok.

Syarikat itu memutuskan untuk meningkatkan kecekapan aplikasi Android, yang mana ia menjalankan analisis menyeluruh. Beberapa dozen hipotesis telah dihasilkan tentang meningkatkan keberkesanan aplikasi. Selepas menggunakan Retentionneering, ternyata masalahnya adalah pada mesej yang ditunjukkan kepada pengguna baharu. Mereka menerima maklumat tentang jenama, faedah syarikat dan harga. Tetapi, ternyata, mesej itu sepatutnya membantu pengguna mempelajari cara bekerja dalam aplikasi.

Pengekalan: cara kami menulis alatan sumber terbuka untuk analisis produk dalam Python dan Panda

Ini telah dilakukan, akibatnya aplikasi menjadi kurang dinyahpasang, dan peningkatan penukaran kepada pesanan ialah 23%. Pada mulanya, 20 peratus daripada trafik masuk diberikan kepada ujian, tetapi selepas beberapa hari, selepas menganalisis keputusan pertama dan menilai arah aliran, mereka membalikkan perkadaran dan, sebaliknya, meninggalkan 20 peratus untuk kumpulan kawalan, dan lapan puluh peratus telah diletakkan dalam ujian. Seminggu kemudian, telah diputuskan untuk menambah ujian dua lagi hipotesis secara berurutan. Dalam masa tujuh minggu sahaja, perolehan daripada aplikasi Android meningkat satu setengah kali ganda berbanding tahap sebelumnya.

Bagaimana untuk bekerja dengan Retentioneering?

Langkah pertama agak mudah - muat turun perpustakaan dengan arahan pengekalan pemasangan pip. Repositori itu sendiri mengandungi contoh siap sedia dan kes pemprosesan data untuk beberapa tugas analitis produk. Set sentiasa dikemas kini sehingga cukup untuk kenalan pertama. Sesiapa sahaja boleh mengambil modul siap pakai dan segera menggunakannya pada tugas mereka - ini membolehkan mereka menyediakan proses analisis yang lebih terperinci dan pengoptimuman trajektori pengguna dengan segera dan secepat mungkin. Semua ini memungkinkan untuk mencari corak penggunaan aplikasi melalui kod yang jelas dan berkongsi pengalaman ini dengan rakan sekerja.

Pengekalan ialah alat yang patut digunakan sepanjang hayat permohonan anda, dan inilah sebabnya:

  • Pengekalan berkesan untuk menjejak dan mengoptimumkan trajektori pengguna secara berterusan dan meningkatkan prestasi perniagaan. Oleh itu, ciri baharu sering ditambahkan pada aplikasi e-dagang, yang kesannya pada produk tidak selalu dapat diramalkan dengan betul. Dalam sesetengah kes, masalah keserasian timbul antara fungsi baharu dan lama - contohnya, fungsi baharu "menghancurkan" fungsi sedia ada. Dan dalam keadaan ini, analisis berterusan trajektori adalah tepat yang diperlukan.
  • Keadaannya sama apabila bekerja dengan saluran pengiklanan: sumber trafik baru dan kreatif pengiklanan sentiasa diuji, adalah perlu untuk memantau kemusim, trend dan pengaruh acara lain, yang membawa kepada kemunculan lebih banyak kelas masalah baru. Ini juga memerlukan pemantauan berterusan dan tafsiran mekanik pengguna.
  • Terdapat beberapa faktor yang sentiasa mempengaruhi prestasi aplikasi. Sebagai contoh, keluaran baharu daripada pembangun: menutup masalah semasa, mereka tanpa disedari mengembalikan masalah lama atau mencipta masalah baharu sepenuhnya. Dari masa ke masa, bilangan keluaran baharu bertambah, dan proses penjejakan ralat perlu diautomasikan, termasuk dengan menganalisis trajektori pengguna.

Secara keseluruhannya, Pengekalan ialah alat yang berkesan. Tetapi tiada had untuk kesempurnaan - ia boleh dan harus diperbaiki, dibangunkan, dan produk hebat baharu dibina berdasarkannya. Semakin aktif komuniti projek, semakin banyak garpu yang akan ada, dan pilihan menarik baharu untuk menggunakannya akan muncul.

Maklumat lanjut tentang alat Pengekalan:

Sumber: www.habr.com

Tambah komen