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

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

بعد قراءة المقال ، يمكنك أن تكتب بنفسك Retentioneering ، يمكن أن يكون أي طريقة موحدة لمعالجة مسارات المستخدم في التطبيق وما بعده ، مما يسمح لك أن ترى بالتفصيل السلوك واستخلاص رؤى منه لنمو مقاييس العمل.

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


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

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

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

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

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

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

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


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

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



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

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

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



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

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

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

الاستبقاء والحالات


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

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



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

كيفية العمل مع الاستبقاء؟


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

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

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

معلومات إضافية حول أدوات الاستبقاء:

Source: https://habr.com/ru/post/ar468721/


All Articles