Compare how AI models rank and describe specific restaurants or categories. Queries the existing AEO research database (1,690 queries, 12,256 mentions, 4 models).
Compare how GPT-4o, Claude, Gemini, and Perplexity rank and describe restaurants or categories from the existing research dataset.
The user provides one of:
/aeo-compare Odette — how do models differ on this restaurant?/aeo-compare "Burnt Ends" vs "Nouri" — head-to-head comparison/aeo-compare "hawker food" — which restaurants dominate this category across models?Connect to the SQLite database at data/aeo.db and run analysis queries.
import sqlite3, json
conn = sqlite3.connect("data/aeo.db")
conn.row_factory = sqlite3.Row
# For a single restaurant — find all mentions across models and prompts
rows = conn.execute("""
SELECT rm.restaurant_name, rm.rank_position, rm.cuisine_tags, rm.vibe_tags,
rm.price_indicator, rm.sentiment, rm.descriptors,
qr.model_name, qr.search_enabled, dp.text as prompt_text,
dp.dimension, dp.specificity
FROM restaurant_mentions rm
JOIN parsed_responses pr ON rm.parsed_response_id = pr.id
JOIN query_results qr ON pr.query_result_id = qr.id
JOIN discovery_prompts dp ON qr.prompt_id = dp.id
WHERE rm.canonical_id = (
SELECT id FROM canonical_restaurants
WHERE canonical_name LIKE ?
)
""", (f"%{restaurant_name}%",)).fetchall()
For a single restaurant, report:
For a head-to-head comparison, report:
For a category query, report:
Present results as a clean markdown summary with tables. Use the project's muted visual tone — numbers first, no editorializing.
data/aeo.dbrestaurant_mentions.canonical_id links to canonical_restaurants.idcanonical_restaurants with model_count > 0 = active research set (2,991 restaurants)