Most teams find out about their AI visibility the same way. Someone on the exec team types the category question into ChatGPT, does not see the company, and forwards the screenshot to marketing. That screenshot is not data. It is one draw from a probability distribution, and the next person to type the same question will get a different answer.

Share of Model is the metric that replaces the screenshot. It answers one question with one number: across the questions your buyers actually ask, in the engines they actually use, how much of the answer space do you own compared to everyone else selling into the same problem. This piece is the methodology, not the taxonomy and not the attribution plumbing, just the metric, how to compute it, how big a sample it needs, and how to read the result.

A single measurement is a screenshot. Two comparable measurements are a program.
The short version

Share of Model = your weighted presence divided by the total weighted presence of every brand in the category, computed over the same prompt portfolio, on the same engines, on a fixed cadence.

What makes it hard is not the mathematics, it is the discipline: a fixed portfolio, enough runs, honest weights, and the willingness to publish a number lower than the one your tool vendor reports.

01How do the three AI-visibility metrics differ?

Taxonomy defines the event, Share of Model scores it, attribution follows it. Three measurement problems get confused, and each has a different fix. What counts is a taxonomy question. Whether an appearance produced a session is an attribution question. Share of Model is the middle layer that counts the defined events across a fixed prompt set and turns them into one share.

Before you can count anything, you have to decide what counts. A brand name in a paragraph, a URL in a footnote, and a brand named as the recommendation are three different events with three different causes, the distinction drawn in citation vs mention vs recommendation, and it is upstream of everything here. Once you know a brand appeared, you still need to know whether that answer produced a session or a deal, a plumbing problem covered in prompt-to-citation tracking. Share of Model sits between them: it is a scoreboard, not a diagnosis and not a revenue model.

Taxonomy
Defines the event: mention vs citation vs recommendation.
Share of Model
Scores the event across a fixed prompt portfolio.
Attribution
Follows it downstream to sessions, signups, pipeline.
Figure 1. Where Share of Model sits. The taxonomy defines the event, the metric scores it, attribution follows it downstream.
Table 1. Legacy visibility metrics and the assumption each one breaks on.
MetricWhat it countsUnitFails when
Share of VoiceMedia impressions and paid reachImpressionsBuyers stop seeing media and start asking a model
Share of SearchBranded query volume in GoogleSearch volumeThe query never reaches Google because the answer arrived first
Rank trackingPosition on a static results pagePosition 1 to 100There is no page, only a synthesized paragraph
Share of ModelWeighted brand presence in generated answersPercent of answer spaceThe prompt set is too small or unweighted

The last row is the whole argument. Generative outputs are probabilistic, so the correct unit of measurement is a share of a distribution, not a position on a list.

02What does Share of Model actually measure?

Weighted brand presence across a representative, multi-engine prompt set. Three parts do the work: a statistically representative and versioned prompt portfolio, coverage across multiple engines that retrieve differently, and weighting by commercial intent so a definition is not worth the same as a shortlist.

A statistically representative set is a fixed portfolio, versioned and re-run identically each cycle, covering the range of ways a buyer actually phrases the problem. If the portfolio changes between cycles, the trend line is meaningless. Across multiple engines matters because ChatGPT, Perplexity, Google AI Overviews, Claude and Grok retrieve, and therefore recommend, differently, the reason set out in why different engines recommend different vendors; a blended single number hides the fact that you might own one engine and be invisible in another.

Weighted by intent is the part most tools skip. A brand named in answer to "what is workforce management software" and a brand named in answer to "which workforce management platform handles multi-state overtime compliance under $12 per employee" are not worth the same. One is a definition. The other is a shortlist that ends in a purchase order.

03Why does the naive inclusion-rate formula lie to you?

It treats a footnote like a recommendation, every engine as equal, and every question as equal. The unweighted inclusion rate, brand appearances divided by scored responses, is clean, reproducible and wrong in three ways. The practical consequence is rank inversion: two brands can swap places entirely once weighting is applied.

Nearly every tool that reports an AI-visibility score starts with the unweighted inclusion rate: the number of responses in which the brand appears anywhere, divided by the total scored responses. Show up in 620 of 2,000 answers and you score 31%. It treats a fourth-alternative caveat mention identically to being named the single best option; it treats a Grok mention the same as an enterprise-procurement ChatGPT mention; and it rewards you for winning cheap definitional prompts that are worth almost nothing.

Figure 2. Rank inversion. Brand A wins on raw volume and loses on every dimension that maps to revenue once weighting is applied.

Brand A is winning the definitional long tail and appearing late in lists. Brand B appears less often but appears first, in comparison and constraint prompts, in the engines its buyers use. A raw count says Brand A leads by seven points; the weighted score says Brand B leads by nineteen. Only one of those conclusions would survive contact with the pipeline, which is the same gap between ranking and visibility.

04What is the formula that holds up?

Weighted presence over total weighted field presence, adjusted for engine and intent. For every engine and every prompt, take your presence score, multiply by the engine weight and the intent weight, and sum. Divide by the same sum across every brand in the competitive set. Engine weights sum to one so the score stays interpretable.
formula · weighted Share of Model
SoM(b) =    Σ_e  Σ_p   w_e · w_p · score(b, e, p)
           -----------------------------------------
           Σ_{b' in C}  Σ_e  Σ_p   w_e · w_p · score(b', e, p)

  w_e     engine weight, Σ w_e = 1   (where your buyers ask)
  w_p     intent weight, 0.5x .. 2.0x (distance from purchase)
  score   presence in [0,1], averaged over N runs of the prompt
  C       the competitive set (the denominator is field presence,
          not response count, that is what makes it a share)

Setting the engine weights

Engine weight is a business decision, not a statistical one: it reflects where your buyers ask, not global market share. A B2B infrastructure vendor selling to platform engineers weights Perplexity and Claude higher; a mid-market SaaS company selling to operations leaders weights ChatGPT and Google AI Overviews heavily. Set the weights once, document the reasoning, and do not change them mid-year. If you must revise them, restate prior periods on the new weights so the trend stays honest.

Setting the intent weights

Intent weight scales with distance from a purchase decision. A workable default we use across teardowns:

Table 2. Default intent weights. Tune the multipliers to your sales cycle, then freeze them.
Intent tierWeightWhat the prompt is doingExample
Navigational & entity0.5xTesting whether the model knows you exist and describes you correctlyWhat is Acme, and what does it do?
Category discovery1.0xUnbranded category ask, no vendor namedBest workforce management platforms for multi-site healthcare
Comparative & evaluation1.5xHead-to-head, pros and cons, shortlist constructionCompare Acme and Beta for compliance tracking
Transactional & constraint2.0xHard budget, integration or regulatory constraints attachedHRIS under $15 per employee with Slack and SOC 2 Type II

The gap between 0.5 and 2.0 is deliberate. It is the difference between a model knowing your name and a model putting you on a shortlist while the buyer has a budget open. Brands that only optimize the top of that table build an authority position with no demand attached.

Free Tool · Calculator
Compute your Share of Model
The weighted formula above, made live. Enter per-engine mention and prompt counts for a visibility score, then add field mentions to get your Share of Model, your share of the whole competitive field.
Enter your tracking counts per engine

Leave an engine blank to exclude it, the score renormalises across the engines you actually track. Default weights are market-share estimates; edit them for your market. "Field mentions" is optional, the total brand-mentions across every vendor in the same responses; fill it to also get your Share of Model.

ChatGPT
Mentioned
Prompts issued
Weight
Field mentions (all vendors)
Gemini
Mentioned
Prompts issued
Weight
Field mentions (all vendors)
Perplexity
Mentioned
Prompts issued
Weight
Field mentions (all vendors)
Claude
Mentioned
Prompts issued
Weight
Field mentions (all vendors)
Grok
Mentioned
Prompts issued
Weight
Field mentions (all vendors)
Platform-weighted visibility
0%
Enter counts
Per-engine visibility
Share of Model , share of the field
%

Add "field mentions" per engine to compute your weighted share of the whole competitive field.

05How do you score a single response?

A composite of five dimensions between 0.0 and 1.0, averaged over the runs. Presence is not a one or a zero. It is mention inclusion, recommendation endorsement, position prominence, sentiment and entity accuracy, weighted so the first two carry 60% because recommendation is what moves pipeline.
Table 3. The five presence dimensions and their default weights.
DimensionSymbolWeightWhat it captures
Mention inclusionm0.30Is the brand named or cited anywhere in the response. Binary.
Recommendation endorsementd0.30Presented as a pick rather than a passing reference. Active endorsements carry 3-5x the value of a co-mention.
Position prominencerho0.20Where in the answer hierarchy the brand lands. Graded, not binary.
Sentiment polaritys0.15Positive framing scores 1.0, neutral 0.6, negative 0.0.
Entity accuracya0.05Are the stated features, pricing and positioning correct. Catches hallucination.
Figure 4. Default dimension weights. The first two carry 60% because recommendation is the outcome that moves pipeline.

Position prominence needs a ladder rather than a raw rank, because the drop-off is not linear, being named first is worth far more than twice being named second. Entity accuracy carries the smallest weight but the largest downside: a brand can score well on inclusion and still be harmed if the model consistently misstates its pricing tier, so track it as a separate alarm, not just a 5% input. The structural fix is in hallucination-proofing your brand.

python · presence score for one brand, one prompt, one engine
from dataclasses import dataclass

POSITION_WEIGHTS = {1: 1.00, 2: 0.70, 3: 0.70, 4: 0.40, 5: 0.40, 6: 0.40}
TAIL_WEIGHT      = 0.15
SENTIMENT        = {"positive": 1.0, "neutral": 0.6, "negative": 0.0}
DIM_WEIGHTS      = {"m": 0.30, "d": 0.30, "rho": 0.20, "s": 0.15, "a": 0.05}

@dataclass
class Extraction:
    rank: int; mentioned: int; recommended: int
    sentiment: str; entity_accurate: int

def presence(x):
    rho = POSITION_WEIGHTS.get(x.rank, TAIL_WEIGHT)
    return (DIM_WEIGHTS["m"]   * x.mentioned
          + DIM_WEIGHTS["d"]   * x.recommended
          + DIM_WEIGHTS["rho"] * rho
          + DIM_WEIGHTS["s"]   * SENTIMENT[x.sentiment]
          + DIM_WEIGHTS["a"]   * x.entity_accurate)

# average presence() over the N runs of the prompt. keep the weights
# in config, not in code, so a weighting change is auditable.

Extraction is the part people underestimate. Brand names get truncated, pluralized and abbreviated inside generated prose. Build an alias table per brand before you run anything, and validate your extractor against a hand-labelled sample of at least 200 responses before you trust a single score.

06How many runs per prompt do you actually need?

Eight to twelve, because one run is a coin flip recorded as a fact. The failure that invalidates most AI-visibility reporting is running each prompt once and reporting the result as a rate. The same prompt sent twice returns different brand sets; the estimate only settles around eight to twelve runs per prompt per engine.
Figure 5. A single prompt with a true inclusion rate of 27%, estimated run by run. Before roughly run 8 the estimate is noise.

At one run your estimate is either 0% or 100%. At three runs it can still be off by 30 points. Somewhere around eight to twelve runs per prompt per engine, the estimate settles into a range you can act on. Perplexity and Google AI Overviews are especially unstable because they re-retrieve on every call.

Bounding the estimate

Report intervals, not point estimates. For simple presence proportions use a Wilson score interval rather than the normal approximation, which breaks badly at the low rates most brands actually have.

python · Wilson 95% confidence interval
import math

def wilson(successes, n, z=1.96):
    """95% CI for a proportion. Correct at small n and extreme p,
    where the normal approximation breaks badly."""
    if n == 0:
        return (0.0, 0.0)
    p      = successes / n
    denom  = 1 + z*z / n
    centre = (p + z*z / (2*n)) / denom
    margin = z * math.sqrt(p*(1-p)/n + z*z/(4*n*n)) / denom
    return (centre - margin, centre + margin)   # use for inclusion rates

The weighted Share of Model composite is not a simple proportion, and mentions cluster inside multi-brand responses, which violates the independence Wilson assumes. For the composite, resample at the response level with a percentile bootstrap.

python · response-level bootstrap for the composite
import numpy as np

def bootstrap_som(responses, brand, n_iter=1000, seed=7):
    """Percentile bootstrap CI for the weighted composite. Resample
    whole responses, not individual mentions, so within-response
    correlation (brands cluster inside multi-brand answers) survives."""
    rng = np.random.default_rng(seed)
    idx = np.arange(len(responses))
    est = []
    for _ in range(n_iter):
        sample = [responses[i] for i in rng.choice(idx, len(idx))]
        est.append(weighted_som(sample, brand, ENGINE_W, INTENT_W))
    return tuple(np.percentile(est, [2.5, 97.5]))  # <1000 iters = unstable tails

07How many prompts do you need?

Enough for about 1,900 observations per brand per engine, then stop. Work backwards from the precision you need. To hold a two-point margin at a 27% rate you need roughly 1,900 scored observations per brand per engine, which at ten runs is about 190 prompts. A 250 to 500 prompt portfolio is where decision-grade programmes land.
formula · observations required for a ±2 point margin
n = z² · p(1 - p) / E²

  z = 1.96  (95% confidence)
  p = 0.27  (observed inclusion rate)
  E = 0.02  (target margin of error, ±2 points)

  ->  n ≈ 1,896 scored observations, per brand, per engine
  at 10 runs/prompt that is ≈ 190 prompts; round up to a
  250 to 500 prompt portfolio, run 5 to 12 times per engine.
Figure 6. Confidence-interval width against total observations. The curve flattens hard after about 2,500.

The flattening matters more than the absolute numbers. Going from 500 to 2,500 observations buys a large precision gain; going from 2,500 to 5,000 buys very little. That is the argument for a 250-prompt portfolio rather than a 500-prompt one if budget is tight, spend the saved API calls on more engines instead.

Directional versus decision-grade

A 50 to 100 prompt audit is fine for a first look and for finding obvious gaps. It is not enough to declare a winner between two brands sitting three points apart, and it is not enough to claim a quarter-over-quarter improvement. Say which one you are doing.

Free Tool · Calculator
Plan your sample size
How many runs and prompts you need for a number you can trust, plus a Wilson confidence interval for a rate you have already measured.
Plan the sample
Expected inclusion rate (%)
Target margin of error (± points)
Confidence (90 / 95 / 99)
Runs per prompt per engine

n = z² · p(1-p) / E². Runs convert observations into a prompt count. Engines that re-retrieve on every call (Perplexity, Google AI Overviews) need the top of the 8-12 run range.

Bound an observed rate (Wilson)
Times the brand appeared
Total scored responses

The Wilson score interval is correct at the low rates most brands actually have, where the normal approximation breaks badly.

Observations needed
0obs
per brand, per engine
The plan

Your prompt count appears here.

Wilson 95% interval

Enter appearances and total responses to bound the rate.

08Why can't you blend the engines into one number?

Retrieval architecture drives variance, and variance drives your run budget. Blending everything into one number is the second most common mistake after under-sampling. Report each engine separately, then weight into the headline, because the per-engine cut is where the fix lives.
Table 4. Per-engine execution configuration. Report each engine separately, then weight into the headline number.
EnginePrimary retrievalVarianceMin runsBest intent fit
ChatGPTHybrid parametric plus web RAGModerate10Broad commercial and B2B discovery
PerplexityLive web RAG indexingHigh12Deep technical and research queries
Google AI OverviewsSearch graph plus GeminiHigh10High-volume consumer and business search
ClaudeParametric-heavy, extended contextLow to moderate8Long-form analysis and enterprise evaluation
GrokReal-time social plus web RAGHigh12Real-time trends and industry news

A brand strong on Claude and weak on Perplexity has a live-retrieval problem: the training corpus knows it, the live index does not. That is a crawlability and freshness fix, not a brand fix, and the mechanics are in how your page gets retrieved.

09How do you build the prompt portfolio?

From how buyers describe situations, not from a keyword list. The portfolio is the measurement instrument. Keyword lists are what people type into a search box; buyers describe a situation to an assistant, their headcount, their stack, their compliance constraint. Most of those phrasings have zero search volume.

Most buyer phrasings have zero search volume, which is exactly why the query fan-out mechanics matter here. A workable split is 15% navigational, 35% category discovery, 30% comparative and 20% transactional. Discovery gets the largest share because it is where the category conversation happens; transactional gets the highest weight because it is where the money is.

Figure 8. Portfolio allocation by volume. Discovery and comparison prompts carry the bulk of the volume; constraint prompts carry the bulk of the weight.
yaml · the versioned portfolio file
# portfolio.yaml -- version this file. It IS the measurement instrument.
version: 2026.Q3.1
category: field_service_management
competitor_set: [acme, beta, gamma, delta, epsilon, zeta]

engine_weights:              # must sum to 1.0 -- where your buyers ask
  chatgpt:      0.38
  ai_overviews: 0.24
  perplexity:   0.18
  claude:       0.12
  grok:         0.08

intent_weights: {navigational: 0.5, discovery: 1.0,
                 comparative: 1.5, transactional: 2.0}

prompts:
  - {id: fsm-disc-001, tier: discovery,     text: "best field service software for HVAC"}
  - {id: fsm-comp-014, tier: comparative,   text: "ServiceTitan vs Housecall Pro for a 40-tech shop"}
  - {id: fsm-txn-031,  tier: transactional, text: "FSM under $80/tech/mo with QuickBooks + SOC 2"}

Three rules keep the instrument honest. Never edit a prompt in place, deprecate it and add a new ID. Never add prompts mid-cycle, batch them into the next version. Always keep at least 80% of prompts stable across versions so the trend line survives.

10What does the measurement pipeline look like?

Nine stages on a fixed cadence, with the portfolio frozen and every raw response stored. Run monthly for an active programme, quarterly for maintenance. The denominator is total field presence, not response count. Store every raw response, not just the extraction, because scoring logic and alias tables improve and re-scoring history is cheap.
Frozen portfolio
250-500 prompts, versioned, unchanged.
Poll engines
8-12 runs per prompt per engine.
Extract + score
Alias table, five presence dimensions.
Aggregate to field share
Denominator = total field presence.
Report + CI
Blended headline plus per-engine cut, then backlog.
Figure 9. The full loop. The last stage feeds the content backlog; stage one stays frozen so the next cycle is comparable.
python · the weighted Share of Model rollup
from collections import defaultdict

def weighted_som(responses, brand, engine_w, intent_w):
    """responses: iterable of scored responses across the portfolio."""
    num = den = 0.0
    for r in responses:
        w    = engine_w[r.engine] * intent_w[r.tier]
        num += w * r.scores.get(brand, 0.0)
        den += w * sum(r.scores.values())   # total field presence
    return num / den if den else 0.0        # a share, not a rate

Storage is cheaper than execution by two orders of magnitude, so keep the full text of every response, not the extraction. And the rollup query's guard clause is not optional: under-sampled cells are the main source of fake movement.

sql · cycle-over-cycle rollup with an under-sampling guard
-- Cycle-over-cycle movement, ready for the dashboard.
WITH scored AS (
  SELECT cycle_id, engine, tier, brand,
         engine_weight * intent_weight * presence_score AS w_score,
         engine_weight * intent_weight * field_score    AS w_field
  FROM   response_scores
  WHERE  portfolio_version = '2026.Q3.1'
)
SELECT cycle_id,
       SUM(w_score) / NULLIF(SUM(w_field), 0) AS share_of_model,
       COUNT(*)                               AS observations
FROM   scored
GROUP  BY cycle_id
HAVING COUNT(*) >= 200;   -- the HAVING is not optional: under-sampled
                          -- cells are the main source of fake movement.

11What does a good Share of Model score look like?

It depends on the vertical, and most first measurements land in the bottom two tiers. A score means nothing in isolation. 18% is excellent in a fragmented market with forty vendors and poor in a consolidated one with four. Across verticals, brands land in four consistent tiers, and benchmarks come from teardowns of the actual competitive set.
Figure 11. Share of Model benchmark bands by vertical and competitive tier (band midpoints). Read your number against the band for your tier.
Table 5. Benchmark Share of Model ranges by vertical. The right-hand column is where the gap gets closed.
VerticalCategory leaderStrong challengerEmerging providerWhat drives retrieval
HR tech & staffing35-45%18-30%5-15%Directory reviews (G2, Capterra), community forums, pricing pages
AEC services & tech32-42%15-28%4-12%Technical specs, trade association journals, Schema.org entities
Field service management38-48%20-32%5-14%Feature comparison tables, integration guides, industry reviews
Carbon accounting35-45%16-28%3-12%Methodological papers, GHG Protocol citations, regulatory briefs

Three things to read out of that table. Field service runs highest at the top because it is the most consolidated, so the leader's denominator is smaller, the full breakdown is in the field service software teardown. Carbon accounting runs lowest because the category rewards methodological credibility over marketing volume, which a new entrant cannot buy quickly, we took that market apart in authority isn't the moat. And the retrieval-driver column is the actionable one: optimizing an AEC site with HR-tech tactics produces nothing.

The tier that surprises people is the bottom one. In our lending and credit teardown, 44 of 52 brands were named 0% of the time. Not low, zero, a large fraction of a well-funded category sitting entirely outside the answer space. Movement is slower than teams expect: set expectations at three to five points per quarter for a brand in the emerging tier doing the work consistently.

12How do you connect model share to money?

Stack five layers under it, then size the gap for the CFO. Share of Model on its own is a marketing metric. To survive a budget conversation it connects to pipeline through a citation-source split, mention quality, an authority-gap map, AI-referral attribution and agentic web logs.
01 Share of Model + rank
The weighted score and your ordinal position.
02 Citation-source split
Owned / earned / community. Own-domain-only is fragile.
03 Mention quality
Sentiment, attribute association, hallucination rate.
04 Authority-gap map
Third-party domains you are absent from = outreach list.
05 AI-referral attribution
Sessions from AI engines vs branded-search lift.
Figure 12. The measurement stack. Layer 01 is the number; everything above it explains why the number moved.

The authority-gap map, the third-party domains engines cite for your category where you are absent, is your outreach target list, and the method is in authority seeding for AI. Two formulas carry the budget conversation. Return on GEO connects spend to tracked revenue plus a conservatively attributed brand-lift term, and cost of inaction quantifies the gap to the leader as forgone pipeline.

A worked cost-of-inaction estimate

A field service platform running at 14% against a leader at 38%, in a category generating an estimated 120,000 relevant prompts a year, converting AI-sourced exposure at 1.4% into opportunities worth an average of $18,000. The 24-point gap maps to 28,800 answers, which maps to roughly $7.26 million in annual pipeline that goes to someone else.

Be honest about what that number is: a sizing estimate built on a conversion assumption you should state explicitly, not a forecast. Its job is to make the gap legible to a CFO, not to be booked.

13How do you stand the program up in 90 days?

Measurement infrastructure before optimization work, always. The first score lands on day 14 and it will be worse than expected. Check crawler behaviour before the authority work, or the placements you earn will feed engines that still cannot retrieve your site.
Table 6. A 90-day implementation sequence.
StageFocusDeliverables
Days 1-14Baseline auditCurate the 250+ prompt portfolio, run first sampling across five engines, map competitor Share of Model
Days 15-30Machine scannabilityllms.txt at root, clean Markdown variants, Schema.org markup, verify bot access in robots.txt
Days 31-60Citation-gap acquisitionTargeted PR and placement on the high-citation third-party domains from authority mapping
Days 61-75Pipeline attributionGA4 referral tracking for AI engines, dashboard combining Share of Model and referral conversions
Days 76-90Operational cadenceAutomated monthly polling, variance alerts, Share of Model in the quarterly review

Days 15 to 30 come before the authority work for a reason: if the crawlers cannot parse your pages, the placements you earn in days 31 to 60 will feed engines that still cannot retrieve your site, and you will pay for coverage that only helps your competitors' answers look better sourced. Check crawler behaviour first, using the breakdown in how AI crawlers actually index your site.

14What are the seven ways the number goes wrong?

Under-sampling, drift, blending, alias misses, weight tinkering, thin cells and denominator confusion. Most bad Share of Model reporting traces to one of seven failure modes. The most damaging is weight tinkering, because it is invisible outside the measurement team and manufactures good news on demand.
Table 7. The seven failure modes that account for most bad Share of Model reporting.
FailureWhat it looks likeFix
Single-run samplingScore swings 15 points between cycles with no work done8 to 12 runs per prompt per engine, minimum
Portfolio driftPrompts edited or added between cyclesVersion the portfolio file, keep 80% stable, deprecate rather than edit
Blended-only reportingOne number that hides an engine you are invisible inAlways publish the per-engine cut alongside the headline
Alias missesExtractor misses abbreviations and truncations of the brandAlias table per brand, validated against 200 hand-labelled responses
Weight tinkeringScore improves after a weighting change, not after workFreeze weights for the year, restate history if you must revise
Under-sampled cellsA tier or engine with 40 observations reported as a trendSuppress cells below a minimum observation count
Denominator confusionReporting a rate and calling it a shareDenominator is total field presence across the competitor set, not response count

If your weights change, the previous quarter has to be restated on the new weights before anyone sees a trend line. Write that into the process document.

15What should you do this week?

Run a 50-prompt pilot, with intervals attached, against the band for your tier. Settle the taxonomy, write 50 prompts from sales-call notes tagged to intent tiers, run each ten times on two engines, score with the five dimensions, and report with a Wilson interval. Then freeze the weights and put the next run on the calendar.
  • Settle the taxonomy first. Decide what counts as a citation, a mention and a recommendation before you count anything, using the taxonomy piece as the reference.
  • Write 50 prompts from sales-call notes, not from a keyword tool, and tag each to an intent tier. This is your pilot portfolio.
  • Run each prompt 10 times on two engines. Score presence with the five dimensions and report the number with a Wilson interval attached.
  • Compare to the band for your vertical and tier in Table 5. If you are below the emerging band, the problem is retrieval, not messaging.
  • Pull the citation-source split. If more than 70% of your citations come from your own domain, the authority gap is your first project.
  • Freeze the weights, version the portfolio, and put the next run on the calendar. A single measurement is a screenshot; two comparable measurements are a program.

Share of Model is not complicated mathematics. It is a weighted average with confidence intervals attached. What makes it hard is the discipline, a fixed portfolio, enough runs, honest weights, and the willingness to publish a number lower than the one your tool vendor reports. That discipline is the entire difference between measurement and guessing.

Frequently asked questions

What is Share of Model and how is it calculated?

Share of Model is the percentage of brand presence an entity captures across a statistically representative set of category prompts, measured across multiple generative engines and weighted by commercial intent and engine usage. You compute it as your weighted presence divided by the total weighted presence of every brand in the competitive set, over the same prompt portfolio, on the same engines, on a fixed cadence. The denominator is total field presence, not response count, which is what makes it a share rather than a rate.

How many times should you run each prompt?

Eight to twelve runs per prompt per engine, minimum. Language models are probabilistic: the same prompt sent twice can return different brand sets. At one run your estimate is either 0% or 100%; at three runs it can still be off by 30 points; the estimate only settles into an actionable range around eight to twelve runs. High live-retrieval engines like Perplexity and Google AI Overviews need the top of that range because they re-retrieve on every call.

How many prompts do you need for a reliable Share of Model?

To hold a two-point margin of error at a 27% inclusion rate you need roughly 1,900 scored observations per brand per engine. At ten runs per prompt that is about 190 prompts, so decision-grade programmes land at a portfolio of 250 to 500 prompts run 5 to 12 times per engine. Precision flattens hard after about 2,500 observations, so a 250-prompt portfolio plus more engines usually beats a 500-prompt one on a tight budget.

Should you report one blended AI-visibility number across engines?

Report both, but never blended-only. The weighted composite goes on the dashboard; the per-engine breakdown goes in the appendix, because that is where the fix lives. A brand strong on Claude and weak on Perplexity has a live-retrieval problem, the training corpus knows it but the live index does not, which is a crawlability and freshness fix rather than a brand fix. A single blended number hides the engine you are invisible in.

What is a good Share of Model score?

It depends entirely on the vertical and your competitive tier, so a raw number means nothing in isolation. Across teardowns brands land in four tiers: category leaders run roughly 35-48%, strong challengers 15-32%, and emerging providers 3-15%, with the exact bands set by how consolidated the market is. Field service tops out highest (leader band to 48%) because it is the most consolidated; carbon accounting bottoms lowest (emerging to 3%) because engines there reward peer-reviewed and regulatory sources over marketing volume. Read your number against the band for your tier.

How is Share of Model different from share of voice, citations and mentions?

Share of voice counts media impressions; share of search counts branded query volume; both break when the buyer asks a model instead of seeing an ad or reaching Google. Citations, mentions and recommendations are the underlying events, a taxonomy that is upstream of Share of Model and defines what you count. Share of Model is the middle scoreboard layer: it takes those events, counts them across a fixed weighted prompt portfolio, and turns them into one share you can trend and benchmark. Attribution to sessions and pipeline is a separate downstream layer.

About rawmktg.

rawmktg. publishes data-driven teardowns and technical playbooks on GEO, agentic commerce and B2B AI-search visibility. Method: same data, same lens, every time. Contact: vinayak@rawmktg.com

Sources: the Share of Model literature (Alephic, Chetver, the Agile Brand Guide), the multi-industry LLM brand-ownership study (arXiv), and rawmktg category teardowns, 2026. Formulas and code are working reference implementations; benchmark bands are directional.