Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Ranking & Personalization (Draft)

Overview

We are building a dynamic personalization system that adapts content (titles, sections, restaurants, destinations) for each user segment, similar to how Netflix personalizes recommendations. The system will:

  • Dynamically change titles, section orders, and content based on user context
  • Support both manual and automatic segmentation.
  • Recommend content even for anonymous users
  • Scale to handle 100–1,000+ dynamic segments and deliver real-time recommendations.

Goals & Objectives

  • Increase Engagement: Deliver highly relevant recommendations to improve CTR and session time.
  • Drive Conversion: Suggest content (“Because you booked in…”) to cross-sell and upsell restaurants, travel, or experiences.
  • Support Anonymous Users: Personalize based on metadata without requiring login.
  • Flexible Section Management: Allow dynamic addition, removal, and ordering of sections per user segment.

Key Features

Internal Linking & Redirects

  • Redirect traffic to city-specific landing pages (e.g., Singapore, Pattaya, Bangkok).
  • Dynamic interlinking to ensure SEO and discoverability.

Guest Users (Anonymous)

  • Recommendation Based on Country: Tailor sections like “Popular in Your Country.”
  • Dynamic Sections: Titles & content adapt to user’s region, device, and browsing behavior.
    • Example: Korean visitors see “Popular for Korean”.
  • Auto-Personalization: Recommendations generated via metadata (IP address, cookies, device type, restaurant browsing history).
    • Example: iPhone users in Thailand may see different content than Android users.
  • Recommended for you section: “Recommended for you"
  • Collaborative Filtering: Similar users’ behavior influences recommendations.
    • Recommendation Based on Country: Tailor sections like “Popular in Your Country.”
  • Custom Home Sections: Order and content vary per user profile.
  • Support both manual and automatic segmentation.

Members (Logged-in Users)

  • Dynamic Sections: Titles & content adapt to user’s region, device, and browsing behavior.
    • Example: Korean visitors see “Popular for Korean”.
  • Behavioral Personalization: Use past bookings, searches, and preferences.
    • Example: “Because you dined at Audrey, you might like…”
  • Content-Based Filtering: Suggest sections to users based on their similarity to items the user has liked in the past, using the items' features (content) and past user interactions.
  • Collaborative Filtering: Similar users’ behavior influences recommendations.
    • Recommendation Based on Country: Tailor sections like “Popular in Your Country.”
  • Custom Home Sections: Order and content vary per user profile.
  • Support both manual and automatic segmentation.

Content Segmentation & Rules

  • Segmentation Inputs:
    • Location (IP, lat/long, declared city/country).
    • Device type (desktop, iOS, Android).
    • Language & region.
    • Browsing/booking history.
  • Segmentation Outputs:
    • Dynamic list of recommended restaurants or destinations.
    • New sections created (e.g., “Thailand Loves These Restaurants”).
    • Section order & titles updated in real-time.

System Access & Deployment

  • Admin Controls:
    • Create/manage custom segments
    • Manually enable/disable segments.

User Stories

Guest User (Anonymous)

  • As an Iphone indonesian guest user, I want to see bangkok's restaurants popular for Indonesian. reflect my device group’s preferences. so that my experience feels relevant.

Logged-in Member

  • As a member from Korea, I want personalized recommendations based on my past bookings so I can discover new places I’ll like.
  • As a returning user, I want to see sections reordered based on my activity so my experience feels fresh.

Admin

  • As an admin, I want to create and manage content sections by country/city/segment so that personalization can be easily scaled. (e.g., guest in Bangkok vs. logged-in user in Korea).

Technical Requirements

Data Inputs

  • Anonymous Signals: IP address, cookies, device metadata, location (geo lookup), language, Collaborative filtering
  • Member: Booking history, browsing history, preferences, Content-based filtering.

System Design

  • Recommendation Engine:
    • Content-based filtering for logged-in users.
    • Collaborative filtering for anonymous users.
  • Segmentation Engine:
    • Real-time rules based on IP, device, cookies.
    • Machine learning clustering for auto-generated segments.
  • Content Management System (CMS):
    • Section library (100–1,000 sections).
    • Admin dashboard for enabling/disabling sections per segment.
    • Set section to be fixed or dynamic
      • Fixed : The section can't be replaced by another section
      • Dynamic : The section can be replaced by another section
    • Set section's order to be fixed or dynamic
      • Fixed : Can't be moved to another order
      • Dynamic : Can be moved to another order
    • Set which sections and orders will be displayed to which users
      • Example :
        • Recommended for You fixed section will be displayed in the first order (fixed) for guest user
        • Restaurants for couple dynamic section will be displayed in 2nd and 3rd order (dynamically) for logged in users

Output Example

Private (https://app.clickup.com/9003122396/docs/8ca1fpw-7922/8ca1fpw-54676)

Success Metrics

  • Engagement: +20% CTR on personalized sections.
  • Conversion: +15% booking rate uplift from personalized recommendations.
  • Coverage: 90% of users (including anonymous) receive personalized content.
  • Scalability: Support 1,000+ segments with minimum latency (API response <200ms)