تخيل أنك رائد أعمال ناشئ صنع للتو موقعًا إلكترونيًا وتطبيقات هواتف محمولة (على سبيل المثال ، متجر لبيع الكعك). تريد توصيل تحليلات المستخدم بميزانية صغيرة ، ولكن لا تعرف كيف. يستخدم الجميع حول Mixpanel وتحليلات Facebook و Yandex.Metrica وأنظمة أخرى ، ولكن ليس من الواضح ما الذي يجب اختياره وكيفية استخدامه.

ما هي أنظمة التحليل؟
بادئ ذي بدء ، يجب أن أقول أن نظام تحليلات المستخدم ليس نظامًا لتحليل سجلات الخدمة نفسها. تركز مراقبة كيفية عمل الخدمة على الاستقرار والأداء ، ويتم تنفيذها بشكل منفصل بواسطة المطورين. يتم إنشاء تحليلات المستخدم من أجل دراسة سلوك المستخدم بدقة: الإجراءات التي يقوم بها ، وعدد مراته ، وكيف يتفاعل مع الدفع أو الأحداث الأخرى في الخدمة. على المستوى العالمي ، تشتمل تحليلات المستخدم على مجالين: تحليلات الجوال والويب. على الرغم من الواجهات والقدرات المختلفة لخدمات الويب والهاتف المحمول ، إلا أن العمل مع نظام التحليلات في كلا الاتجاهين هو نفسه تقريبًا.
لماذا هذا مطلوب؟
تحليلات المستخدم اللازمة:
- لمراقبة ما يحدث عند استخدام الخدمة ؛
- لتغيير المحتوى ، وفهم مكان تطويره ، ما الميزات التي يجب إضافتها / إزالتها ؛
- للعثور على ما لا يحب المستخدمون وتغييره.
كيف يعمل؟
لدراسة سلوك المستخدم ، تحتاج إلى جمع محفوظات هذا السلوك. ولكن ماذا بالضبط لجمع؟ هذا السؤال هو ما يصل إلى 70 ٪ من تعقيد المهمة بأكملها. يجب أن يجيب العديد من المشاركين في فريق المنتج معًا: مدير المنتج ، المبرمجين ، المحللين. أي خطأ في هذه الخطوة مكلف: لا يمكنك جمع ما تحتاج إليه وجمع شيء لا يسمح لك بتقديم استنتاجات مهمة.
بمجرد أن تقرر ما ستقوم بتجميعه ، فأنت بحاجة إلى التفكير في بنية كيفية تجميعه. الهدف الرئيسي الذي تعمل به الأنظمة التحليلية هو الحدث. الحدث هو وصف لما حدث الذي تم إرساله إلى نظام التحليلات استجابةً لإجراء المستخدم. كقاعدة عامة ، لكل حدث من الإجراءات المحددة للتتبع في الخطوة السابقة ، يبدو الحدث كحزمة JSON مع الحقول التي تصف الإجراء المثالي.
أي نوع من حزمة JSON؟حزمة JSON هي ملف نصي يصف ما حدث. على سبيل المثال ، قد تحتوي حزمة JSON على معلومات أن المستخدم Mary قام بتنفيذ إجراء اللعبة التي بدأت في الساعة 23:00 يوم 15 نوفمبر. كيف تصف كل عمل؟ على سبيل المثال ، ينقر المستخدم على زر. ما هي الخصائص التي يتعين جمعها في هذه اللحظة؟ وهي مقسمة إلى نوعين:
- الخصائص الفائقة - الخصائص المميزة لجميع الأحداث التي تكون موجودة دائمًا. هذه المرة ، معرّف الجهاز ، إصدار api ، إصدار التحليلات ، إصدار نظام التشغيل ؛
- خصائص الحدث محددة - هذه الخصائص هي التعسفي والصعوبة الرئيسية هي كيفية اختيارها. على سبيل المثال ، بالنسبة لزر "buy coins" في اللعبة ، فإن هذه الخصائص ستكون "عدد العملات التي اشترىها المستخدم" ، "كم تكلف العملات".
مثال على حزمة JSON في خدمة تعلم اللغة:

ولكن لماذا لا تجمع كل شيء على التوالي؟
لأنه يتم إنشاء جميع الأحداث يدويا. في أنظمة التحليلات ، لا يوجد زر "حفظ كل شيء" (وسيكون ذلك بلا معنى). يتم جمع فقط تلك الإجراءات من منطق الخدمة التي تهم جزءًا من الفريق. حتى بالنسبة لكل حالة زر أو نافذة ، ليست كل الأحداث ذات أهمية عادة. بالنسبة للعمليات الطويلة (على سبيل المثال ، مستوى اللعبة) ، قد تكون البداية والنهاية مهمة فقط. ما يحدث في الوسط قد لا يتم جمعها.
كقاعدة عامة ، يتكون منطق الخدمات من كائنات - كيانات. يمكن أن يكون كيان عملة ، كيان مستوى. لذلك ، من الممكن تجميع الأحداث من الكيانات وحالاتها وتصرفاتها. أمثلة: "المستوى بدأ" ، "المستوى قد انتهى" ، "المستوى قد انتهى ، السبب يؤكله التنين". من المرغوب فيه أن يتم إغلاق جميع الكيانات التي يمكن "اكتشافها" حتى لا تنتهك المنطق ولا تزيد من تعقيد العمل بمزيد من التحليلات.

كم عدد الأحداث في نظام معقد؟
يمكن للأنظمة المعقدة معالجة مئات الأحداث التي تم جمعها من جميع العملاء (مدير المنتج والمبرمجين والمحللين) وبعناية (!) انتقل إلى الكمبيوتر اللوحي ، ثم إلى منطق الخدمة. يعد الإعداد للحدث عملاً متعدد التخصصات كبيرًا يتطلب من الجميع فهم ما يجب جمعه واليقظة والدقة.
ما التالي؟
دعنا نقول لقد توصلنا إلى كل الأحداث المثيرة للاهتمام. حان الوقت لجمعها. للقيام بذلك ، تحتاج إلى الاتصال تحليلات العميل. نذهب إلى Google ونبحث عن تحليلات الأجهزة المحمولة (أو نختار من أشهرها: Mixpanel ، و Yandex.Metrica ، و Google Analytics ، و Facebook analytics ، و Tune ، و Amplitude ). نحن نأخذ SDK من الموقع ونضيفها في كود خدمتنا (ومن هنا جاء اسم "العميل" - لأن SDK مضمن في العميل).
وأين لجمع الأحداث؟
جميع حزم JSON التي سيتم إنشاؤها تحتاج إلى تخزينها في مكان ما. إلى أين نرسلهم وإلى أين هم ذاهبون؟ في حالة وجود نظام تحليلي للعميل ، فهي مسؤولة عن هذا. نحن لا نعرف أين توجد حزم JSON الخاصة بنا ، وأين توجد مساحات تخزينها ، وعددها وكيف يتم تخزينها هناك. يتم تنفيذ عملية التجميع بأكملها بواسطة النظام ولا يهمنا. في خدمة التحليلات ، نتمكن من الوصول إلى حسابك الشخصي ، حيث نرى بالفعل نتائج معالجة البيانات السلوكية الأولية. علاوة على ذلك ، يعمل المحللون مع ما يرونه في حسابك.
في الإصدارات المجانية ، عادةً ما تكون البيانات المصدر غير قابلة للتنزيل. في النسخة باهظة الثمن هناك مثل هذه الفرص.
كم من الوقت سيستغرق الاتصال؟
يمكن توصيل أبسط التحليلات خلال ساعة واحدة: سيكون التطبيق Metrika ، والذي سيُظهر أبسط الأشياء دون تحليل الأحداث المخصصة. يعتمد وقت الإعداد لنظام أكثر تعقيدًا على الأحداث المحددة. هناك صعوبات تتطلب تطويرًا إضافيًا:
- هل هناك قائمة انتظار للأحداث؟ على سبيل المثال ، كيفية إصلاح هذا الحدث لا يمكن أن يأتي قبل الآخر؟
- ماذا تفعل إذا كان المستخدم قد تحرك الوقت؟ تغيير المنطقة الزمنية؟
- ماذا لو لم يكن هناك الإنترنت؟
في المتوسط ، يمكنك إعداد Mixpanel في غضون يومين. عندما يتم التخطيط لجمع عدد كبير من الأحداث المحددة ، قد يستغرق الأمر أسبوعًا.

كيفية اختيار أي واحد أحتاج؟
الإحصاءات العامة في جميع النظم التحليلية تعمل بشكل جيد. مناسب تمامًا للمسوقين وموظفي المبيعات: يمكنك رؤية الاحتفاظ وعدد المستخدمين الذين قضوا في التطبيق وجميع المقاييس الأساسية عالية المستوى. لأبسط صفحة مقصودة ، ستكون مقاييس Yandex كافية.
عندما يتعلق الأمر بالمهام غير القياسية ، يعتمد الاختيار على خدمتك والمهام التحليلية والأحداث التي تحتاج إلى معالجة لحلها.
- في Mixpanel ، على سبيل المثال ، يمكن إجراء اختبارات A / B. كيف نفعل ذلك؟ يمكنك إنشاء تجربة تكون فيها عدة عينات وتقوم بتحديد (يمكنك تعيين مثل هؤلاء المستخدمين إلى A ، والبعض الآخر إلى B). بالنسبة إلى الزر ، سيكون اللون أخضر ، أما اللون B فيكون لونه أزرق. نظرًا لأن Mixpanel يجمع كل البيانات ، يمكنه العثور على معرف الجهاز لكل مستخدم من A و B. في رمز الخدمة ، باستخدام SDK ، يتم إنشاء تعديلات - هذه أماكن يمكن أن يتغير فيها شيء للاختبار. علاوة على ذلك ، بالنسبة لكل مستخدم ، يتم سحب القيمة (في حالتنا ، لون الزر) من Mixpanel. إذا لم يكن هناك اتصال بالإنترنت ، فسيتم تحديد الخيار الافتراضي.
- غالبًا ما لا تريد تخزين الأحداث ودراستها فحسب ، بل أيضًا تجميع المستخدمين. يقوم Mixpanel نفسه بذلك تلقائيًا في علامة تبويب المستخدمون. هناك يمكنك عرض جميع بيانات المستخدم الدائمة (الاسم ، البريد الإلكتروني ، ملف تعريف facebook) وتاريخ سجلات المستخدم. يمكنك إلقاء نظرة على بيانات المستخدم كإحصائيات: التنين أكل 100 مرة ، اشترى 3 زهور . في بعض الأنظمة ، يمكن تنزيل تجميع المستخدمين.
- ما هو البرودة الرئيسية لتحليلات Facebook ؟ فهو يجمع بين زائر الخدمة وملفه الشخصي على Facebook. لذلك ، يمكنك معرفة جمهورك ، والأهم من ذلك ، تحويله إلى جمهور إعلاني. على سبيل المثال ، إذا زرت الموقع 1 مرة ، وقام مالكها بتضمين إعلانات (جمهور قابل للتعبئة التلقائية في تحليلات فيسبوك) على الزائرين ، فعندئذ سأرى في المستقبل إعلانات على هذا الموقع على Facebook. بالنسبة إلى مالك الموقع ، إنه يعمل ببساطة وسهولة ، تحتاج فقط إلى تذكر وضع حد أقصى يوميًا لميزانية الإعلان. ناقص تحليلات Facebook هو أنه غير مناسب بشكل خاص: موقع معقد إلى حد ما غير واضح على الفور ، ولا يعمل بسرعة كبيرة.
لا شيء تقريبا للقيام به ويعمل كل شيء! ربما هناك سلبيات؟
نعم ، واحد منهم هو أنه عادة ما يكون مكلفاً. لبدء التشغيل ، يمكن أن يكون حوالي 50 ألف دولار شهريًا. ولكن هناك أيضا خيارات مجانية. Yandex App Metrica مجاني ومناسب لمعظم المقاييس الأساسية.
ومع ذلك ، إذا كان الحل غير مكلف ، فلن يتم تفصيل التحليلات: سيكون من الممكن رؤية نوع الجهاز ونظام التشغيل ، ولكن ليس أحداث معينة ، ولن يكون من الممكن إنشاء مسارات تحويل. يمكن لـ Mixpanel أن يكلف 50 ألف دولار في السنة (على سبيل المثال ، يمكن لأي تطبيق مع Am Nyam أن يأكل كثيرًا). بشكل عام ، غالبًا ما يكون الوصول إلى البيانات محدودًا تمامًا. لا يمكنك تخيل وتشغيل نماذجك الخاصة. يتم الدفع عادة شهريًا / دوريًا.
اي اكثر؟
ولكن الأسوأ هو أنه حتى Mixpanel يعتبر مقدار البيانات الذي يتميز به تطبيق الهاتف المحمول النشط تقريبًا (يشار إليه بشكل مباشر في الوثائق). إذا قارنت النتائج بتحليلات الخادم ، فستتباعد القيم. (للحصول على معلومات حول كيفية إنشاء تحليلات الخادم الخاص بك ، اقرأ مقالتنا التالية!)
أكبر ناقص تقريبا جميع النظم التحليلية هو أنها تقيد الوصول إلى سجلات الخام. لذلك ، عند إطلاق النموذج الخاص بك على ، يبدو أن بياناتك الخاصة لن تعمل. على سبيل المثال ، إذا نظرت إلى مسارات التحويل في Mixpanel ، يمكنك فقط حساب متوسط الوقت بين الخطوات. لا يمكن حساب مقاييس أكثر تعقيدًا ، مثل الوقت المتوسط أو النسب المئوية.
أيضا ، في كثير من الأحيان قدرة التجمعات والتقسيمات المعقدة ليست كافية. على سبيل المثال ، قد لا تتوفر مجموعة الماكرة "لتوحيد المستخدمين الذين ولدوا في عام 1990 واشتروا 50 دونات على الأقل".
تحليلات الفيسبوك لديه واجهة معقدة للغاية وبطيئة.
وإذا قمت بتشغيل جميع الأنظمة في وقت واحد؟
فكرة رائعة! يحدث غالبًا أن الأنظمة المختلفة تنتج نتائج مختلفة. أرقام مختلفة. بالإضافة إلى ذلك ، لدى البعض وظيفة واحدة ، وثانيًا ، والبعض الآخر مجاني.
بالإضافة إلى ذلك ، يمكن تضمين العديد من الأنظمة بشكل متوازٍ للاختبار: على سبيل المثال ، للتعرف على الواجهة الجديدة والانتقال إليها تدريجياً. كما هو الحال في أي عمل تجاري ، تحتاج هنا إلى معرفة المقياس وتوصيل التحليلات في وحدة تخزين بحيث يمكنك تتبع (والتي لن تؤدي إلى إبطاء اتصال الشبكة).
نحن جميعا مدمن مخدرات ، ثم أصدرنا ميزات جديدة ، وكيفية إضافة أحداث؟
كما هو الحال عند توصيل التحليلات من نقطة الصفر: اجمع وصفًا للأحداث الضرورية واستخدم SDK للصقها في رمز العميل.
آمل أن تجد إجابات لأسئلتك المتكررة مفيدة. إذا كانوا يساعدونك على فهم أن تحليلات العميل ليست مناسبة للتطبيق الخاص بك ، نوصيك بتجربة تحليلات الخادم لديك. سأتحدث عن ذلك في الجزء التالي ، ثم سأتحدث عن كيفية ترجمة هذا إلى مشروعي.