Back-end system for personal food recommendations

The Food2Mood app on a smartphone

Three Food2Mood solutions for the digital menu, service and marketing

Each module solves its own business task, yet they all run on the same Food2Mood core — the guest taste profile and the tagged menu.

Recommendation engine

Personal recommendations

Analyses order history, tags the menu and builds the guest taste profile to return personal recommendations and upsells over API

Higher conversion and average checkGuests find suitable dishes faster, while the restaurant gets a sharper ranking and relevant add-ons to the order

Waiter assistant

Prompts for the floor staff

Shows the waiter which dishes, drinks and add-ons to offer a particular guest based on their tastes and current order

Higher average checkStaff get ready-made prompts for upselling and service

Taste audiences

Marketing personalisation

Matches dishes and offers against the taste profiles of the customer base and builds ready audiences for further communication

More repeat ordersCampaigns stop being mass mailings and become personal and relevant

One platform

one taste profile

recommendations at every touchpoint

Modules connect separately and share one core — start with a single module and add the rest later.

Explore the modules

Three solutions run on one taste profile

Digital taste profile

A shared core for all three modules

tastesingredientsrestrictionsorder historycontextreactions
The module feeds the profileDish choices, cart additions and new orders
The profile returns to the moduleTaste profile, order history and dish attributes

The profile is fed by events from all three modules and returns recommendations to them — the more touchpoints are connected, the sharper the output in each of them.

The recommendation engine inside your app

Food2Mood analyses the purchase history of guests, tags the menu by taste attributes and builds a digital taste profile of the user. Trained ML models then decide which dishes, add-ons and combinations are most likely to suit a particular guest.

Analyses purchase history

Detects stable preferences, choice patterns and frequent ordering scenarios

repeat itemsfavourite categoriesvisit timecart composition

Tags the menu and the users

Labels dishes and guests by tastes, ingredients, cuisines, formats and restrictions

Understands pairings and upsells

Finds which dishes, drinks and add-ons go together most often

Uses trained ML models

Builds recommendations from the taste profile, the cart and the order context

Guest data + menu markup + ML models = accurate personal recommendations

A/B test results in a coffee chain app

+5%

to revenue from upsells compared with a conventional recommendation system

Measured over the first week of the test in the app. The comparison was not against having no recommendations, but against the standard ranking logic already in place.

From guest data to a personal recommendation

The app passes Food2Mood a guest id and the current cart; the engine matches them against the taste profile and the tagged menu and returns a personal ranking.

1

Identification

The app passes a user_id, and Food2Mood finds the taste profile and order history

2

Taste profile

The system uses purchase history and the preferences already known

spicyfishasian cuisinelight dishes
3

Real-time recommendations

The app sends behaviour data, and the engine adjusts the ranking to the current situation

4

Business settings

The engine respects the rules and priorities set by the restaurant in the admin panel

5

Balance of interests

The ranking keeps dishes that suit the guest and serve the goals of the venue

The engine runs in two scenarios: it builds a personal ranking by user id, or recommends the next dish given the cart already assembled

Managing and tuning recommendations

The restaurant sets the rules and priorities, and recommendations show the right dishes to the guests they actually suit.

Ideal order

Defines the target order structure the engine aims for when picking add-ons

Main courseDrinkDessert

High-margin dishes

Raises the priority of high-margin items among the relevant recommendations

House lemonade ↑Cheesecake ↑

Food pairings

Defines correct combinations of dishes, drinks and add-ons

Steak + red wineFish + white wine

Go-list and stop-list

Boosts the items that need to sell and excludes the unavailable or unwanted ones

Cheese plate ↑Mushroom pasta ✕

Food2Mood balances relevance for the guest against the commercial goals of the restaurant

The waiter knows the guest before the order starts

Before taking the order the waiter opens the table and sees tastes, restrictions and what to offer next.

Tastes and restrictions

Visible before the guest opens the menu

What to offer now

The prompt changes as the order comes together

Shift tasks

The manager sets a goal for the floor or one waiter

+10.6%average check at an author-cuisine restaurant

Recommendation quality stops depending on how long a waiter has worked here

Building audiences for precise communication

Food2Mood analyses the menu and order history, builds a digital taste profile of guests and finds the most relevant audience for a particular offer.

1

Menu markup

Dishes get gastronomic attributes: ingredients, tastes, textures, serving format and consumption scenario

meat + ricedense texturebold flavourserved hot
2

Guest taste profile

Order history turns into a digital profile: favourite ingredients, tastes and behaviour patterns

likes saltylikes spicyfavourite: meat
3

Audience search

The system matches the offer profile against the customer base and finds the most relevant guests

94% matchready segment
  1. 1

    Menu

    The venue dish catalogue

  2. 2

    Markup

    Dishes get taste, texture and serving attributes

  3. 3

    Taste profile

    Order history turns into the guest tastes

  4. 4

    Matching

    The dish is matched against the customer base

  5. 5

    Audience

    Guests the offer actually suits

Every message becomes a personal recommendation

The system analyses the dish, compares it with guest taste profiles, excludes the irrelevant audience and generates messages with different accents.

1

Choosing the offer

The marketer picks a dish, a new item or a promotion

2

Dish data

The system pulls the dish card from the tagged menu

3

Taste analysis

It determines tastes, ingredients, cuisine and dish attributes

4

Audience search

The system finds the guests the offer suits

5

Filtering

Guests with a mismatch or restrictions are excluded

6

Ready segment

The audience and taste segments are handed over for communication

Selection example at the audience search step

Match 94%Include in the campaign
  • · Likes prawns
  • · Often orders soups
  • · Asian cuisine
Match 75%Include in the campaign
  • · Likes spicy food
  • · Orders seafood
  • · Often picks first courses
Match 5%Excluded
  • · Likes sweets
  • · Orders meat
  • · Excludes fish

Targeted communication instead of mass mailings that exhaust the customer base

What each module changes and for whom

The three modules share one profile, so their effects overlap. Here is exactly where.

Guest

Engine
Finds a suitable dish without reading the whole menu
Waiter
Is served with tastes and restrictions already known
Audiences
Only hears about things that actually suit them

Staff

Waiter
Ready prompts and arguments; new hires learn the menu faster

Marketing

Engine
In-app reactions sharpen the taste profile
Waiter
Floor-level preferences feed the same profile
Audiences
One idea becomes a campaign with no manual segmenting

Business

Engine
Higher conversion and average check — inside your priorities
Waiter
Service quality depends less on staff experience
Audiences
More repeat visits, higher campaign conversion

To get more out of your data — connect the CDP tools

Recommendations get sharper as the data about the guest gets fuller. A CDP collects it from every channel into one profile and turns it into personal scenarios.

1

Data collection points

Collect guest data during service

2

Guest data

Order history, preferences, taste profile, restrictions

3

CDP

Merges all the information into one customer profile

4

Personal scenarios

Audience segmentation, triggered events, personalisation of site and apps

5

Revenue growth

Higher average check, more frequent visits, higher LTV

Where the data comes from

  • POS: orders, receipts, basket composition
  • Waiter assistant: recommendations, preferences
  • Site and app: menu views, cart
  • Delivery: online orders, purchase frequency
  • Campaigns: opens, clicks, reactions
  • Loyalty programme: bonuses, status

What you can do next

  • Segmentation by behaviour and value
  • Triggered scenarios based on events
  • Templates for SMS, push and email
  • Personalisation of the site and the app
  • Managing bonuses and statuses
  • Analytics of campaign performance

Key modules of the CDP

Show the eight platform modules

Unified customer profile

Merges customer data from different sources into a single user card

ordersvisitsbonusescommunicationtaste profile

Audience segmentation

Builds customer groups by shared traits and behaviour models

Campaign manager

Lets you run triggered omnichannel communication scenarios

Loyalty programme

Tiers, bonuses, certificates and deposits instead of scattered discounts

Personalisation

Adapts the site and the app to a particular customer segment

Message templates

An editor for SMS, email and push templates

Pixel

Tracks customer actions on the site and records events

Analytics

Shows how the modules perform and builds reports

Analytics closes the loop: it shows the result of every action and helps improve the next communication

Personal data operator

The company is listed in the operators register; guest data is processed under Russian law

Two registered programs

The recommendation engine and related modules are registered as in-house software

Moscow IT startup register

Food2Mood is listed in the city IT startup register and works with Russian chains

API integration

The engine plugs into your app and does not require replacing the restaurant POS

Access separation

Settings and data are split by role: chain admin, venue manager, waiter

Service data only

What leaves the perimeter is a guest id and menu markup, not personal details

Send a request

Apply to join the programme. We will get in touch, clarify the details and help pick the solutions that fit your organisation.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

FAQ

A recommendation system for restaurants and food-service chains. It builds a digital taste profile of the guest, matches it against the tagged menu and suggests what to offer a particular person at a particular moment instead of the same menu for everyone.

Three. The recommendation engine returns personal ranking over API. The waiter module shows prompts to the floor staff. Taste audiences build segments from taste and behaviour patterns for marketing. All three share one core and can be connected separately.

Over API: the system takes a user id and returns an ordered menu — a ranked list of dishes for that guest. It plugs into your existing app, so there is no need to build a separate interface.

No. The engine works on top of your current stack: it receives the menu markup and order data and returns the ranking back to your app or to the waiter assistant.

Priority dishes, exclusions, food pairings, stop-list and go-list, a separate boost for high-margin items and the structure of the ideal order. The engine builds recommendations inside those rules, not against them.

A coffee chain: +5% to upsells and +5% to their share of app revenue in the first week of an A/B test. An author-cuisine restaurant: +10.6% to the average check. A ready-meal service: a pilot with a forecast of +10% to conversion. A federal retailer: a ready-meal pilot with a forecast of +2% to GTV at scale.

The waiter opens the table, sees the guest profile and ready prompts: what to recommend and what to add to the order. A manager can set a task — for the whole shift or for one employee — and track how it is going.

From order history, the current cart and behaviour in the app. This is matched against the menu markup — tastes, ingredients, cuisine and dish attributes — and the personal ranking is assembled from the overlaps.

The audience is collected by taste segments rather than by broad traits: the system picks guests for whom the offer is genuinely relevant and excludes the rest. Targeted communication instead of mass mailings that burn the base.

Send a request — we will discuss the tasks of your venue, pick a suitable module and pilot terms. An A/B test on your own audience is used to measure the effect.

Still have a question?

Send a request — we will discuss your tasks and pilot terms

Send a request →