Overview

AEO Analytics is an Answer Engine Optimization platform built for Moburst that measures how brands show up inside AI answer engines such as ChatGPT, Google Gemini, Claude, and Perplexity. As buyers increasingly ask an AI assistant instead of running a search, ranking no longer means a blue link - it means whether the model mentions a brand, where in the answer, and in what sentiment. AEO Analytics turns that opaque surface into measurable data by querying multiple large language models with brand- and topic-specific prompts, then parsing each response to extract brand mentions, ranking position, share of voice against competitors, and sentiment. Results roll up into visibility dashboards and AI-generated recommendation reports, with full token-level cost tracking per provider. The tool was built solo as one of Moburst’s proprietary Growth Labs products.

Key Achievements

  • Built a unified multi-LLM client that queries OpenAI GPT-5.2, Google Gemini, Anthropic Claude, and Perplexity behind one normalized interface and response schema
  • Designed the AEO measurement model that extracts brand mention rate, ranking position, competitive share of voice, and sentiment from free-form model answers
  • Implemented batch “job groups” to run a full prompt set across many brands and providers in one orchestrated pass, with progress and status tracking
  • Engineered per-provider cost tracking at the token level, calculating input/output cost against each model’s pricing
  • Built topic-level analytics that aggregate visibility scores and average rank across keyword and topic clusters
  • Integrated the platform’s shared Auth SDK for single sign-on and role-based access alongside the rest of the Moburst.ai suite

Technical Implementation

The heart of the system is a provider-agnostic LLM client. Each answer engine has a different SDK, request shape, and response format; the client wraps all four behind one method so the rest of the application treats “ask every model this prompt” as a single call. Responses are normalized into a common structure before analysis, keeping the measurement logic provider-independent and making it straightforward to add another engine later.

On top of that client sits the measurement layer. For each brand/topic prompt, the system inspects every model’s answer to determine whether the brand was mentioned, its position within the response, which competitors appeared alongside it, and the sentiment of the mention. These signals aggregate into per-topic visibility scores and average ranks, giving a quantified picture of brand presence across the AI search landscape.

Cost control is treated as a first-class feature. Because multi-model analysis at scale can get expensive quickly, the platform tracks input and output tokens per call and applies each provider’s pricing to produce exact per-run and per-provider costs, letting the team choose faster, cheaper models for breadth and stronger models for depth.

The application is a FastAPI service with server-rendered Jinja2 dashboards, backed by SQLite for analytics storage, and integrated into the Moburst.ai platform via the shared Auth SDK. It runs on GCP behind a reverse proxy with automated daily database backups.

Impact & Results

  • Made AI-search visibility measurable for a marketing agency and its clients, quantifying presence across ChatGPT, Gemini, Claude, and Perplexity where no native analytics exist
  • Consolidated four AI providers into one tool and one normalized data model, removing per-provider integration friction
  • Delivered exact cost visibility on every analysis run, enabling deliberate cost/quality trade-offs across models
  • Turned raw model answers into action via AI-generated comparative reports with concrete recommendations
  • Scaled analysis with batch job groups, letting the team benchmark many brands and topics in a single orchestrated run
  • Shipped as a first-class member of the Moburst.ai Growth Labs suite with shared SSO and RBAC