یکشنبه 9 اردیبهشت 1403
خانهیادداشتالگوریتم گروه بندی مشتریان

الگوریتم گروه بندی مشتریان

  

 محمدرضا سازگار نژاد | کارشناس علم داده

یادداشت را با این سوال شروع می‌کنیم که سگمنتیشن چیست؟ دسته‌بندی یا سگمنتیشن به عمل تقسیم کردن مجموعه‌ای (داده / شیء یا…) به 2 یا بیشتر از 2 گروه کوچک‌تر اطلاق می‌شود که در نتیجه آن، هرکدام از گروه‌های حاصل از دسته‌بندی، خصوصیاتی شبیه هم (مختصات نزدیک به هم) خواهند داشت.

سگمنتیشن یکی از ابزارهای پرکاربرد در تحلیل داده است. برای روشن‌تر شدن بحث،‌ می‌خواهم از اینجا به بعد با یک مثال پیش برویم؛ فکر کنید ما یک شرکت بیمه آنلاین داریم که هدف کلی‌اش در سال جاری افزایش فروش 50 درصدی است. تحقق این هدف همکاری تمام تیم‌ها را طلب می‌کند. ما می‌خواهیم مشتریان شرکت را از لحاظ ریسک تصادف به 3 دسته مشتری‌های کم‌ریسک، مشتری‌های با ریسک متوسط و مشتری‌های پرریسک دسته‌بندی کنیم. قبل از هر دسته‌بندی یا هر تحلیل داده‌ای،‌ آنچه حیاتی است این است که بدانیم برای چه هدفی این کار را انجام می‌دهیم.
ولی چرا دسته‌بندی می‌کنیم؟ جواب این سوال لیست عریض و طویلی از کاربرد‌های دسته‌بندی است!‌ سعی می‌کنم با کمک مثال بالا به چند مورد خیلی کاربردی و مهم آن اشاره کنم هرچند کاربردهایی که اشاره خواهم کرد محدود به مثال بالا نیستند و می‌توان تصور کرد در بسترهای متفاوت کارکرد‌های مشابهی داشته باشند.
1- مارکتینگ (سیستم‌های توصیه‌گر): تصور کنید که در همان شرکت بیمه مثال ما، تیم مارکتینگ تصمیم دارد کمپینی برای مشتری‌های کم‌ریسک خود طراحی کند و می‌خواهد بداند که مشتریان کم‌ریسک، چه محصولات دیگری را نیز خریداری کرده‌اند، تا بتواند در طراحی کمپین از این خروجی کمک بگیرد.
2- تخصیص منابع انسانی: تصور کنید که تیم اجرایی شرکت نیاز دارد بداند کدام مشتری‌ها (از لحاظ ریسک) ارزش مالی بیشتری دارند تا سرمایه‌گذاری زمانی بیشتری روی آنها داشته باشد. به‌عنوان مثال تعداد تماس‌های کال سنتر (مرکز تلفن) شرکت با چه اولویتی به مشتری‌ها برسد و…
3- طراحی (سایت یا اپلیکیشن): تصور کنید با دسته‌بندی‌ای که روی مشتری‌ها انجام داده‌ایم و تحلیل اطلاعاتی که از مدل وب‌گردی همین مشتری‌ها روی سایت اپلیکیشن شرکت به دست آورده‌ایم (حرکت موس و مدل کلیک‌ها و بازدید صفحه‌های سایت)، مشخص شده است که هر دسته از مشتری‌ها، بیشتر چه قسمت‌هایی از سایت را می‌بینند و به آن سر می‌زنند. این موضوع برای طراحی سایت به ما کمک می‌کند تا:
الف) کدام دکمه‌ها یا صفحه‌ها را کنار هم بچینیم که برای یک گروه خاص بهتر دیده شوند (اگر محتوای وب‌سایت ما برای هر مشتری به‌صورت خاصی نمایش داده شود، ‌این اطلاعات تاثیر بسزایی در فروش بیشتر خواهد داشت.)
ب) ما حتی می‌توانیم از مدل تعامل هر شخصی با سایت خودمان، تشخیص دهیم که این شخص می‌تواند تبدیل به کدام دسته از مشتری‌های ما بشود و بر این اساس برای او محصولاتی را نمایش دهیم که امکان فروش بهتری داشته باشد!
در هر سه مورد اشاره شده، ما در واقع از نتیجه دسته‌بندی (گروه‌بندی بر اساس ریسک) برای گرفتن تصمیم‌های حیاتی برای تجارت خود استفاده کرده‌ایم که در راستای ارضای هدف کلی شرکت تعیین شده‌اند. لازم است این نکته را پررنگ کنم که این فقط و فقط یک دسته‌بندی و تنها سه مورد از کاربردهای همین دسته‌بندی است!‌ و می‌شود تصور کرد که دسته‌بندی‌های بیشتر با کاربرد‌های متفاوت‌تر تا چه اندازه می‌تواند به ما قدرت تصمیم‌گیری و گزینه‌های متنوع‌تری برای انتخاب استراتژی بدهد.
اما اصولا سگمنتیشن چگونه انجام می‌شود؟ دسته‌بندی یکسری ورودی، یک تابع و یک خروجی دارد. اگر دسته‌بندی را یک تابع فرض کنیم که تعدادی ورودی می‌گیرد و یک خروجی تحویل می‌دهد، ورودی‌های دسته‌بندی را «ویژگی» می‌نامیم. این ویژگی‌ها در کاربردهای مختلف طبیعتا متفاوتند. در مورد مثال ما این ویژگی‌ها می‌تواند: سن،‌ تاهل، سال اخذ گواهینامه، محل سکونت و… باشد.
1- تعداد ویژگی‌ها:
الف) اینکه در مساله دسته‌بندی از چه تعداد ویژگی استفاده کنیم، بسته به پیچیدگی مساله ما دارد: هرچند نمی‌توان با قطعیت گفت اما هرچه پیچیدگی مساله ما بیشتر باشد – در واقع تصمیم ما تابعی از نه یک یا دو،‌ بلکه از چند ویژگی متفاوت باشد – تعداد ویژگی‌های بیشتری برای رسیدن به پاسخ دقیق نیاز داریم.
ب) توجه به این نکته بسیار مهم است که گاهی حتی در مسائل خیلی پیچیده، تعداد زیاد ویژگی / فاکتور‌های ورودی تاثیر منفی در خروجی دسته‌بندی ما دارد، پس تنظیم تعداد این ویژگی‌ها برای رسیدن به پاسخ درست حیاتی است.
ج) ابزارهای مختلفی وجود دارند که به ما کمک می‌کنند تا ویژگی‌ها را دسته‌بندی کنیم یا آنهایی را که از اهمیت بیشتری برخوردارند شناسایی کنیم و بعضی‌ها را که خیلی مهم نیستند یا قدرت جداسازی کمی دارند، قبل از دسته‌بندی حذف کنیم.
2-خواص ویژگی‌ها:
الف) ویژگی‌هایی که ما انتخاب می‌کنیم نباید با هم مرتبط (همبسته باشند). به‌عنوان مثال یکی از ویژگی‌ها نباید تابعی از ویژگی دیگری باشد. اگر غیر از این باشد، در خروجی ما که منجر به تصمیم‌گیری خواهد شد تاثیر منفی زیادی می‌گذارد.
ب) ویژگی‌ها باید گویا و قابل توصیف باشند و به خودی خود از پیچیدگی کمی برخوردار باشند (به‌عنوان مثال سن و تاهل ویژگی‌های خوبی برای مثال ما هستند چون ساده‌اند و گویا.)
3- تابع دسته‌بندی (الگوریتم)
الف) به‌صورت کلی الگوریتم‌های دسته‌بندی به دو گونه یادگیری با نظارت و یادگیری بدون نظارت دسته‌بندی می‌شوند. بسته به شرایط و داده باید یکی از مدل‌ها را انتخاب کنیم و ویژگی‌ها به‌عنوان ورودی به الگوریتم داده شود.
4-توصیف خروجی‌ها:
الف) گاهی خروجی یک سگمنتیشن با توجه به الگوریتمی که از آن برای این منظور استفاده کرده‌ایم، خروجی خوانایی نیست. این به آن معناست که با نگاه کردن به ویژگی‌های هر گروه، افراز درستی به‌صورتی که بتوان نتایج را به راحتی توصیف کرد، نداریم.
– تصور کنید که در مثال ما و در دسته‌بندی 3 گروهی که انجام دادیم، خروجی دسته‌بندی مرز‌بندی درستی با توجه به ویژگی‌های ورودی به ما ندهد.
– مثال مرز‌بندی درست و افراز خوب: مرد‌های بین 18 تا 26 سال سن غیرمتاهل: مشتری پرریسک
– مثال مرزبندی نامشخص و بد: مرد/ زن بین 18 تا 36 سال سن: مشتری با ریسک متوسط!
پر واضح است که در مورد دوم ما نه برای نیازهای تیم مارکتینگ و نه برای تخصیص منابع انسانی و نه برای تیم طراحی سایت به تصمیم درستی نخواهیم رسید. چون این‌طور که به نظر می‌رسد (اگر فرض کنیم که تنها 4 ویژگی ورودی داریم)، تنها یک ویژگی: سن،‌ مشتری با ریسک متوسط ما را افراز می‌کند و این موضوع شک‌برانگیز است!
ب) اگر خروجی سگمنتیشن خوانا نیست، باید قبل از همه به داده‌ها نگاه کرد تا اگر همبستگی دارند یا داده‌ای اشتباه وارد شده است تصحیح شود، سپس مراحل از ابتدا تکرار شود.
در این مقاله سعی شد با یک مثال ساده،‌ چیستی، چرایی و چگونگی دسته‌بندی به‌صورت خیلی ساده، توضیح داده شود و قطعا برای تسلط بیشتر به بحث نیاز به مطالعات جانبی است.

 

اخبار مرتبط

بیشترین بازدید