کاربر صفحهای را باز میکند و در همان لحظه اول باید حس کند سیستم او را میفهمد. خریداری که به طرحهای گلدار علاقه دارد باید مشابه آن را ببیند و کارجویی که دنبال موقعیتهای دورکاری است، نباید با آگهیهای حضوری مواجه شود. این دیگر یک ویژگی متمایزکننده نیست؛ بلکه حداقل انتظار کاربران از هر پلتفرمی است. کاربران به سرعت تصمیم میگیرند که آیا سیستم آنها را درک میکند یا خیر، و اهمیتی هم نمیدهند که این عدم تطابق ناشی از ضعف جستجو، پیشنهادها یا دادههای قدیمی بوده است.
ریشه واقعی بحران شخصیسازی
حقیقت ناخوشایند اما پنهان این است که اغلب تیمهای محصول با مشکل کیفیت شخصیسازی مواجه نیستند، بلکه از ضعف معماری شخصیسازی رنج میبرند. شخصیسازی صرفاً یک ابزارک پیادهشده روی موتور جستجو نیست، بلکه یک تصمیم رتبهبندی پیچیده است. سیستم باید برای هر کاربر و در هر درخواست، با در نظر گرفتن کاربر، آیتم، زمینه و هدف تجاری، بهترین گزینه را برای جایگاه بعدی انتخاب کند. در بسیاری از پشتههای نرمافزاری، لایه رتبهبندی تنها جایی است که نمیتواند تمام این سیگنالها را به صورت یکپارچه ببیند.
بخش دشوار کار جمعآوری سیگنالها نیست؛ چالش اصلی ترکیب آنها در حضور کاربر است. برای قرار دادن آیتم درست در جایگاه درست، سیستم باید همزمان چندین فاکتور را تحلیل کند:
- نیت کاربر: او در این لحظه دقیقاً به دنبال چه چیزی است؟
- کیفیت آیتم: هر کاندید چه ارزش یا محتوایی ارائه میدهد؟
- تاریخچه کاربر: رفتار گذشته شامل کلیکها، خریدها و چیزهایی که نادیده گرفته شدهاند چیست؟
- در دسترس بودن: آیا آیتم موجود، تازه یا قانونی برای نمایش است؟
- اولویت تجاری: کسبوکار باید چه محصولاتی را ترویج یا کمرنگ کند؟
تضاد سیگنالها و ساعتهای متفاوت
این سیگنالها اغلب با یکدیگر در تضاد هستند. مرتبطترین آیتم لزوماً سودآورترین نیست و سودآورترین ممکن است ناموجود باشد. کاربر ممکن است کلمه "کفش دویدن" را جستجو کند، اما رفتار او نشان دهد به دنبال "کفش برای دویدن در طبیعت، سایز بزرگ و زیر 120 دلار" است. این دادهها با سرعتهای متفاوتی تغییر میکنند؛ ویژگیهای محصول به کندی تغییر میکنند، در حالی که قیمت و موجودی ممکن است در طول روز نوسان داشته باشند. ترجیحات کاربر با هر کلیک جابجا میشود و عوامل خارجی مانند آبوهوا یا اخبار فوری بدون اطلاع قبلی وارد مدار میشوند.
شخصیسازی به معنای تجمیع تمام این دادهها در یک لیست مرتب، در هر درخواست و تنها در چند میلیثانیه است. گلوگاه اصلی، خود سیگنالها نیستند، بلکه رتبهبندی در زمان جستجو است.
معماری سنتی چگونه شکست میخورد؟
بیشتر سیستمهای شخصیسازی از ابزارهایی مونتاژ شدهاند که هر کدام تنها برای بخش کوچکی از مفهوم ارتباط طراحی شدهاند. موتورهای جستجوی کلیدواژهای در تطابق واژگانی عملکرد درخشانی دارند، اما زبان کاربران با اصطلاحات ایندکسشده همخوانی کامل ندارد. شما ممکن است عبارت "کفش ورزشی دویدن با عملکرد بالا" را ایندکس کرده باشید، اما کاربر فقط "کفش دویدن" را تایپ میکند. قوانین مترادف میتوانند کمککننده باشند، اما در برابر زبانهای دمدراز و کاتالوگهای متغیر، مقیاسپذیری خوبی ندارند.
از طرف دیگر، پایگاههای داده برداری در شباهت معنایی بسیار قدرتمندند، اما جستجوی نزدیکترین همسایه با شخصیسازی واقعی تفاوت دارد. رتبهبندی واقعی باید شباهت معنایی را با رفتار زنده کاربر، موجودی، قیمت، حاشیه سود و قوانین تجاری ترکیب کند. رتبهبندهای مجدد، سرویسهای پیشنهادگر، مخازن ویژگی و موتورهای قانون معمولاً برای چسباندن همه چیز به هم اضافه میشوند و اینجاست که تکهتکه شدن سیستم آغاز میشود.
تأخیر و انحراف در سیستمهای توزیعشده
وقتی بازیابی و رتبهبندی در سیستمهای مجزا قرار دارند، رتبهبند مجبور است با دیدگاهی ناقص، قدیمی یا از پیش محاسبهشده از جهان کار کند. تاریخچه کلیکها، زمینه نشست و بردار ترجیح زنده کاربر دیرتر از موعد میرسند. قوانین تجاری به جای آنکه به عنوان سیگنال رتبهبندی عمل کنند، به فیلتر یا لغوکننده تبدیل میشوند. موجودی تازه یا تغییرات قیمت نیازمند هماهنگی میان چندین سیستم است.
هر انتقال داده میان سیستمها، تأخیر را افزایش میدهد. هر مرزبندی، فضایی برای انحراف سیگنالها ایجاد میکند و هر قانون سریع، به یک محدودیت سخت تبدیل میشود که به جای کمک، مانع نشان دادن نتایج مرتبط میشود.
تیمهای محصول باید از معماریهای مونتاژی عبور کنند. تا زمانی که لایه رتبهبندی نتواند تمام سیگنالها را به صورت زنده و در لحظه ادغام کند، شکاف میان انتظارات کاربر و واقعیت پلتفرم باقی خواهد ماند و حس درک شدن توسط سیستم هرگز به طور پایدار محقق نخواهد شد.





