شعار العنصر 14

العنصر 14، قناة يوتيوب علميّة عن تكنولوجيا الحاسوب التي نتعامل معها في حياتنا اليوميّة

فهم السَلاَّت الشرائية لتحسين المبيعات

03/01/2020


تمهيد

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

مقدمة

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

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

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

مثال

دعونا نبدأ بمثالٍ بسيط. إذا فرضنا أن لديك سوبرماركت تبيع فيه منتجات كثيرة ومن ضمنها خبز، حليب، حفاضات أطفال، كولا، بيض. ولنفرض أيضاً أنك تخزن معلومات مشتريات الزبائن. فمثلاً: اشترى الزبون (أ) خبز وحليب. واشترى الزبون (ب) خبز وحفاضات أطفال وكولا وبيض. واشترى الزبون (ج) حليب وحفاضات أطفال وكولا. واشترى الزبون (د) خبز وحليب وحفاضات أطفال وكولا. وأخيراً، اشترى الزبون (هـ) خبز وحليب وحفاضات أطفال.

يسمى كل سطر في هذا الجدول بالصفقة أو (transaction). لدينا خمس صفقات بالمجمل، حيث يمثل كل عمود منتجاً واحداً. في الواقع، يوجد آلآف بل ملايين الصفقات وعدد أكبر بكثير من الخمسة منتجات التي ذكرناها في المثال، أي أكثر من خمسة اعمدة.

(Itemset generation) توليد القوائم

هدفنا من هذه البيانات التي قمنا بجمعها معرفة قوائم المنتجات التي يتم شراؤها معاً من قِبل الكثير من الزبائن. ولكن قبل محاولتنا تحديد ما هي قوائم المنتجات التي يتم شراؤها معاً، لنحدد بدايةً المنتجات متكررة الحدوث.

لننظر إلى القوائم من منتج واحد. يوجد لدينا خمس قوائم: خبز، حليب، حفاضات أطفال، كولا وبيض. لنحسب الآن التكرار لكل واحدة منها. التكرار: هو عدد مرات شراء المنتج. مثلاً الخبز؛ نلاحظ وجوده في 4 من أصل 5 صفقات وبالتالي تكراره 4. الحليب موجود في 4 من أصل 4 صفقات وبالتالي تكراره = 4. حفاضات الأطفال تكرارها أيضاً 4. الكولا 4. والبيض 1.

لننظر الآن إلى القوائم من منتجين، لدينا 10 قوائم من منتجين، مثل الخبز والحليب، الخبز وحفاضات الأطفال، الخبز والكولا، الخبز والبيض، الحليب وحفاضات الأطفال، الكولا والبيض .....الخ. وبنفس الطريقة، نحسب التكرار لكل واحدة من العشر قوائم. فمثلاً: قائمة الخبز والحليب موجودة في 3 من أصل 5 صفقات وبالتالي تكرارها 3.

القوائم متكررة الحدوث

بنفس الآلية، ننظر إلى القوائم من 3 منتجات مثل: الخبز، الحليب وحفاضات أطفال، القوائم من 4 منتجات، واخيراً، القوائم من 5 منتجات. ونحسب التكرار لكل واحدة منها. السؤال الآن: مَن مِن هذه القوائم، سواءً التي من منتج واحدٍ أو اثنين او ثلاثة أو أربعة أو خمسة، تعتبر متكررة الحدوث (frequent) ؟

أنت مَن يحدد هذا؛ بحيث أنك تضع عتبة أو قيمة تحدد من خلالها ما الذي تعتبره متكرر الحدوث. فمثلاً، إذا فرضنا أن العتبة 3، فبالتالي، أي قائمة من المنتجات ستكون متكررة الحدوث إذا كان تكرارها يساوي العتبة أو أكبر. فمثلاً، قائمة الخبز ستكون متكررة الحدوث. قائمة الخبز والحليب أيضاً متكررة الحدوث، لكن قائمة الخبز، الحليب وحفاضات الاطفال ليست متكررة الحدوث لأن تكرارها يساوي 2 وهو أقل من العتبة.

قواعد المزاملة

لتوليد قواعد المزاملة التي من خلالها نستطيع معرفة قوائم المنتجات التي يتم شراؤها معاً من قِبل الكثير من الزبائن. سنقوم بالآتي: لنفرض وجود قائمة أو ما نسميه ا (itemset) من ثلاثة منتجات متكررة الحدوث، ولتكن خبز، حليب وحفاضات أطفال. ولنفرض أن تكرارها 3. يمكننا الآن توليد عدد من قواعد المزاملة من هذه القائمة. مثلاً: الذين يشترون الخبز والحليب، يشترون حفاضات اطفال أيضاً. أو الذين يشترون الخبز وحفاضات الأطفال، يشترون أيضاً حليب وهكذا. لأن هذه القائمة والمكونة من ثلاثة منتجات متكررة الحدوث، فأي قاعدة مزاملة مكونة منها ستكون قطعاً متكررة الحدوث.

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

الخوارزمية الساذجة

تحدثنا أنه في سيناريو واقعي، سيكون لدينا ملايين الصفقات وآلاف المنتجات وبالتالي الطريقة الساذجة (naive) لاكتشاف الأنماط متكررة الحدوث ستأخذ وقتاً طويلاً جداً. لكي نشرح هذه الطريقة، دعونا نمثل هذا الجدول بطريقة أخرى من خلال ما يدعى بالشبكة (lattice). في هذه الشبكة، يوجد لدينا في الصف الأول خمسة منتجات: a b c d e وهي عبارة عن الخبز، الحليب، حفاضات الأطفال، الكولا، والبيض.

سنبدأ بالقوائم من منتجٍ واحدٍ، لدينا في المثال 5 منتجات. وبالتالي لدينا 5 قوائم من منتج واحد. لكل قائمة منها، سنمر على كل الصفقات ونحسب التكرار، كما فعلنا سابقاً. بعد ذلك سنأتي بالقوائم المكونة من منتجين، لدينا 10 قوائم، وسنحسب التكرار لكل واحدة منها. وبعد ذلك سننظر إلى القوائم من 3 منتجات، وبعدها من 4 منتجات، وأخيراً القوائم من 5 منتجات. هذه الطريقة مكلفة جداً حسابياً وتسمى ساذجة (naive). في حالة وجود 100 منتج، فسيكون لدينا 100^2 من القوائم، ولكل قائمة سنمر على كل الصفقات لنحسب التكرار. الطريقة الساذجة التي قمنا بشرحها قبل قليل، تعقيدها أوسي (exponential) - يعني رقم مرفوع لأوس. بشكلٍ عام، حاول تجنب أي طريقة أو خوارزمية تعقيدها أوسي، وذلك لأنها ستأخذ وقتاً طويلاً لاستخراج النتيجة.

Apriori خوارزمية

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

الأنماط نادرة الحدوث

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

الخاتمة

شاركونا بآرائِكم وأسئلتكم عن هذه الحلقة في التعليقات، وإذا رغبتم في معرفة المزيد عن موضوع معين، فاكتبوا لنا في التعليقات.