استبقاء: كيف كتبنا أدوات تحليل المنتجات مفتوحة المصدر في Python و Pandas

يا هبر. هذه المقالة مخصصة لنتائج تطوير لمدة أربع سنوات لمجموعة من الأساليب والأدوات لمعالجة مسارات حركة المستخدم في تطبيق أو على موقع ويب. مؤلف التطوير - مكسيم جودزي، الذي يترأس فريق صانعي المنتجات ، وهو أيضًا مؤلف المقال. كان يُطلق على المنتج نفسه اسم Retentioneering ، وقد تم تحويله الآن إلى مكتبة مفتوحة المصدر واستضافته على Github بحيث يمكن لأي شخص استخدامه. قد يكون كل هذا موضع اهتمام المشاركين في تحليل المنتجات والتسويق وترويج المنتجات وتطويرها. بالمناسبة ، على حبري تم نشر مقال بالفعل حول إحدى حالات العمل مع Retentioneering. توضح المادة الجديدة ما هو المنتج قادر عليه وكيف يمكن استخدامه.

بعد قراءة المقال ، ستتمكن من كتابة الاحتفاظ الخاص بك ، ويمكن أن يكون أي طريقة موحدة لمعالجة مسارات المستخدم في التطبيق وما بعده ، مما يسمح لك بمشاهدة ميزات السلوك بالتفصيل واستخراج الأفكار من هذا لنمو مقاييس العمل.

ما هو الاستبقاء ولماذا هو مطلوب؟

في البداية ، كان هدفنا هو نقل Growth Hacking من عالم "السحر الرقمي" إلى عالم الأرقام والتحليلات والتنبؤات. نتيجة لذلك ، يتم تقليل تحليلات المنتج إلى الرياضيات البحتة والبرمجة لأولئك الذين يفضلون الأرقام بدلاً من القصص الرائعة ، والصيغ للكلمات الذكية مثل "تغيير العلامة التجارية" ، و "إعادة التهيئة" ، وما إلى ذلك ، والتي تبدو جميلة ، ولكنها لا تساعد كثيرًا في يمارس.

لحل هذه المشكلات ، احتجنا إلى إطار عمل للتحليلات من خلال الرسوم البيانية والمسارات ، وفي نفس الوقت مكتبة تبسط إجراءات المحلل النموذجية ، كطريقة لوصف مهام تحليلات المنتج العادية التي يمكن فهمها لكل من البشر والروبوتات. توفر المكتبة القدرة على وصف سلوك المستخدم وربطه بمقاييس أعمال المنتج بلغة رسمية وواضحة لتبسيط وأتمتة المهام الروتينية للمطورين والمحللين ، وتسهيل تواصلهم مع الأعمال.

الاستبقاء هو وسيلة وأدوات برمجية تحليلية يمكن تكييفها ودمجها في أي منتج رقمي (وليس فقط).

بدأنا العمل على المنتج في عام 2015. وهي الآن مجموعة أدوات جاهزة ، على الرغم من أنها ليست مثالية بعد للعمل مع البيانات في Python و Pandas ، ونماذج التعلم الآلي مع واجهة برمجة تطبيقات تشبه sklearn ، وأدوات لتفسير نتائج نماذج التعلم الآلي eli5 و shap.

كل شيء ملفوف في مكتبة ملائمة مفتوحة المصدر في مستودع جيثب المفتوح - أدوات الاحتفاظ. استخدام المكتبة ليس بالأمر الصعب ، فكل شخص يحب تحليلات المنتج ، لكنه لم يكتب كودًا من قبل ، يمكنه تطبيق أساليب التحليل الخاصة بنا على بياناته بمفرده ودون قضاء الكثير من الوقت.

حسنًا ، يمكن للمبرمج أو منشئ التطبيقات أو أحد أعضاء فريق التطوير أو الاختبار الذي لم يسبق له إجراء التحليلات من قبل البدء في اللعب بهذه الكود ورؤية الأنماط في استخدام تطبيقاتهم دون مساعدة خارجية.

مسار المستخدم كعنصر أساسي في التحليل وطرق معالجته

مسار المستخدم هو سلسلة من حالات المستخدم في نقاط زمنية معينة. علاوة على ذلك ، يمكن أن تكون الأحداث من مصادر بيانات مختلفة ، سواء عبر الإنترنت أو في وضع عدم الاتصال. الأحداث التي حدثت للمستخدم هي جزء من مساره. أمثلة:
• الضغط على الزر
• رأى صورة
• تضغط على الشاشة
• تلقى بريدًا إلكترونيًا
• أوصى المنتج لصديق
• تعبئة الاستمارة
• التنصت على الشاشة
• التمرير
• اقترب من الخروج
• أمر بوريتو
• أكل البوريتو
• تسمم بوريتو أكل
• دخل المقهى من المدخل الخلفي
• دخل من المدخل الرئيسي
• تصغير التطبيق
• تلقي إشعار دفع
• غبي في الشاشة لوقت أطول Х
• دفع ثمن الطلب
• استردت الأمر
• حرم من قرض

إذا أخذت بيانات المسار لمجموعة من المستخدمين ودرست كيفية عمل الانتقالات ، يمكنك أن ترى بالضبط كيف تم بناء سلوكهم في التطبيق. من الملائم القيام بذلك من خلال رسم بياني تكون فيه الحالات عبارة عن عقد وتكون الانتقالات بين الحالات عبارة عن حواف:

استبقاء: كيف كتبنا أدوات تحليل المنتجات مفتوحة المصدر في Python و Pandas

يعد "المسار" مفهومًا ملائمًا للغاية - فهو يحتوي على معلومات مفصلة حول جميع إجراءات المستخدم ، مع إمكانية إضافة أي بيانات إضافية إلى وصف هذه الإجراءات. هذا يجعله كائنًا عامًا. إذا كانت لديك أدوات جميلة ومريحة تسمح لك بالعمل مع المسارات ، فيمكنك العثور على أوجه التشابه وتقسيمها.

قد يبدو تقسيم المسار معقدًا للغاية في البداية. في الوضع الطبيعي ، هذا صحيح - تحتاج إلى مقارنة مصفوفات الاتصال أو محاذاة التسلسلات. تمكنا من إيجاد طريقة أسهل - لدراسة عدد كبير من المسارات وتقسيمها من خلال التجميع.

كما اتضح ، من الممكن تحويل المسار إلى نقطة باستخدام التمثيلات المستمرة ، على سبيل المثال ، قوة العمل-جيش الدفاع الإسرائيلي. بعد التحول ، يصبح المسار نقطة في الفضاء ، حيث يتم رسم الحدوث الطبيعي في مسار الأحداث المختلفة والانتقالات بينها على طول المحاور. يمكن إسقاط هذا الشيء من مساحة ضخمة بألف وأبعاد أكثر (dimS = sum (أنواع الأحداث) + sum (أنواع ngrams_2)) ، على مستوى باستخدام TSNE. TSNE - التحويل ، يقلل من أبعاد الفضاء إلى محورين ، وإذا أمكن ، يحافظ على المسافات النسبية بين النقاط. وفقًا لذلك ، يصبح من الممكن على الخريطة المسطحة ، وهي خريطة إسقاط تصويرية للمسارات ، دراسة كيفية تحديد نقاط المسارات المختلفة فيما بينها. يتم تحليل مدى قربهم أو اختلافهم عن بعضهم البعض ، سواء كانوا يشكلون مجموعات أو منتشرين عبر الخريطة ، وما إلى ذلك:

استبقاء: كيف كتبنا أدوات تحليل المنتجات مفتوحة المصدر في Python و Pandas

توفر الأدوات التحليلية الاستبقاء القدرة على تحويل البيانات والمسارات المعقدة إلى تمثيل يمكن مقارنته مع بعضها البعض ، ومن ثم استكشاف وتفسير نتيجة التحول.

عند الحديث عن طرق معالجة المسار القياسية ، فإننا نعني ثلاث أدوات رئيسية قمنا بتنفيذها في الاحتفاظ بالبيانات - الرسوم البيانية ومصفوفات الخطوات وخرائط إسقاط المسار.

يعد العمل مع Google Analytics و Firebase وأنظمة التحليلات المماثلة أمرًا معقدًا للغاية وغير فعال بنسبة 100٪. تكمن المشكلة في عدد من القيود بالنسبة للمستخدم ، ونتيجة لذلك فإن عمل المحلل في مثل هذه الأنظمة يعتمد على نقرات الماوس واختيار الشرائح. يتيح الاحتفاظ بالبيانات إمكانية العمل مع مسارات المستخدم ، وليس فقط مع مسارات التحويل ، كما هو الحال في Google Analytics ، حيث غالبًا ما يتم تقليل مستوى التفاصيل إلى مسار تحويل ، وإن كان مصممًا لشريحة معينة.

الاستبقاء ودراسات الحالة

كمثال على استخدام الأداة المطورة ، يمكننا الاستشهاد بحالة خدمة متخصصة كبيرة في روسيا. تمتلك هذه الشركة تطبيق Android للجوّال يحظى بشعبية لدى العملاء. بلغ حجم التداول السنوي من تطبيق الهاتف المحمول حوالي 7 ملايين روبل ، وكانت التقلبات الموسمية في حدود 60-130 ألف روبل. ولدى نفس الشركة أيضًا تطبيق لنظام iOS ، وكان متوسط ​​فحص مستخدم تطبيق "آبل" أعلى من المتوسط تحقق من العميل باستخدام تطبيق Android - 1080 rub. مقابل 1300 روبل.

قررت الشركة زيادة كفاءة تطبيق Android ، حيث أجرت تحليلاً شاملاً له. تم تشكيل العشرات من الفرضيات لزيادة فعالية التطبيق. بعد استخدام Retentionneering ، اتضح أن المشكلة كانت في الرسائل التي تم عرضها للمستخدمين الجدد. تلقوا معلومات حول العلامة التجارية وفوائد الشركة وأسعارها. ولكن ، كما اتضح فيما بعد ، كان من المفترض أن تساعد الرسائل المستخدم على تعلم كيفية العمل في التطبيق.

استبقاء: كيف كتبنا أدوات تحليل المنتجات مفتوحة المصدر في Python و Pandas

تم ذلك ، ونتيجة لذلك بدأ حذف التطبيق بنسبة أقل ، وكانت الزيادة في التحويل إلى الأمر 23٪. في البداية ، تم إخضاع 20 بالمائة من حركة المرور الواردة للاختبار ، ولكن بعد بضعة أيام ، بعد تحليل النتائج الأولى وتقييم الاتجاه ، قاموا بعكس النسب ، وعلى العكس ، تركوا 20 بالمائة لمجموعة التحكم ، ووضعوا ثمانين في المئة في الاختبار. بعد أسبوع ، تقرر إضافة اختبار فرضيتين أخريين بالتتابع. في سبعة أسابيع فقط ، زاد حجم التداول من تطبيق Android بمقدار مرة ونصف مقارنة بالمستوى السابق.

كيف تعمل مع الاحتفاظ؟

الخطوات الأولى بسيطة للغاية - نقوم بتحميل المكتبة بأمر تثبيت نقطة التثبيت. يحتوي المستودع نفسه على أمثلة جاهزة وحالات معالجة بيانات لبعض مهام تحليلات المنتج. يتم تحديث المجموعة باستمرار حتى تكفي للمعارف الأولى. يمكن للجميع أخذ وحدات جاهزة والتقدم على الفور إلى مهامهم - وهذا يسمح لك على الفور بإعداد عملية تحليل أكثر تفصيلاً وتحسين مسارات المستخدم بأسرع ما يمكن وبكفاءة. كل هذا يجعل من الممكن العثور على أنماط استخدام التطبيق من خلال رمز مفهوم ومشاركة هذه التجربة مع الزملاء.

الاحتفاظ بالذكاء الاصطناعي أداة تستحق الاستخدام طوال عمر التطبيق ، وإليك السبب:

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

بشكل عام ، يعتبر الاستبقاء أداة فعالة. ولكن لا يوجد حد للكمال - بل يجب تحسينه وتطويره وإنشاء منتجات رائعة جديدة على أساسه. كلما كان مجتمع المشروع أكثر نشاطًا ، كلما كان هناك المزيد من الشوكات ، ستظهر خيارات جديدة مثيرة للاهتمام لاستخدامه.

مزيد من المعلومات حول أدوات التثبيت:

المصدر: www.habr.com

إضافة تعليق