• School project
  • Team of 2
  • Nov 2025 – Apr 2026

Generative Engine Optimization

62 %

of LLM mentions go to the top 15 % of restaurants

Source 1

62 %

The top 15 % of restaurants get 62 % of all LLM mentions

  • How it was measuredMention counts per restaurant, summed across all prompts, model slots and runs
  • On what450 LLM answers, 182 restaurants, 1,351 mentions
  • Keep in mindOne domain (Tunisian restaurants), French prompts, 30 prompts — every restaurant was labelled unstable

Built with Emna Kaaniche · supervised by Mrs. Sonda Ammar (ENET'Com)

The problem

Generative Engine Optimization · before

  • Chatbots decide

    People now ask chatbots where to eat; a restaurant that never appears in those answers doesn't exist for that user.

  • Small means invisible

    Small local businesses with few reviews are structurally invisible to LLMs.

  • One answer proves nothing

    One query proves nothing: LLM answers are random, so visibility needs many prompts, runs and models.

The goal

Generative Engine Optimization · after

  • Measure mentions

    Measure how consistently LLMs mention local businesses.

  • Map the web footprint

    Collect each business's real web presence.

  • One clean dataset

    Link both in one clean dataset. Pilot: Tunisian restaurants, French prompts.

How it works

Generative Engine Optimization

Four agents run in sequence, each reading the previous stage's saved output. A shared model registry picks the best free LLM available for every call; the web-research agent reaches the outside world only through MCP tool servers; a supervisor decides how to recover from every API error.

Agent 0prompts Agent 1query + extract Agent 2web research Agent 3consolidate Dataset Model registry MCP tool servers Supervisor
  1. Step 1 of 6 Agent 0 writes 30 French prompts over 6 user intents and checks they make models name real places.
  2. Step 2 of 6 Agent 1 sends each prompt to 3 models, 5 times each (450 answers); a registry picks free models within quota.
  3. Step 3 of 6 A cleanup turns 2,020 raw mentions into 234 restaurants, each with a mention rate and a stability score.
  4. Step 4 of 6 For 213 visible restaurants, Agent 2 searches Google Maps, TripAdvisor, Wikipedia and more through MCP tools.
  5. Step 5 of 6 When an API fails, a supervisor switches model, waits, retries or skips; each result is saved at once.
  6. Step 6 of 6 Agent 3 merges everything, judges restaurants with no web trace, and keeps 182 in the final dataset.

Next project

100 % local JobMatch: LLM-assisted candidate pre-selection ← Previous: LLM coach for a competitive gaming platform

Sources

  1. 62 %

    The top 15 % of restaurants get 62 % of all LLM mentions

    • How it was measuredMention counts per restaurant, summed across all prompts, model slots and runs
    • On what450 LLM answers, 182 restaurants, 1,351 mentions
    • Keep in mindOne domain (Tunisian restaurants), French prompts, 30 prompts — every restaurant was labelled unstable