پیش بینی رضایت مشتریان با الگوریتمهای یادگیری ماشین: بخش اول

در دو مقاله قبلی به سراغ بحث جذاب رضایت مشتریان رفتیم و این موضوع را مورد بررسی قرار دادیم. اگر هنوز این دو مقاله را مطالعه نکردهاید توصیه میکنم قبل از مطالعه این پروژه عملی سری به این مقالات بزنید و کمی با بحث رضایت مشتریان آشنا شوید. حالا که میدانیم رضایت مشتری یعنی چه و چگونه میتوانیم این رضایت را بسنجیم بهتر است دست به کد شویم و موضوع را از دید یادگیری ماشین و دنیای جذاب داده ببینیم. در این پروژه قرار است گام به گام یک دیتاست جذاب را بررسی کنیم و ببینیم چگونه میتوانیم رضایت مشتریانمان را بر اساس فاکتورهای مختلف پیش بینی کنیم.
مطالعه موردی: استفاده از الگوریتمهای یادگیری ماشین در سنجش رضایت مشتریان شرکت هواپیمایی
همانطور که قبلاً هم با هم بحث کردیم زمانی که انتظارات مشتری بعد از کاربرد خدمات یا محصولاتمان برآورده میشود حس رضایت سرتاسر وجودش را فرا میگیرد. اینکه شما در چه صنعتی فعالیت میکنید زیاد مهم نیست. اگر نتوانید انتظارات و نیازهای مشتریان را برآورده کنید دیگر خبری از رضایت او نخواهد بود. شرکتهای هواپیمایی هم از این قاعده مستثنی نیستند. بررسی کیفیت خدمات رسانی به مشتریان از جمله مهمترین فاکتورهایی است که باید مدنظر قرار گیرد. اگر مقالات ISI را بررسی کنید به نمونههای مختلفی میرسید که از الگوریتمهای یادگیری ماشین و دیپ لرنینگ برای سنجش رضایت مشتری و تمایل او به استفاده از خدمات و محصولات یک شرکت استفاده کردهاند.
بحث رضایت مشتری یکی از موارد جذابی است که این روزها همه دربارهاش صحبت میکنند. مشتری بعد از خرید خود فرآیند موجود را ارزیابی میکند. اگر عملکرد محصول یا خدمت با انتظارات او منطبق بود راضی و خشنود میشود و در غیر اینصورت سر کج میکند و به سراغ رقیب میرود.
سنجش رضایت مشتری به فاکتورهای مختلفی بستگی دارد و نمیتوان یک نسخه واحد برای همه کسبوکارها پیچید. به همین خاطر هر کسبوکاری باید با بررسی نظرات مشتریان خود به فاکتورهای تاثیرگذار در فرایند رضایت مشتری برسد. با رشد الگوریتمهای دادهکاوی این فرآیند سادهتر از گذشته شده است. کافیست مشتریان را انتخاب کنید، یک نظرسنجی مناسب بین آنها برگزار نمایید و هر آنچه که دارید را تجزیه و تحلیل کنید.
شرکتهای هواپیمایی به دلیل رقابت بالایی که در صنعت خود دارند باید نگاه دقیقتری به این ماجرا داشته باشند و بتوانند از روشهای پیشرفته برای بهبود روابط خود با مشتری استفاده کنند.
چطور رضایت مشتری را با الگوریتمهای یادگیری ماشین و دیپ لرنینگ بسنجیم؟
برای اینکه بتوانیم رضایت مشتریانمان را بسنجیم قبل از هر کاری به یک سری داده نیاز داریم. جمعاوری داده اولین و مهمترین گام در این فرآیند محسوب میشود. اگرچه ما در این مقاله از یک دیتاست آماده برای بررسی فاکتورهای مهم در رضایت مشتریان استفاده میکنیم اما به کمک تکنیکهایی مثل نظرسنجی میتوان اطلاعات بیشماری کسب کرد.
یکی از مقالاتی که اخیراً در این زمینه منتشر شده عنوان بسیار جذابی دارد. این مقاله با عنوان «رویکرد یادگیری عمیق برای تجزیه و تحلیل تمایلات مشتریان خطوط هوایی» تلاش کرده فاکتورهایی که در زمینه رضایت مشتریان تاثیرگذار است را بررسی کند. در ابتدا به کمک نظرسنجی اطلاعات مورد نیاز از مشتریانی که حداقل 5 سال با شرکت هواپیمایی در ارتباط بودهاند جمع آوری شد. مشتریانی که اطلاعات را به درستی وارد نکرده بودند از چرخه مطالعه حذف شدند. سپس به کمک یک روش آماری به اسم همبستگی پیرسون فرآیند انتخاب ویژگی انجام شد. در نهایت به کمک الگوریتمهای یادگیری ماشین و دیپ لرنینگ تمایل مشتری نسبت به شرکت هواپیمایی مورد بررسی قرار گرفت.
حدود 50 سوال که مربوط به محیط فیزیکی و اجتماعی شرکت هواپیمایی، تجربه برند، وفاداری به برند و رضایت نسبت به برند بود مطرح گردید. وجه تمایز این پژوهش نسبت به پژوهشهای قبلی تقسیم بندی سوالات است. محققان این مقاله سوالاتی که از مشتریان پرسیده بودند را به 5 طبقه دستهبندی کردند تا بهتر بتوانند نظرات مشتریان را متمایز کنند.
آنها از 16 فاکتور برای طبقه خدمات فیزیکی( مثل طراحی هواپیما و محیط کابین)، 12 فاکتور برای خدمات اجتماعی( مثل مهمانداران، تعداد مسافران و رفتار آنها)، 9 فاکتور برای تجربه برند( مثل احساسات مرتبط با برند، وعدههای غذایی حین پرواز، مهماننوازی مهمانداران)، 5 فاکتور برای وفاداری برند( تمایل به استفاده از برند و توصیه برند به دیگران)، 8 فاکتور برای سنجش رضایت مشتری( رضایت از مهمانداران، رضایت از پرواز و خدمات کلی) استفاده کردند. نمره یا شاخص هر فاکتور عددی از 1 تا 5 بود. محققان بعد از انتخاب ویژگی و ساخت مدل به کمک روشهای یادگیری ماشین و دیپ لرنینگ تلاش کردند نرخ ریزش مشتری و رضایت آنها را پیش بینی کنند.
ما چطور میتوانیم از این روش به نفع کسبوکار خود استفاده کنیم؟
همه این حرفها را زدیم تا به یک نکته مهم برسیم. ما چگونه میتوانیم از چنین مطالعاتی برای بهبود کسبوکارمان استفاده کنیم؟ پاسخ به این سوال بسیار ساده است. همه کسبوکارها به دنبال بهبود رضایت مشتری خود هستند و تلاش میکنند به شیوههای مختلف این رضایت را بهبود ببخشند.
حالا تصور کنید که به کمک یک سری الگوریتمهای پیشرفته میتوانید فاکتورهای تعیین کننده را بیابید و از آنها برای پیش بینی رفتار مشتریان استفاده کنید. با جمعاوری نظرات مخاطبان و تحلیل آنها به اطلاعاتی ارزشمند دست پیدا میکنید که با هیچ چیزی قابل مقایسه نیست. برای اینکه بهتر این موضوع را درک کنیم به سراغ بخش عملی کار میرویم و دست به کد میشویم تا ببینید شما هم میتوانید از این روشها برای کسبوکارتان بهره ببرید.
گام عملی برای پیش بینی رضایت مشتریان
من از دیتاست آمادهای که در کگل به صورت رایگان برای دانلود وجود دارد استفاده میکنم. این دیتاست نظرات مشتریان را درباره جنبههای مختلف پرواز جمعاوری کرده است. بیایید نگاهی به دیتاست بیندازیم و ببینیم چه ستونهایی داریم.
قبل از هر کاری میتوانیم به کمک کتابخانههای مختلفی که در پایتون داریم دادههایمان را مصور کنیم. اینکار چندین مزیت مهم دارد که یکی از آنها درک دادهها و گرفتن بینشهای جذاب است. در این مرحله بهتر است چندین سوال از قبل طراحی کنید و با چشم باز به سراغ بصریسازی بروید.
یادتان باشد هر چقدر هدف شما از تحلیل مشخصتر باشد نتیجهای که به دست میاورید قابل اعتمادتر خواهد بود. علاوه بر پایتون میتوانید از قابلیتهای اکسل یا پاور بی آی هم برای ساخت داشبورد استفاده کنید. از آنجایی که این پروژه نیاز به بررسی عمیق دارد من آن را به دو بخش EDA( تحلیل اکتشافی) و مدلسازی تقسیم کردم. در ادامه با هم به مصورسازی دادهها میپردازیم و یک سری بینش کلی درباره دیتاست کسب میکنیم.
بررسی دادههای گمشده
از جمله فرآیندهای مهمی که در پروژههای تحلیل داده باید انجام دهیم بررسی دادههای گمشده یا نال است. قبلاً درباره این نوع دادهها و روشهای مدیریت آن صحبت کردهایم. اگر بخواهیم وجود چنین دادههایی را بررسی کنیم بهتر است از یک دستور ساده مثل isnull().sum() استفاده کنیم. این دستور مجموع دادههای گمشده در هر ستون را به ما نشان میدهد. همانطور که در تصویر زیر میبینید ستون Arrival Delay in Minutes چیزی حدود 310 داده گمشده دارد.
روشهای مختلفی برای مدیریت این نوع دادهها وجود دارد. اینکه از چه روشی برای بررسی و مدیریت دادههای گمشده استفاده میکنید به شرایط پروژهتان بستگی دارد. من اینجا دادههای گمشده این ستون را با میانه آن پر کردم.
بررسی متوازن بودن یا نبودن دیتاست
هدف نهایی ما از انجام این پروژه پیشبینی رضایت مشتریان است. برای اینکه به هنگام مدلسازی دچار مشکل نشویم باید دیتاست متوازنی داشته باشیم. استفاده از روشهای بصری یا متد value_counts() به ما کمک میکند این وضعیت را به خوبی مورد بررسی قرار دهیم. همانطور که در تصویر زیر میبینید دیتاست ما تقریبا متوازن است.
جدا کردن ستونهای کیفی از کمی
برای اینکه بعداً بررسی خود را دقیقتر انجام دهیم نیاز داریم ستونهای کیفی و کمی را از هم تشخیص دهیم. یادتان باشد در پروژههای تحلیل داده باید روش مدیریت دیتاهای کیفی را بدانیم تا بتوانیم از الگوریتمهای یادگیری ماشین بهره ببریم. یک تابع ساده همچون تابع زیر به ما کمک میکند تعداد ستونهای کمی و کیفی را شناسایی کنیم.
بصریسازی دادهها
خوب حالا که یک دید کلی نسبت به دیتاست به دست آوردیم میتوانیم فرآیند بصریسازی را شروع کنیم. در این مرحله کتابخانههای مختلفی داریم که هر کدام مزایای خاصی در اختیارمان قرار میدهند. کتابخانههایی همچون matplotlib، Seaborn و plotly از جمله کتابخانههای محبوب پایتون برای بصریسازی دادهها هستند.
همانطور که قبلاً هم گفتم طرح سوال از طرف صاحبان کسبوکار و تحلیلگران کمک میکند فرآیند تجزیه و تحلیل با سرعت بیشتری به پیش رود. ما کارمان را با ستون جنسیت آغاز میکنیم. در این شرایط یک سوال مهم به ذهنمان خطور میکند: آیا جنسیت تاثیری بر روی رضایتمندی مشتری دارد؟ برای اینکه پاسخ این سوالمان را بیابیم دست به دامن کدهای پایتون میشویم.
خوب قبل از هر کاری بهتر است تعداد مردان و زنان را در دیتاست بیابیم:
همانطور که میبینید چیزی حدود 52 هزار زن و 51 هزار مرد در این دیتاست داریم. ترسیم نمودار Countplot یا catplot به ما نشان میدهد تفاوت فاحشی بین رضایتمندی زنان و مردان وجود ندارد. به عبارت دیگر مرد یا زن بودن عامل تاثیرگذاری برای تعیین و پیش بینی رضایت مشتریان نیست.
علاوه بر این نمودار، استفاده از نمودار هیت مپ هم به ما کمک میکند ارتباط یا Correlation دو ستون رضایتمندی و جنسیت را بسنجیم. نتایج این دو نمودار نشان میدهد مرد یا زن بودن نمیتواند عامل تاثیرگذاری در پیشبینیهایمان باشد.
بررسی ستون customer Type و ارتباط آن با رضایتمندی
هر کسبوکاری با مشتریان وفادار و غیروفاداری روبروست که هر کدام ویژگیهای خاص خود را دارند. وجود مشتریان وفادار میتواند تا حدودی موفقیت بیزنس را تسریع کند و آن را یک گام به موفقیت نزدیکتر نماید. به کمک روشهای مختلف بازاریابی میتوان مشتریان وفادار را به هوادار تبدیل کرد و از آنها هواداران دو آتشه ساخت.
بررسی ستون customer Type نشان میدهد ما دو مقدار منحصربهفرد در این ستون داریم: مشتریان وفادار و مشتریان غیر وفادار. آیا وفادار بودن میتواند رضایت مشتریان را تضمین کند؟ بیایید بررسی کنیم:
همانطور که در تصویر میبینید در بین مشتریان وفادار تعداد افراد ناراضی بیشتر از افراد راضی است. استفاده از جدول pivot table هم این موضوع را به خوبی نشان میدهد.52 درصد مشتریان وفادار از خدمات این شرکت ناراضی بودند. در بین مشتریان غیر وفادار هم 76 درصد مشتری ناراضی وجود داشت.
این بررسی به خوبی نشان میدهد صرف وفادار بودن یا نبودن مشتری تعیین کننده رضایت آنان نیست. این ما هستیم که به عنوان کسبوکار باید به طور مداوم انتظارات مشتریانمان را بسنجیم و هر آنچه که نیاز دارند را به بهترین شکل ممکن در اختیارشان بگذاریم. در غیر اینصورت نباید به وفاداری مشتریانمان چشم بدوزیم.
بررسی تاثیر نوع سفر(Type of travel) بر روی رضایتمندی مشتری
اگر این ستون را بررسی کنیم به دو مقدار منحصربه فرد میرسیم: سفر بیزنسی و سفر شخصی. بیش از 68 درصد مسافران این شرکت متعلق به گروه سفر بیزنسی و 31 درصد متعلق به سفر شخصی است. 58 درصد افرادی که سفر بیزنسی را انتخاب کرده بودند از خدمات این شرکت راضی بودند. بیش از 89 درصد مسافران گروه شخصی رضایت چندانی از خدمات ارائه شده توسط این شرکت نداشتند.
بررسی تاثیر نوع کلاس سفر(Class) بر روی رضایتمندی
معمولاً شرکتهای مسافرتی و هواپیمایی دستهبندیهای مختلفی در حوزه نوع کلاس دارند. با اینحال رایجترین نوع دسته بندی را میتوان به صورت اکو و بیزنسی بیان کرد. زمانی که ستون class را بررسی میکنیم به سه مقدار منحصربهفرد میرسیم. همانطور که میبینید سه دسته اکو، اکو پلاس و بیزنس کلاسهایی هستند که این شرکت در اختیار مسافران خود قرار میدهد. بیش از 69 درصد افرادی که از کلاس بیزنس استفاده کرده بودند راضی بودند. این نوع سفر به دلیل خدماتی که در اختیار مشتریان قرار میدهد میتواند رضایت بیشتری ایجاد کند.
نکته جالب ماجرا اینجاست که مسافران گروه اکو بیش از 81 درصد از خدمات ارائه شده ناراضی بودند. هر چند این نوع کلاس نسبت به سایر کلاسها هزینه کمتری بر روی دوش مخاطب میگذارد اما این دلیل نمیشود که ناراضایتیشان را به جان بخریم. بهترین کار در این شرایط بررسی نظرات مشتریان و مصاحبه با آنهاست. به کمک روشهای تحقیقاتی میتوانیم نیازسنجی کنیم و بر اساس هزینههای پرداخت شده بهترین خدمات را ارائه نماییم.
بررسی تک متغیره دادههای عددی
در این دیتاست در کنار دیتاهای کیفی دادههای عددی متعددی هم داریم. به کمک نمودارهایی همچون باکس پلات و هیستوگرام میتوانیم چنین دادههایی را به تصویر بکشیم و تاثیرشان بر روی رضایتمندی را بسنجیم. به عنوان مثال ترسیم نمودار باکس پلات سن در برابر رضایتمندی نشان میدهد افرادی که راضیتر بودند میانه سنی بیشتری نسبت به افراد ناراضی داشتند.
این موضوع میتواند دلایل مختلفی داشته باشد. به عنوان مثال افرادی که کم سن و سالتر هستند به دنبال سرگرمیهای بهتر و جذابتری میگردند. اگر بتوانیم سرگرمیهای داخل پرواز را بر اساس نیاز این گروه از افراد بهبود ببخشیم شاید بتوانیم نیازهایشان را برآورده کنیم. البته دلایل دیگری هم برای بروز چنین شرایطی میتواند وجود داشته باشد که نیاز به بررسی بیشتری دارد.
بررسی هیت مپ دیتاست
همانطور که قبلاً هم گفتم هیت مپ یکی از بهترین و جذابترین نمودارهایی است که میتواند بینشهای مختلفی در اختیارمان قرار دهد. این نمودار تلاش میکند ارتباط بین فیچرها را بر اساس correlation بسنجد. زمانی که دادهها را به شکل هیت مپ ترسیم کنیم به تصویری همچون تصویر زیر میرسیم:
اگر دقیقتر به این تصویر نگاه کنیم متوجه میشویم که فیچرهایی همچون online boarding، سرگرمیهای حین پرواز، راحتی صندلیها برای نشستن و تمیزی داخل کابین هواپیما از جمله مواردی است که میتواند رضایتمان از پرواز را دو چندان کند.
بررسی دادههای عددی در برابر دادههای کیفی
زمانی که در حال بررسی دادهها هستیم و هنوز فاز تحلیل اکتشافی را به پایان نرساندهایم بهتر است مقایسه اجمالی نسبت به دادههای عددی و کیفی داشته باشیم.
بیایید این موضوع را با بررسی دو ستون نوع مشتری(Customer Type) و سن(Age) شروع کنیم. این بررسی نشان میدهد افرادی که در گروه مشتریان وفادار بودند میانه سنی بالاتری نسبت به افراد غیر وفادار داشتند.
بررسی دو ستون مسافت پرواز (Flight Distance) و کلاس(class) هم نشان میدهد افرادی که فاصله طولانیتری برای پرواز داشتند بیشتر از کلاس بیزنسی برای سفرهایشان استفاده کردهاند. این موضوع در ظاهر هم منطقی است. پروازهای بیزنسی فضای بهتر و خدمات بیشتری در اختیار مسافران قرار میدهند و همین امر میتواند دلیل انتخاب افراد برای پروازهای طولانیتر باشد.
سخن نهایی
در این بخش از پروژه سعی کردیم با هم نگاهی اجمالی به دیتاست بیندازیم و ببینیم چگونه میتوانیم با بصری سازی دادهها بینشهای بهتری بگیرم. فقط یک نکته را به خاطر داشته باشید. برای اینکه اطلاعات مفیدتری از تحلیلهایتان به دست آورید بهتر است سوالات متعددی را از خودتان بپرسید. پرسیدن سوال میتواند مسیر تحلیلتان را مشخص کند و اطلاعات منسجمتری در اختیارتان بگذارد. در مقاله بعدی با هم به سراغ مدلسازی می رویم تا ببینیم چگونه میتوانیم رضایتمندی مشتریان را بر اساس ویژگیهایی که داریم پیش بینی کنیم.
دیدگاهتان را بنویسید