تحلیل RFM در ووکامرس: کدام مشتری‌ها دارند از دست می‌روند و با هر کدام چه کنیم؟

تحلیل RFM قدم‌به‌قدم برای فروشگاه ووکامرس: امتیازدهی، بخش‌بندی مشتریان، بازگرداندن مشتری در خطر ریزش و سنجیدن اثر واقعی پیامک با گروه شاهد.

در این نوشته
  1. RFM یعنی سه سؤال دربارهٔ هر مشتری
  2. قدم اول: دادهٔ درست
  3. قدم دوم: امتیاز ۱ تا ۵
  4. قدم سوم: گروه‌ها و کاری که با هر کدام باید کرد
  5. «دیر» یعنی دیرتر از عادت خود همان مشتری
  6. نکته‌های فروشگاه ایرانی
  7. گروه شاهد: تنها راه فهمیدن اینکه کمپین جواب داده
  8. اشتباه‌های رایج
  9. با دست یا خودکار؟
  10. پرسش‌های متداول

بیشتر فروشگاه‌های اینترنتی می‌دانند امروز چند سفارش گرفته‌اند، ولی نمی‌دانند کدام مشتری‌های خوبشان کم‌کم دیگر سر نمی‌زنند. این مشتری‌ها خداحافظی نمی‌کنند؛ فقط خرید بعدی‌شان دیر و دیرتر می‌شود. وقتی هم فروش افت کرد، یک پیامک تخفیف برای همه می‌رود و هیچ‌وقت معلوم نمی‌شود چقدر از فروش بعدی واقعاً از همان پیامک آمده است.

تحلیل RFM ساده‌ترین روش جاافتادهٔ بخش‌بندی مشتریان برای پیدا کردن همین افراد است، پیش از آنکه به مشتریان از دست رفته تبدیل شوند. با خروجی سفارش‌های ووکامرس و یک فایل اکسل هم انجام‌شدنی است. اینجا توضیح می‌دهم چطور امتیاز بدهید، با هر گروه چه کنید و چطور بفهمید کمپین بازگرداندن مشتری واقعاً جواب داده یا نه.

در یک نگاه

  • RFM یعنی سه سؤال دربارهٔ هر مشتری: آخرین خریدش کی بوده، چند بار خریده و چقدر خریده.
  • با خروجی سفارش‌های ووکامرس و یک فایل اکسل هم می‌شود انجامش داد.
  • مهم‌ترین گروه‌ها برای پیگیری: «در خطر ریزش» و «نباید از دستش داد».
  • بدون گروه شاهد نمی‌فهمید کمپین پیامکی واقعاً فروش آورده یا نه.

RFM یعنی سه سؤال دربارهٔ هر مشتری

R

تازگی

آخرین خریدش چند روز پیش بوده؟

F

تکرار

تا حالا چند بار خرید کرده؟

M

مبلغ

روی هم چقدر خرید کرده است؟

F و M می‌گویند مشتری در گذشته چقدر برایتان ارزش داشته است. R می‌گوید این رابطه هنوز زنده است یا نه. برای همین در بازگرداندن مشتری، تازگی مهم‌ترین ستون است: مشتری‌ای که ده بار خرید کرده ولی یک سال است خبری از او نیست، دیگر مشتری فعال شما نیست، هرچقدر هم سابقه‌اش درخشان باشد. هرچه از آخرین خرید بیشتر بگذرد، احتمال اینکه سراغ رقیب رفته باشد بیشتر می‌شود؛ پس باید پیش از آنکه کاملاً سرد شود سراغش رفت.

نکته

البته «دیر» برای هر کالا معنای دیگری دارد: ۶۰ روز بی‌خبری برای خریدار هفتگی قهوه زنگ خطر است و برای خریدار گوشی موبایل عادی.

قدم اول: دادهٔ درست

از ووکامرس فهرست سفارش‌ها را با این ستون‌ها بیرون بکشید: شمارهٔ موبایل مشتری، تاریخ سفارش، مبلغ کالاها و وضعیت سفارش. گزارش‌های داخلی ووکامرس همهٔ این ستون‌ها، به‌خصوص موبایل را، کنار هم نمی‌دهند؛ معمولاً با یک افزونهٔ خروجی سفارش (Order Export) کار راحت‌تر است. قبل از هر محاسبه سه کار را بکنید:

  • فقط سفارش‌های انجام‌شده («تکمیل‌شده» و «در حال انجام») را نگه دارید.
  • مبلغ را «خالص» حساب کنید: مرجوعی را کم کنید و هزینهٔ ارسال و مالیات را جزو خرید نیاورید.
  • مشتری‌های تکراری را یکی کنید (پایین‌تر توضیح داده‌ام).

بعد با Pivot Table (جدول خلاصهٔ اکسل) برای هر مشتری سه عدد بسازید: روزهای گذشته از آخرین خرید (R)، تعداد سفارش (F) و جمع مبلغ خالص (M).

قدم دوم: امتیاز ۱ تا ۵

در هر ستون به هر مشتری امتیازی از ۱ تا ۵ بدهید. دو راه رایج هست.

تقسیم به پنج دستهٔ مساوی: مشتری‌ها را در هر ستون مرتب کنید و به پنج دستهٔ هم‌اندازه تقسیم کنید؛ ۲۰ درصد بالا ۵ می‌گیرند و ۲۰ درصد پایین ۱. در ستون R ترتیب برعکس است: روز کمتر، امتیاز بیشتر.

مرزهای ساده: در بسیاری از فروشگاه‌ها بیشتر مشتری‌ها فقط یک بار خریده‌اند، پس صدها نفر در ستون F عدد یکسان «۱» دارند و تقسیم به پنج دستهٔ مساوی جواب نمی‌دهد. آن وقت مرزها را خودتان تعیین کنید. برای یک فروشگاه فرضی که مشتری‌های ثابتش معمولاً ماهی یکی‌دو بار خرید می‌کنند، چیزی شبیه این:

امتیازR: روز از آخرین خریدF: تعداد سفارش
۵تا ۳۰ روز۸ و بیشتر
۴۳۱ تا ۶۰۵ تا ۷
۳۶۱ تا ۱۲۰۳ یا ۴
۲۱۲۱ تا ۲۴۰۲
۱بیش از ۲۴۰۱
مرزهای نمونه برای یک فروشگاه فرضی؛ مرزهای فروشگاه خودتان را با چرخهٔ خرید کالایتان تنظیم کنید.

برای M تقسیم به پنج دستهٔ مساوی معمولاً خوب جواب می‌دهد، چون مبلغ‌ها کمتر تکراری‌اند. حالا یک مثال؛ عددهای جدول زیر ساختگی‌اند و فقط برای نشان دادن روش آمده‌اند؛ مبلغ‌ها هم واحد خاصی ندارند.

مشتریروز از آخرین خریدتعداد سفارشمبلغ خالص (فرضی)R-F-Mگروه
الف۱۲۹۷۲۰۰۵-۵-۵قهرمان
ب۴۵۴۲۱۰۰۴-۳-۳وفادار
ج۲۰۱۶۰۰۵-۱-۲جدید
د۱۵۰۶۴۸۰۰۲-۴-۴در خطر ریزش
هـ۳۰۰۱۰۹۵۰۰۱-۵-۵نباید از دستش داد
و۴۰۰۱۳۵۰۱-۱-۱ازدست‌رفته
مثال ساختگی شش مشتری با آستانه‌های جدول قبل.

مشتری «هـ» را ببینید: با معیار جمع خرید، بهترین مشتری فروشگاه است. RFM نشان می‌دهد ۳۰۰ روز است خرید نکرده؛ یعنی بهترین مشتری‌تان دارد از دست می‌رود و گزارش فروش معمولی این را نشان نمی‌دهد.

قدم سوم: گروه‌ها و کاری که با هر کدام باید کرد

از ترکیب سه امتیاز ۱۲۵ حالت درمی‌آید که آن‌ها را در چند گروه معنادار جمع می‌کنند. نام‌ها و مرزها از منبعی به منبع دیگر فرق دارد؛ منطق هر گروه مهم است.

نقشهٔ گروه‌های مشتری بر اساس امتیاز تازگی و تکرار خریدقهرمانوفادارجدیددر خطرریزشنباید ازدستش داداز دست‌رفتهخواب‌رفتهالفبجدهـو۱۲۳۴۵۱۲۳۴۵امتیاز تازگی (R)تازه‌ترقدیمی‌ترامتیاز تکرار (F)
هر خانه یک ترکیب امتیاز تازگی و تکرار است و رنگش گروه آن مشتری را نشان می‌دهد. حرف‌ها همان شش مشتری جدول بالا هستند؛ مشتری «هـ» با بیشترین خرید، در خانهٔ قرمز است. امتیاز مبلغ (M) برای اولویت‌بندی داخل هر گروه به کار می‌رود.

قهرمان و وفادار (R و F بالا)

این‌ها همین حالا از شما می‌خرند. به تخفیف نیاز ندارند و تخفیف دادن به آن‌ها معمولاً یعنی پولی را که خودشان می‌پرداختند از دست بدهید. به‌جایش قدردانی کنید: اطلاع زودتر از کالای جدید یا پیشنهاد کالای مکمل.

جدید (R بالا، F پایین)

یک بار خریده‌اند و هنوز تصمیم نگرفته‌اند برگردند یا نه. خرید دوم مهم‌ترین قدم این گروه است. مطمئن شوید سفارش اول بی‌دردسر رسیده و وقتی معمولاً نیاز بعدی پیدا می‌شود، یادآوری کنید.

در خطر ریزش (R در حال افت، F و M خوب)

قبلاً مرتب می‌خریدند و حالا دیر کرده‌اند. این گروه هدف اصلی کمپین بازگرداندن مشتری است، چون رابطه هنوز کاملاً سرد نشده. اول بپرسید، بعد تخفیف بدهید: یک تماس کوتاه گاهی دلیل ریزش را نشان می‌دهد (تأخیر ارسال، کالای ناموجود) که با تخفیف حل نمی‌شود.

نباید از دستش داد (R خیلی پایین، F و M خیلی بالا)

همان مشتری «هـ». تعدادشان کم است ولی هر کدام ارزش یک تماس تلفنی واقعی را دارد، نه فقط یک پیامک انبوه. اگر قرار است جایی پیشنهاد ویژه بدهید، اینجاست.

خواب‌رفته و ازدست‌رفته (هر سه پایین)

مدت‌ها پیش و کم خریده‌اند. حداکثر یک پیام کم‌هزینه بفرستید و اگر جواب ندادند، رهایشان کنید؛ پیامک پشت پیامک بیشتر لغو عضویت می‌سازد تا فروش.

«دیر» یعنی دیرتر از عادت خود همان مشتری

مرزهای ثابت با همهٔ مشتری‌ها یکسان رفتار می‌کنند. مشتری‌ای که هر ۲۰ روز خرید می‌کرد و حالا ۴۰ روز است خبری از او نیست، از مشتری‌ای که هر شش ماه یک بار می‌خرد و ۹۰ روز از آخرین خریدش گذشته نگران‌کننده‌تر است، هرچند امتیاز R دومی پایین‌تر است.

برای مشتری‌هایی که دست‌کم سه خرید دارند، میانگین فاصلهٔ بین خریدهایشان را حساب کنید. اگر از آخرین خرید بیشتر از این فاصلهٔ معمول گذشته، «موعد» او رسیده است. همین منطق را در رادار مشتری، افزونهٔ ووکامرسی که ساخته‌ام، برای ساختن «فهرست تماس امروز» به کار برده‌ام: هر روز مشتری‌هایی را نشان می‌دهد که طبق الگوی خرید خودشان موعد خرید بعدی‌شان رسیده یا گذشته است.

نکته‌های فروشگاه ایرانی

یک مشتری با سه شماره

در ووکامرس بسیاری از خریدها بدون ساختن حساب کاربری و به‌صورت مهمان ثبت می‌شوند. پس شناسهٔ واقعی مشتری معمولاً شمارهٔ موبایل اوست. مشکل اینجاست که همان شماره یک بار با ۰۹، یک بار با ‎+۹۸ و یک بار با ارقام فارسی وارد شده است و اکسل این‌ها را سه نفر می‌بیند. نتیجه: یک مشتری وفادار با ده خرید در تحلیل شما به سه مشتری کم‌خرید تبدیل می‌شود.

پیش از گروه‌بندی، همهٔ شماره‌ها را به یک قالب درآورید: ارقام فارسی را به لاتین تبدیل کنید، فاصله و خط تیره را حذف کنید و پیشوندهای ۰، ۹۸ و ‎+۹۸ را یکسان کنید.

تاریخ شمسی

اگر تاریخ سفارش‌ها را به‌صورت متن شمسی (مثل ۱۴۰۵/۰۸/۱۲) خروجی بگیرید، اکسل نمی‌تواند فاصلهٔ روزها را درست حساب کند. محاسبه را با تاریخ میلادی انجام دهید و فقط برای نمایش و گزارش به شمسی برگردانید.

گروه شاهد: تنها راه فهمیدن اینکه کمپین جواب داده

فرض کنید برای ۵۰۰ مشتری «در خطر ریزش» پیامک تخفیف می‌فرستید و ماه بعد ۴۰ نفرشان خرید می‌کنند. کمپین موفق بوده؟ نمی‌دانید؛ شاید بیشترشان بدون پیامک هم برمی‌گشتند و شما فقط به آن‌ها تخفیف داده‌اید.

راه حل گروه شاهد (holdout) است: پیش از ارسال، درصدی از همان مخاطبان را تصادفی کنار بگذارید و به آن‌ها پیامی نفرستید. بعد از مدت مشخصی، مثلاً یک ماه، نرخ خرید دو گروه را مقایسه کنید. اگر مثلاً (عددها فرضی‌اند) ۸ درصد گروه پیام‌گرفته و ۶ درصد گروه شاهد خرید کرده باشند، اثر واقعی کمپین همان اختلاف ۲ واحد درصدی است، نه ۸ درصد. همین مقایسه را برای مبلغ فروش هم بکنید تا ببینید فروش اضافه هزینهٔ پیامک و تخفیف را جبران کرده یا نه.

مقایسهٔ نرخ خرید گروه پیام‌گرفته و گروه شاهدگروه پیام‌گرفته: ۸٪ خرید کردندگروه شاهد (بدون پیام): ۶٪ خرید کردنداثر واقعی کمپین:۲ واحد درصداین‌ها بدون پیامک همخرید می‌کردند
عددها فرضی‌اند. بدون گروه شاهد، کل ۸ درصد را به حساب پیامک می‌گذاشتید؛ در حالی که سه‌چهارمش بدون پیامک هم اتفاق می‌افتاد.

سه نکته این مقایسه را درست نگه می‌دارد:

  • تقسیم باید تصادفی باشد. اگر بهترین‌ها را برای پیام انتخاب کنید و بقیه را شاهد بگذارید، اختلاف به خاطر خود انتخاب است نه پیام.
  • همهٔ انتخاب‌شده‌ها را بشمارید. گروه پیام را «همهٔ کسانی که برای پیام انتخاب شدند» بگیرید، حتی آن‌هایی که پیامکشان نرفت یا شماره‌شان نامعتبر بود. اسم آماری این کار intention-to-treat است.
  • با عددهای کوچک محتاط باشید. وقتی هر گروه فقط چند ده نفر است، اختلاف یکی‌دو خرید می‌تواند تصادفی باشد. با یک کمپین تصمیم قطعی نگیرید.

اندازهٔ گروه شاهد یک بده‌بستان است: هرچه بزرگ‌تر، اندازه‌گیری مطمئن‌تر ولی پیام به افراد کمتری می‌رسد. مهم این است که اصلاً گروه شاهد داشته باشید.

اشتباه‌های رایج

  • تخفیف برای همه. قهرمان‌ها بدون تخفیف هم می‌خریدند و ازدست‌رفته‌ها با تخفیف هم برنمی‌گردند. تخفیف را برای گروه‌های در خطر نگه دارید و ترجیحاً کد یک‌بارمصرف بدهید تا دست‌به‌دست نشود.
  • قضاوت دربارهٔ کمپین بدون گروه شاهد. «بعد از پیامک فروش بالا رفت» ثابت نمی‌کند پیامک باعثش بوده؛ شاید فصل خرید بوده یا رقیب کالایش تمام شده بود.
  • یک بار تحلیل و فراموش کردن. گروه‌ها هر روز عوض می‌شوند. مشتری امروزِ «وفادار» سه ماه دیگر ممکن است «در خطر» باشد. دست‌کم ماهی یک بار تحلیل را تکرار کنید.
  • پیام مکرر به یک نفر. کسی که این هفته با او تماس گرفته‌اید نباید هفتهٔ بعد هم در فهرست باشد. یک فاصلهٔ استراحت برای هر مشتری بگذارید.

با دست یا خودکار؟

همهٔ این‌ها با اکسل شدنی است و پیشنهاد می‌کنم دست‌کم یک بار خودتان انجامش دهید. مشکل تکرار است: هر ماه خروجی گرفتن، یکسان کردن شماره‌ها و نگه داشتن حساب گروه شاهد زود خسته‌کننده می‌شود.

رادار مشتری را برای همین ساخته‌ام. هر شب سفارش‌های ووکامرس را تحلیل می‌کند، مشتری‌ها را در نُه گروه RFM (از «قهرمان» تا «ازدست‌رفته») قرار می‌دهد و فهرست تماس امروز را می‌سازد. شماره‌های موبایل را با هر قالبی (۰۹، ‎+۹۸ یا ارقام فارسی) یکسان می‌کند تا یک مشتری دو نفر شمرده نشود، فروش را خالص حساب می‌کند، تاریخ‌ها را شمسی نشان می‌دهد و می‌تواند از طریق کاوه‌نگار یا افزونهٔ «پیامک ووکامرس» پیامک بفرستد، با یا بدون کد تخفیف یک‌بارمصرف. هر کمپین می‌تواند گروه شاهد داشته باشد و گزارش نتیجه، «انتخاب‌شده برای پیام» را با «گروه شاهد» مقایسه می‌کند. کمپین‌ها پیش‌فرض خاموش‌اند، درست پیش از هر ارسال «پیام نده» بررسی می‌شود و دادهٔ مشتریان روی هاست خودتان می‌ماند. جزئیات بیشتر در صفحهٔ رادار مشتری هست.

پرسش‌های متداول

تحلیل RFM برای فروشگاه کوچک هم معنا دارد؟

بله، فقط روشش کمی فرق می‌کند. با چند صد مشتری، تقسیم ستون تکرار به پنج دستهٔ مساوی درست کار نمی‌کند؛ از مرزهای ساده استفاده کنید. پیدا کردن حتی ده مشتری «نباید از دستش داد» ارزش این کار را دارد.

هر چند وقت یک بار باید بخش‌بندی مشتریان را تکرار کرد؟

به چرخهٔ خرید کالایتان بستگی دارد. برای کالای مصرفی که هر چند هفته خریده می‌شود، دست‌کم ماهانه و بهتر هفتگی؛ برای کالای بادوام، ماهانه یا فصلی.

اگر بیشتر مشتری‌هایم فقط یک بار خرید کرده باشند چه؟

این در بسیاری از فروشگاه‌ها عادی است. در این حالت F و M کمتر چیزی می‌گویند و تمرکز روی R و گروه «جدید» است: کار اصلی شما تبدیل خریدار اول به خریدار دوم است.

کنار گذاشتن گروه شاهد یعنی از دست دادن فروش نیست؟

اگر کمپین اثر داشته باشد، چند خرید از گروه شاهد را از دست می‌دهید؛ در عوض می‌فهمید کدام پیام و کدام تخفیف ارزش هزینه دارد. بدون آن ممکن است ماه‌ها به کسانی تخفیف بدهید که بدون تخفیف هم می‌خریدند.