Demand-Side GEO: Building a Million-Buyer Intent Corpus for 2026

Generative engines answer like humans and insert brand shortlists into prose. To measure generative-engine optimization, you must model buyer intent—not just engine outputs. This post explains why demand-side GEO is missing, and how PersonaGen-1M builds a million-buyer intent corpus to connect questions to brand inclusion.
The finding GEO measurement must model buyer reality—demand-side intent data is required to explain brand inclusion in generative engine shortlists.
The method PersonaGen-1M builds a million-persona buyer corpus with staged primary intent and preferred source types designed to join with supply-side probing.
The nuance Because query language and framing drive large response variance, single-probe approaches can skew conclusions without demand-side context.
1st MONTH FREE Basic or Pro • code FREE
Claim Offer

The Short Answer

Demand-side GEO measurement requires buyer intent data—PersonaGen-1M provides staged primary intent labels and preferred source types so it can be joined with supply-side engine probing. This lets you study why specific brands enter (or don’t enter) an AI shortlist based on what buyers are trying to learn.

For practitioners, the shift is from “which brand did the engine name for my prompt?” to “which buyer need frame led to that shortlist?” Using intent-annotated personas makes brand shortlist outcomes measurable across buyer contexts instead of relying on a single engineered query.

A key nuance is that query language and buyer framing can substantially affect response variance, so supply-side probing alone can mislead if treated as representative. Demand-side join keys are what prevent that measurement bias.

Demand-Side GEO: Building a Million-Buyer Intent Corpus for 2026
Generative engines now answer like humans—and hide brands inside the answer

Search used to mean “ten blue links.” Now it often means a single generated response from tools like ChatGPT, Gemini, or Perplexity—complete with a short list of brands sprinkled into the prose. And that’s exactly where a new research need kicks in: if you want to understand generative-engine optimization (GEO), you can’t just measure what engines say. You also need to know what buyers actually ask for, what they’re trying to learn, and which sources they trust.

This blog post is based on new research from the original paper. In it, Dmitrij Żatuchin and Daniil Dzemesjuk explain why the demand side of GEO has been the missing piece—and they introduce PersonaGen-1M, a carefully constructed buyer corpus with staged intent labels and preferred source types, built to “join” with supply-side measurements from engine probing.

If you’ve ever wondered why two people asking “the same” question get different brand recommendations, or how you’d even study what drives a brand into (or out of) an AI shortlist, this is the kind of infrastructure that makes those questions measurable.

Why GEO Measurement Needs a Demand-Side Buyer Corpus (Not Just More Probes)

Let’s say you’re a brand marketer—or a strategist—trying to answer a deceptively simple question:

“Why did the engine mention Brand A in its shortlist, but not Brand B?”

With classic search-engine optimization (SEO), you can track ranked URLs. But with generative engines, the unit of success is different: it’s whether a brand appears inside a synthesized answer at all. That means the outcome depends on the buyer’s framing (their intent and context), not just the engine’s internal preferences.

The tricky part is that supply-side probing alone can’t reproduce the “buyer reality” needed for a clean measurement. The paper points out that even seemingly small changes matter: query language alone accounts for 26.5% of the variance in a single response, while brand identity accounts for only 1.5% in a response-level variance decomposition cited in the paper. In other words, if you invent one probe query and treat it as representative, you’re accidentally controlling the biggest variable yourself.

So the measurement problem shifts. Instead of asking only “what does the engine do for my crafted prompts?”, GEO needs:
- what buyers ask (their actual question style),
- what they need at that stage (learning vs comparison vs decision), and
- what sources they trust (analyst reports, communities, peer reviews, etc.).

And that’s where PersonaGen-1M comes in: it’s built as a demand-side “instrument” to make supply-side probing less arbitrary.

How PersonaGen-1M Connects Buyer Intent to Engine Shortlists

The core idea is to build a million-persona dataset that’s structured for joining with supply-side GEO measurements.

What supply-side probing measures (and why it’s not enough)

Supply-side corpora record what an engine says: for a given query, which brands it names and how consistently they appear across repeated sampling. That’s crucial, but by itself it still leaves a gap: you don’t know what kind of buyer is behind the query.

The research community has plenty of supply-side probing methods—probing engines, extracting brand mentions, and analyzing recommendation share concentration. But without a demand-side mapping, you can’t reliably connect brand inclusion to “buyer need,” because you don’t know what need the engine was answering.

What demand-side PersonaGen-1M adds as join keys

PersonaGen-1M is designed with two explicit “join keys” that supply-side data can’t infer reliably:

  1. primary_intent (staged): a single intent label for each persona that categorizes search behavior into stages like informational vs commercial vs transactional. Importantly, it applies to the persona’s typical query set (not just one query).
  2. preferred_sources: a list of named source types a persona would trust—this supports comparisons to engine citation behavior.

In GEO terms, these are demand-side counterparts to supply-side observables: engines can cite sources, but you need to know which sources buyers value in order to ask whether those citations “match” buyer trust.

The dataset at a glance (numbers that matter)

PersonaGen-1M contains 1,031,732 deduplicated personas, built from about 40 million raw descriptions across multiple persona corpora, then filtered and enriched into schema-conformant records.

Key properties that make it usable for GEO measurement:
- Staged intent at persona level: each persona has one primary_intent label and a small query set (typically 3–10, and often around 5 queries).
- Preferred sources as a named list (not just a generic channel category).
- 511 industry stratification (including a documented long tail).
- A reproducible pipeline that takes you from raw descriptions to validated personas.

In the paper, the intent distribution (using their enrichment taxonomy) looks like:
- 78.3% informational
- 17.4% commercial
- 4.3% transactional
(Navigational exists too, but is negligible at below 0.1% after enrichment.)

For GEO brand recommendation measurement, the interesting slice is the commercial part: the paper treats this as the stage where comparison and vendor evaluation are most likely.

Building PersonaGen-1M: Deduplicate, Enrich, Validate (a “Million-Persona” Pipeline)

This is the part I like best, because it’s where the project stops being “nice idea” and becomes “scientific instrument.”

From 40M raw descriptions to 1.03M validated personas

The construction pipeline is described as five stages across three generation waves (Q4 2024, Q1 2025, Q1 2026), using identical parameters and prompts.

Stage-by-stage process

  1. Source aggregation
    Four public persona datasets are streamed, concatenated into roughly 40 million raw persona descriptions:

    • NVIDIA Nemotron-Personas-USA
    • BSC-LT m-Personas (English subset)
    • Orange PersonasForSalesbot
    • Tencent PersonaHub (including Elite Persona)
  2. MinHash LSH deduplication
    GPU-accelerated MinHash with 128 permutations and 8 bands of 16 rows, aiming at a Jaccard threshold of θ = 0.9.
    Result: down to about 4.2 million records (an 89.5% reduction).

  3. Semantic deduplication (embedding similarity)
    Dense embeddings (using KaLM-Embedding-Gemma3-12B with quantization) remove near-duplicates by cosine similarity, thresholding at > 0.9.
    Result: down to about 1 million unique descriptions (a further 76.2% reduction).

  4. Structured enrichment to the full schema
    Grok-4-1-fast in enforced-JSON mode at temperature = 0.7 generates the persona fields, including staged intent and preferred sources.
    First-pass schema compliance is 98.5%, and a single retry raises it to 99.8%.

  5. Post-processing and quality filtering

    • Schema validation
    • Gender normalization to canonical categories
    • UUID-preserving consolidation
    • Removal of personas failing consistency checks (1.5% removed)
      Final result: 1,031,732 personas, every row complete.

Validation: making sure the dataset isn’t just “big,” but also “structured”

The paper describes quality checks in three families:
- Completeness and format checks (required fields exist and parse)
- Diversity quantification, including normalized Shannon entropy across industry, market, gender, and intent dimensions
- Association tests using chi-square and effect size with Cramér’s V
(Important point: they note statistical significance at large N can be misleading, so they focus on effect size rather than only p-values.)

As a concrete example, industry concentration is strong:
- top 15 industries cover 94.9% of personas
- top 3 industries cover 60.2%
- normalized industry entropy is reported as 0.37 (not uniform)

That’s a reminder that PersonaGen-1M is huge, but not perfectly balanced—and the authors explicitly recommend stratifying rather than drawing uniformly.

What’s Actually Inside: The Persona Schema as a GEO “Instrument”

PersonaGen-1M personas are stored as one record with a nested details object. At a high level, each persona includes:
- demographics (with some imputation choices, discussed later)
- goals and pains
- informational needs and an “uncovered need”
- and crucially a search_behaviour object

The two fields that power GEO joins

Inside search_behaviour, the paper highlights:
- primary_intent: the persona-level staged intent label (informational, commercial, transactional; navigational exists in schema but appears rarely after enrichment)
- preferred_sources: a named list of trusted source types, like analyst reports, peer reviews, communities, or publications

What the query sets are (and what they’re not)

Each persona has a query set—typically around five queries—but those queries are not meant to be exact paraphrase twins.

One of the study’s pilot findings is specifically about this misconception: earlier descriptions might suggest a persona’s query set is one information need paraphrased. The pilot contradicts that. In their FinTech pilot:
- mean pairwise lexical overlap within a persona is 0.042
- mean pairwise lexical overlap between different personas is 0.041

So the query sets are more like a spread of distinct buyer needs than a tightly paraphrased family.

This matters a lot for GEO measurement:
- You can use the set to elicit broad brand recommendation behavior for a persona’s range of needs.
- But you can’t use it to measure sensitivity to phrasing.
- If you need phrasing sensitivity, you still need paraphrase generation and repeated probing, because “deterministic” LLM settings aren’t truly deterministic.

Does a Persona Query Bank Elicit Real Brand Recommendations? (A Validation Pilot)

The paper doesn’t just claim “this should work.” It runs a small test to see whether the generated queries actually cause engines to recommend brands in measurable ways.

Pilot setup (FinTech, commercial intent, one engine)

  • Filter to FinTech personas with commercial intent
  • Keep personas whose query sets have 3–5 queries
  • Total personas: 7,912
  • Sample: 30 personas under a recorded seed
  • Total queries: 150 (30 × about 5)

The queries go to one commercial generative engine (temperature = 0.7), one call per query, with a fixed instruction asking for at most 120 words and “names specific vendors where the question calls for them.”

They then extract brand names from each response using two independent Gemini extractors:
- gemini-3.5-flash
- gemini-2.5-flash

They use consensus extraction and deposit the disagreements for adjudication later.

Extraction reliability: the brand detector mostly agrees

  • exact match agreement on 36.0% of answers
  • mean Jaccard agreement 0.737
  • the 96 differing answers are set aside for adjudication

The choice to use a two-model consensus instead of a brand dictionary helps avoid false positives where common nouns look like brand names.

Recommendation behavior: brands show up frequently and not in a concentrated way

On 150 answers:
- 146 (97.3%) named at least one brand
- mean of 5.01 brands per answer
- total brand mentions: 751
- distinct brands named: 530

Brand concentration is low:
- the ten most-mentioned brands take 9.3% of all mentions
- Herfindahl index over mention share: 0.0030

So, at least in this pilot frame (FinTech, one engine, one day, limited queries), the persona query bank clearly produces brand recommendation—and does so without collapsing onto a tiny set of brands.

Pilot falsifies an earlier interpretation: query sets aren’t paraphrase packs

They also test whether a persona’s query set behaves like paraphrases of the same need. The brand-set overlap across queries from the same persona is:
- mean overlap 0.010
versus pooled overlap across different personas:
- 0.020
(They note union-intersection effects complicate the comparison, but both readings point to the same direction: the persona’s query set covers distinct needs.)

What You Can Do Today With PersonaGen-1M (and What You Shouldn’t Assume)

Immediate practical use: building per-industry commercial query banks

The most direct application is generating per-industry commercial-intent query banks.

For example: filter to commercial intent personas (17.4%) within a target industry, and you get a pool of buyer-framed evaluation queries. These queries carry:
- industry label
- market context
- staged intent category

A key nuance: because persona query sets are not tight paraphrase families, probing with them helps measure brand recommendation behavior across a buyer’s range of evaluation needs—not the engine’s sensitivity to wording.

Source-gap analysis: compare buyer trust vs engine citations

Since PersonaGen-1M includes preferred_sources, you can compare the distribution of buyer-trusted source types to where engines draw citations. The paper references a supply-side provenance dataset where citations are coded across markets and found to be heavily third-party (85.7% third-party citations in a study they cite).

The join you can perform:
“Where engines cite sources vs where buyers would actually trust sources.”

Joining to brand alignment / recommendation share (future controlled work)

The paper’s main “controlled alignment” study is described as future work. But the planned logic is clear: join demand-side buyer intent and source trust to supply-side recommendation-share measurement.

They emphasize a key statistical constraint:
- brand identity explains about 1.5% of response variance in their cited decomposition
So any controlled analysis needs enough repetition and paraphrase budget to avoid mistaking noise for effect.

Important limitations (read these before you bet your strategy)

PersonaGen-1M is synthetic in the sense that:
- queries are plausible constructions, not observed query logs
- persona fields are LLM-generated and validated for internal consistency and diversity, not against real buyer surveys/logs

The paper lists several specific cautions:
- Model bias risk: demographics and other traits may reflect enrichment-model priors (they report female 52.9% / male 44.2% / non-binary 2.9%—and stress it’s model-shaped).
- Head concentration in industry: top 3 industries are 60.2% of personas; for underrepresented verticals, uncertainty grows.
- US-centric, English-language, time-bounded: the enrichment is English-based, and language can dominate brand recommendation outcomes (the paper cites the 26.5% variance language effect and a language shift effect of +0.80 for local champions vs +0.15 for global multinationals in cited work).
- Age imputation: 10.9% of personas include stated ages below 13, treated as proxy or caregiver buyers for analysis; it’s an imputation.
- Intent granularity is persona-level: the dataset stores one primary_intent per persona; if your question requires per-query intent classification, you’d need additional query-level labeling.

Key Takeaways

  • PersonaGen-1M is a demand-side GEO dataset built specifically to join with supply-side “what engines recommend” measurements—not just to add more personas for training diversity.
  • The two crucial GEO join keys are:
    • primary_intent (persona-level staged intent)
    • preferred_sources (named trusted source types)
  • The corpus contains 1,031,732 personas and spans 511 industries, built from ~40M raw descriptions through MinHash + semantic deduplication + structured LLM enrichment + validation.
  • A FinTech validation pilot shows persona query banks can elicit measurable brand recommendations:
    • 97.3% of answers named at least one brand
    • mean 5.01 brands per answer
    • mention concentration was low in that setup (top ten brands = 9.3% of mentions; Herfindahl 0.0030).
  • A big misconception is corrected: persona query sets aren’t paraphrase families; they cover a spread of distinct needs, which affects how you should design experiments.
  • The dataset is synthetic, so it’s great for hypothesis generation, query-bank construction, and method development—but you shouldn’t treat it as a substitute for observed search logs without external validation.
  • Practical next step: if you’re studying GEO, start by generating per-industry commercial-intent query banks and then link them to supply-side engine probing and citation/provenance measurement.

If you want, tell me your use case (e.g., “compare brand inclusion across EU languages,” or “measure how source trust affects recommendation share”), and I can suggest a concrete experimental design using PersonaGen-1M’s fields and the paper’s validation logic.

Sources Used

This article is a plain-English breakdown of the following peer-reviewed preprint. Read the original for full methodology and results:

Where To Go Next

Visual Prompt Building: How to Stop Writing Walls of Text

Unlocking the Future of AI: Building Affordable Private LLMs with Apple Silicon

Mastering Network Management: How Large Language Models are Transforming Intent-Based Networking

Browse the free Prompt Database or tune your own prompts with the Prompt Optimizer.

Frequently Asked Questions

Limited Time Offer

Unlock the full power of AI.

Ship better work in less time. No limits, no ads, no roadblocks.

1ST MONTH FREE Basic or Pro Plan
Code: FREE
Full AI Labs access
Unlimited Prompt Builder*
500+ Writing Assistant uses
Unlimited Humanizer
Unlimited private folders
Priority support & early releases
Cancel anytime 10,000+ members
*Fair usage applies on unlimited features to prevent abuse.