Skip to main content
RoastIQBuyerLensHugoPricingBlogAbout
Client accessDiscuss your campaign
Guide · 12 min · Scoring

Reading a RoastIQ verdict end to end.

An illustrative score walkthrough. The authored example is not a saved analysis or a recorded reviewer study. Check the evidence gate before interpreting any recommendation.

5 KPIs· 1 composite· 1 verdict· 1 decision trace
Oussama Nakhil portrait
Oussama Nakhil, Founder, SaliencyLab
Ex-NielsenIQ, ex-L'Oréal Groupe. Writing from Casablanca + Paris.

01, The frozen 5 KPIs

RoastIQ scores every ad on the same five KPIs in the same order with the same weights. The names are frozen. The weights are frozen. This is not a stylistic choice, it is the only way a score from March can be compared to a score from October, or one client's ad compared to another's at the same benchmark percentile.

25%
01
Beat the Skip
20%
02
Get Noticed
20%
03
Brand Impact
20%
04
Sell Proposition
15%
05
Build Brand

Beat the Skip carries the heaviest weight because in feed environments, TikTok, Reels, Shorts, nothing else matters if the viewer is gone in two seconds. Get Noticed and Brand Impact share the middle weight band. Build Brand sits at 15%, not because long-term equity is unimportant, but because for a single ad it is the slowest signal to move.

02, How the composite is computed

The composite is a weighted sum, not an average. The difference matters when one KPI is dragging.

composite = (BeatTheSkip × 0.25) + (GetNoticed × 0.20) + (BrandImpact × 0.20) + (SellProp × 0.20) + (BuildBrand × 0.15)

For our worked example, Beat the Skip 70, Get Noticed 65, Brand Impact 45, Sell Proposition 68, Build Brand 60, the math is:

= (70 × 0.25) + (65 × 0.20) + (45 × 0.20) + (68 × 0.20) + (60 × 0.15) = 17.5 + 13.0 + 9.0 + 13.6 + 9.0 = 62.1 → rounds to 62.
"The composite is a weighted sum, not an average. A 45 on Brand Impact does not disappear just because the rest is fine, it bleeds nine points out of a possible twenty."

03 · Check the verdict gate first

Meta, unsupported cohorts and missing lineage remain Directional only. An eligible recommendation can describe strengths or proposed edits, but it is not a spending instruction. Review the source evidence and record the human decision separately.

04 · Four different evidence questions

  • Named model: which system produced this result?
  • Validation estimate: what was tested, on which held-out material and against which outcome?
  • Cohort coverage: how closely do the saved peers match the creative and its context?
  • Run stability: were repeated runs actually measured, and what varied?

Missing historical evidence stays Not recorded. Attribute certainty is not a calibrated probability, a large cohort does not automatically validate the result, and a completed human-coder agreement study is not established.

05, Reading an illustrative decision trace

This authored example is not a saved customer run. Its scores and recommendations are illustrative and do not establish validation.

Every analysis stores a Zod-validated record. This is what makes a RoastIQ verdict auditable instead of vibes-based. A trimmed example:

{ "run_id": "rq_2026_05_18_a4f1", "composite": 62, "verdict": "sharpen", "matrix_label": "missed_opportunity", "kpis": { "beat_the_skip": { "score": 70, "confidence": "high", "evidence": ["frame_0.4s","frame_1.2s"] }, "get_noticed": { "score": 65, "confidence": "high", "evidence": ["frame_2.1s"] }, "brand_impact": { "score": 45, "confidence": "medium", "evidence": ["logo_first_seen_at_6.8s"] }, "sell_proposition":{ "score": 68, "confidence": "high", "evidence": ["transcript_3.2s"] }, "build_brand": { "score": 60, "confidence": "medium", "evidence": ["closing_card_8.4s"] } }, "recommendations": [ "Move first distinctive brand asset before 2.0s", "Extend hero shot of product by ~0.4s", "Consider second logo appearance at end card" ], "confidence_labels": { "overall": "high" } }

Read each score alongside its supporting frames or transcript passages and the specific edit it suggests. Check the benchmark context and evidence limits before using a result to make a decision.

06, Worked example: composite 62

A 9:16 brand ad for a mid-market beauty client. Eight seconds. Product-led, with a brand logo arriving late at 6.8s. Here is the full KPI table the report returned.

KPIWeightScoreContributionConfidenceBand
Beat the Skip25%7017.5highStrong
Get Noticed20%6513.0highModerate
Brand Impact20%459.0mediumModerate
Sell Proposition20%6813.6highModerate
Build Brand15%609.0mediumModerate
Composite100%6262.1highSharpen

The verdict is Sharpen. The composite is in the 55–69 band, no KPI is under 45, so it does not trip the Rebuild double rule. The weak spot is unambiguous, Brand Impact at 45, and the trace pinpoints why: the first distinctive brand asset does not appear until 6.8s of an 8-second cut. The recommendation is mechanical: move the asset before 2.0s.

"A score of 62 is not a grade. It is an address. It tells you which floor to walk to."

07, Three reviewers, three reads

Consider an illustrative review disagreement: different reviewers may choose different actions from the same creative. This is a teaching example, not a recorded three-person study.

Account Director
"Ship it."

Saw a clean hook, a clear product shot, no obvious craft issue. Pattern-matched to ads that performed last quarter. Did not notice the logo timing.

Creative Director
"Rebuild."

Bothered by the late brand entry and the flat closing card. Felt the whole spot lacked a distinctive idea. Wanted to go back to brief.

Strategist
"Sharpen."

Argued the hook and proposition were earning their weight. Suspected the brand asset placement was the issue, but had no way to prove it inside the meeting.

In this authored example, the trace makes the proposed edit explicit: inspect the delayed brand cue and test an earlier one. It does not prove which reviewer is right, how long an editor needs or whether the edit improves an outcome.

08, The honest caveat

RoastIQ scores are model diagnostics, not measurements. The separate platform-native attribute model is evaluated against TikTok CTR and YouTube view counts; this does not validate the five-KPI composite. As of 2026-08-25, held-out out-of-sample Spearman ρ is between +0.33 and +0.40 across those outcomes. Cohort coverage and repeated-run stability require separate evidence.

What this guide does not claim:

  • That a 62 predicts ROAS, attributed sales, or in-market business outcomes.
  • That a 62 predicts brand recall the way a survey would. Different construct.
  • That Meta-Feed scores have the same validation depth, for brand ads on Meta, outcome data is sparse and the scores are directional defaults.

What it does claim, plainly: a Sharpen verdict with a Brand Impact score of 45 and a frame-level pointer to a late logo is more decision-useful than three smart people disagreeing in a meeting.

Keep reading

Frequently asked

What does a composite score of 62 actually mean?

In this authored example, 62 is a raw diagnostic within the numerical Sharpen band. The evidence gate still controls the recommendation: Meta, unsupported or unknown coverage remains Directional only. The number is not a measured campaign outcome.

Can the KPI weights ever change?

No. The 5 KPI names and their weights, Beat the Skip 25, Get Noticed 20, Brand Impact 20, Sell Proposition 20, Build Brand 15, are frozen by product rule. Changing them would invalidate historical comparisons and benchmark percentiles.

Why are scores predictions and not measurements?

The platform-native attribute model has held-out Spearman ρ of +0.33 for TikTok CTR and +0.40 for YouTube views. Those estimates do not validate the five-KPI composite in this example. Neither model output measures ROAS, attributed sales or brand recall.

How do I know the verdict is trustworthy?

Inspect the saved model version, source pointers and cohort coverage. Historical missing fields stay Not recorded. Validation estimates, cohort coverage, attribute certainty and measured run stability answer different questions; none substitutes for the others.