Restaurant
Restaurant chains (such as MK, Oishi, The Pizza Company) thrive on membership loyalty and high repeat visit rates. PBCP captures behavior at both the individual and branch level, enabling precise offer targeting and accurate menu analysis.
Business problems solved
| Problem | How PBCP solves it |
|---|---|
| No visibility into which menu items a customer likes or how often they visit | Customer Story → order history, favorite items, visit frequency |
| No insight into which menu items sell well or poorly and when | Product Story → order count, revenue per item per period |
| Membership cardholders don't come back | Churn signal → re-engagement campaign |
| Birthday promotions sent too late | Intelligence → detect birthday → send offer 7 days in advance |
| No idea which branch is busy at which time or how much staff is needed | Branch Intelligence → occupancy pattern per hour |
Story types
Customer Story
How often does this customer visit? Which branch? Favorite menu? Average spend?
Visit Story
What was ordered this visit? How many diners? How long was the table occupied?
Menu Story
How many orders for this item per week? What type of customer orders it most?
Branch Story
What time does this branch peak? Average table turnover rate
Key events
| Event | Occurs when |
|---|---|
customer.registered | Membership signup (app / in-branch) |
reservation.created | Table booked in advance |
reservation.confirmed | Reservation confirmed |
table.seated | Seated at table (system records the time) |
order.placed | Food ordered (first round) |
order.item_added | Additional item ordered during the meal |
promotion.applied | Promotion / coupon used |
bill.requested | Bill requested |
payment.completed | Payment made |
table.released | Table freed, ready to be cleaned for next guests |
review.submitted | Review submitted (app / Google) |
loyalty.points_earned | Points earned from this visit |
loyalty.points_redeemed | Points redeemed for a discount |
membership.upgraded | Membership tier upgraded |
birthday.offer_sent | Birthday privilege sent |
birthday.offer_redeemed | Birthday privilege used |
delivery.ordered | Delivery ordered (via app or 3rd party) |
delivery.completed | Delivery received |
referral.made | Friend referred to sign up for membership |
Intelligence use cases
| Use case | Signal | Action |
|---|---|---|
| Birthday campaign | Birthday in 7 days | Push: free dessert + 2x points on birthday |
| Lapsed member | No table.seated for >60 days | "We miss you" + ฿50 coupon |
| Weekday upsell | table.seated typically on weekday lunch | Offer premium set lunch |
| Family group | table.seated with >4 people on multiple consecutive visits | Offer family package |
| Underperforming menu | order.item_added below threshold | Review pricing / remove item from menu |
| Peak hour prediction | table.seated pattern per hour/day per branch | Alert staff to prepare in advance |
| High-value frequent diner | High LTV + visit >3 times/month | Invite to special VIP tier |
Visit story timeline
reservation.created → 10:30 (Table for 4 booked at 19:00)
reservation.confirmed → 10:31
table.seated → 19:04 (Table B7, 4 diners)
order.placed → 19:12 (Sliced pork, shrimp, vegetables, MK broth)
order.item_added → 19:45 (Chicken eggs x2, noodles)
promotion.applied → 19:58 (Gold member: 10% discount)
bill.requested → 20:15
payment.completed → 20:18 (฿1,240 after discount)
table.released → 20:22
loyalty.points_earned → 20:18 (+62 points)
review.submitted → 20:35 (★★★★☆)
Table duration: 78 minutes | Spend per head: ฿310Branch intelligence
PBCP summarizes branch-level patterns for the ops team:
Central Westgate Branch — This week:
Peak: Sat–Sun 18:00–20:00 (avg 94% occupancy)
Slowest: Tue–Wed 14:00–16:00 (avg 18% occupancy)
Avg table duration: 72 minutes
Top menu: Sliced pork, fresh shrimp, fish balls
Lapsed members within 5 km radius: 842 people ← target for mid-week campaign