
Halo, Habr! Nama saya Ivan Kizimenko, saya Kepala Analisis di Luar. Pada artikel ini, saya ingin berbicara tentang bagaimana dan mengapa kami mengembangkan sistem analitik ubahsuaian kami sendiri alih-alih Google Analytics. Sebenarnya, kami bekerja tidak hanya dengan analitik dari Google, tetapi juga perusahaan lain, termasuk, misalnya, Adobe.
Tetapi suatu hari yang baik (dan itu benar-benar tidak buruk) kami memutuskan: “Cukup untuk menanggung ini! Saatnya membuat sistem Anda sendiri. " Di bawah potongan - tentang alasan keputusan ini, fitur sistem kustom dan sejumlah hal menarik lainnya bagi banyak pembaca Habr.
Mengapa kita membutuhkan semua ini?
Kami bekerja dengan pelanggan yang cukup besar dengan solusi global yang memiliki sistem analitik yang sangat berbeda. Seseorang memiliki Adobe, seseorang memiliki versi dasar Google Analytics, seseorang memiliki 360.
Namun solusi global memiliki sejumlah masalah:
- Ini adalah sistem tertutup dengan sejumlah batasan pada akses ke fungsionalitas.
- Mereka memiliki opsi penyesuaian minimal.
- Jika ada sesuatu yang bisa diperbaiki, maka itu sangat mahal dan, terlebih lagi, memakan waktu.
- Analytics menutupi solusi mereka sendiri tanpa mempertimbangkan perkembangan lokal.
Karena Google Analytics mungkin adalah sistem analitik paling populer, mari buat daftar kerugiannya terlebih dahulu:
- Dibutuhkan banyak upaya untuk membuat laporan dan dasbor khusus.
- Dalam laporan sistem, data selalu digabungkan, dan proses ini sepenuhnya atau sebagian besar di luar kendali.
- , , , -. .
- .
- API.
- — 24-48 , , .
- Google Analytics 20. — 200.
- — . , , IP .
Secara umum, kami tidak memarahi Google Analytics - tidak sama sekali. Ini adalah sistem yang sangat baik, tetapi cocok untuk tugas yang terbatas, meskipun agak banyak. Tetapi begitu tugas tertentu muncul, seperti menghitung indikator untuk satu tahun dan membandingkan dengan periode sebelumnya, masalah mulai muncul. Di suatu tempat, markup tidak mencakup permintaan sama sekali, di suatu tempat di mana permintaan itu jatuh. Nah, atau cara penulisan acara telah berubah, jadi Anda harus "memulai" Python, mengurutkan data berdasarkan hari dan minggu dan menghasilkan setidaknya data yang mendekati kenyataan.
Sistem lain juga mengalami masalah, termasuk Adobe Analytics. Jadi, jika Anda perlu menghubungkan alat yang tidak tersedia di Adobe, maka itu lama dan mahal. Dalam hal ini, secara ekonomi tidak menguntungkan untuk membangun sistem berdasarkan Adobe yang akan mencakup semua kebutuhan analisis web perusahaan. Kelemahan signifikan dari sistem ini adalah bahwa sistem ini hanya mencakup proyek-proyek global.
Masalah terkadang muncul di tempat yang tidak Anda duga. Misalnya, kami memerlukan laporan untuk tahun lalu, kami ingin "menarik" mereka dari Google Analytics, tetapi tidak berhasil. Ternyata seseorang dari manajer kantor pusat pergi ke pengaturan konter dan mengubah pengaturan, sehingga semua data historis yang kami butuhkan dihapus begitu saja.
Pada akhirnya, kita mendapatkan hal-hal mendasar dalam sistem yang agak rumit. Ini adalah lalu lintas, prospek, rasio pentalan (BR).
Hari dimana segalanya berubah

Semuanya akan baik-baik saja, tetapi ada satu masalah besar - rasio pentalan, indikator yang paling diperhatikan oleh sebagian besar spesialis. Tentu saja, semua orang ingin menurunkannya. Jika Anda mau, sangat mudah untuk melakukan ini - pengatur waktu "ditutup" selama 25 detik, acara akan hilang, dan kami mendapatkan penurunan dalam persentase kegagalan. Tapi ini hanya secara formal, kenyataannya semuanya tetap seperti semula.
Jika Anda mengubah metode penghitungan, misalnya, tambahkan 2 peristiwa gulir browser ke dalam hitungan detik, kemudian BR bertambah, dan sumber meragukan dari CPA dan Terprogram mulai menunjukkan tingkat kegagalan 80%. Setelah mengubah metodologi, hampir tidak mungkin untuk menghitung persentase penolakan selama satu tahun di mana beberapa metode digunakan.
Ada masalah lain, termasuk banyaknya pekerjaan, peningkatan jumlah skrip Python dan tugas CRON, laporan kompleks sulit dibuat, dan analitik ujung ke ujung tidak tersedia. Secara umum, kami memutuskan untuk merevisi pendekatan untuk analitik dan markup. Untuk memulainya, kami memutuskan kebutuhan kritis:
- Mendapatkan akses ke data mentah.
- Kemampuan untuk mentransfer sejumlah informasi tambahan.
- Kemampuan untuk melakukan Backup.
- Menggunakan markup otomatis.
- Kemampuan untuk menghubungkan database ke BI-tools.
Pilihan terbaik adalah merakit sistem pengumpulan data Anda sendiri, yang dapat dengan mudah dimodifikasi dan disesuaikan sesegera mungkin. Nah, kami menggunakan Clickhouse sebagai penyimpanan data. Jelas bahwa sistem analitik Anda sendiri harus memenuhi sejumlah kriteria yang kami rumuskan di awal:
- Kemampuan untuk menyimpan sejumlah data di server Anda sendiri. Anda juga dapat membatasi akses ke data jika perlu.
- Kumpulkan sejumlah peristiwa dan parameter, yang menyediakan lebih banyak data untuk analisis.
- Kemampuan untuk berintegrasi dengan layanan seperti CRM, CAllTracking, BI, instant messenger, sistem periklanan, dll.
- Pelacakan pengguna lintas platform berdasarkan cookie dan id pengguna.
- Buat model atribusi Anda sendiri.
- Bekerja dengan Open Source dan tidak ada masalah keamanan.
- Umpan balik tepat waktu dari situs, mengirimkan peristiwa dari analitik ke situs tepat selama sesi pengguna.
- Adaptasi solusi analitis dengan kebutuhan bisnis tertentu.
Menurut kriteria ini, kami telah menyusun sistem analitik kami sendiri, yang sekarang kami gunakan. Adapun datanya, disimpan dalam bentuk mentahnya di ClickHouse. Omong-omong, keuntungan lain dari sistem analitik khusus adalah tidak ada batasan pada jumlah parameter. Hal ini langsung membuka peluang, misalnya untuk mendapatkan informasi lebih lanjut. Kita sekarang tahu, misalnya, warna, opsi, mesin, dan parameter lain mana yang sangat populer di konfigurator mobil.
Bagaimana dengan visualisasi?
Sebagai alat BI, kami pertama kali mencoba metabase, yang tidak berhasil, karena bekerja secara aneh dengan cache dan sulit untuk disesuaikan. Kami memilih Apache Superset dan inilah alasannya:
- Itu berkembang pesat. Setiap bulan beberapa perbaikan dan pembaruan baru.
- Anda dapat membuat bagan dan visualisasi Anda sendiri, misalnya, Echarts, yang memiliki banyak kemungkinan dalam gudangnya.
- Menyesuaikan tampilan dasbor di CSS - cukup mudah membuat dasbor untuk identitas korporat merek.
- Alat penelitian yang bagus. Anda dapat dengan cepat masuk untuk membuat sketsa kueri SQL, mendapatkan jawaban.
- Anda dapat mengirim laporan ke Email dan Slack
- Akses kontrol di luar kotak. Untuk setiap grafik, kumpulan data, apa pun, Anda dapat mengonfigurasi akses ke pengguna tertentu.
Beberapa lusin dasbor sekarang tersedia dengan tingkat akses berbeda untuk tugas berbeda. Ini termasuk dasbor untuk metrik lalu lintas dasar, dasbor untuk tim / tim produk, dan untuk agensi lainnya.
Setelah sistem diadopsi, kecepatan pemrosesan pertanyaan non-standar meningkat secara signifikan. Sekarang satu set kueri SQL melalui SQLab di Superset. Dan juga - perhatian - Anda dapat menghubungkan orang lain, database, hanya digunakan sebagian dalam analisis web.
Jangan lupakan otomatisasi
Untuk menyelesaikan tugas rutin, kami menggunakan Apache Airflow 2. Ini memungkinkan kami untuk mengunggah data dan menghasilkan laporan dalam satu alat. Pada akhirnya, dimungkinkan untuk menggabungkan data dari sumber lain dan lembaga lain untuk membentuk laporan akhir.

Setelah beberapa waktu, dimungkinkan untuk mengembangkan sistem analitik yang memungkinkan tidak hanya membuat layanan yang merespons peristiwa secara real time, tetapi juga meracuni email dan Push, ditambah mengirim Webhook atau mengirim sinyal langsung ke browser.
Sistem kustom, di antara keuntungan lainnya, memungkinkan Anda terhubung dengan mudah ke IP pihak ketiga mana pun.
Di balik terpal, sistem memiliki analitiknya sendiri - kerangka kerja untuk Python dan Jenis / JavaScript, yang menyederhanakan dan mempercepat proses pengembangan. Ada juga sistem peluncuran dan kontrol, ditambah lingkungan pengembangan tertanam berdasarkan Theia IDE, serta Jupiter Lab untuk penelitian cepat dan pembuatan prototipe. Terakhir, Grafana adalah alat visualisasi dan dasbor sederhana.
Sebagai contoh kerja sistem yang dihasilkan, kami dapat mengutip penggunaannya untuk menghitung uji-AB dari AVN perusahaan Skoda. Analisis khusus memungkinkan untuk:
- Dapatkan data dari Clickhouse.
- Proses informasi di Pythone + Clickhouse.
- Simpan data yang dihitung dalam CSV.
- Setel timer untuk mulai setiap 6 jam.
- Kemampuan untuk menghentikan atau membangun kembali atau menyesuaikan layanan, karena ia bekerja secara independen dari sistem lain.
Kedengarannya agak rumit, tapi bisa dijelaskan dengan sebuah contoh. Sebelumnya, saat pengguna meninggalkan permintaan untuk membeli mobil, hanya nomor telepon pembeli yang menghubungi manajer penjualan. Jadi spesialis harus menelepon klien lagi dan menanyakan semua yang telah diisi sebelumnya.
Sekarang pengelola, selain aplikasi, menerima informasi ringkasan tentang pengunjung, termasuk minat pengunjung pada merek mobil tertentu, konfigurasi, dll. Dan, omong-omong, manajer menerima informasi yang dipersonalisasi. Selain itu, manajer lebih memahami apa yang dibutuhkan seseorang dan apa yang dapat dia tawarkan.
Sebagai kesimpulan, harus dikatakan bahwa pada akhirnya semuanya berhasil - sistem analitik khusus berfungsi untuk kepentingan pelanggan tanpa ancaman kehilangan data dalam enam bulan atau bahkan satu tahun. Analisis data dengan visualisasi selanjutnya membutuhkan waktu yang minimal. Nah, jika Anda perlu menambah dan menghapus sesuatu, Anda bisa melakukannya dengan sangat cepat dengan biaya minimal.