Skip to content
esc close · ← → switch
LYRA/ Tools/ Diagnostic/ Performance Labelizer
Diagnostic Hourly cronRule-based

Your feed, labelled by performance.

Performance Labelizer runs hourly across your Merchant Center products, classifies each into one of 5 performance tiers (heroes, rising stars, potential, underperformers, unproven) using ROAS or CPA thresholds. Coming soon. Pure heuristic — same inputs, same tier, every time.

Hourly cron · ROAS or CPA mode · Coming soon
What we read · input surface

Every product, every hour.

Each hour the cron checks every connected Merchant Center configuration. For configs whose schedule fires (daily / weekly / monthly per config), the processor pulls the last N days of Shopping performance, and runs each product through the bucket calculator.

Run · Sample · basalt-dtc · execution #2,431 Apr 26, 2026 · 14:00 UTC · ROAS mode
01 · Cadence 1 h Cron tick Cron fires every hour. Each config's schedule (daily/weekly/monthly) controls whether that account's products re-classify on this tick.
02 · Modes 2 ROAS or CPA ROAS mode (default): hero = ROAS ≥ target × 1.2. CPA mode (inverted): hero = CPA ≤ target × 0.8.
03 · Output 5 Tiers Each product receives one of five tier labels, recomputed on every run.
04 · Persistence 2 DB tables Per-run counts and each product's tier with its date.
The classification · generated artefact

Out: a tiered product list.

Below is a sample classification from a recent run. Feed health score (% of products in heroes + rising stars), tier distribution across the 4 actionable tiers, and a sample of individual products with their current tier and any change since the previous run.

Labelizer-run · basalt-dtc · #2,431 Apr 26, 2026 · 14:00 UTC ROAS mode · target 5.0 · 14d window v.1.0 · illustrative sample
Feed health
44 / 100
Heroes + rising stars share ▲ +3 vs run #2,407 · 24h ago
Products by tier 342 SKUs classified · 38 unproven held out
Heroes 64
Rising stars 87
Potential 102
Underperformers 51
# Check Scope What we found Suggested action Severity
01 trail-runner-pro-mens-blue-42 hero · stable Trail collection · 14d ROAS 612% · 24 conversions · 18 clicks. Above hero threshold (target × 1.2 = 600%) for the 4th run in a row. Keep at hero · push more spend Hero
02 trail-runner-pro-womens-pink-38 hero · stable Trail collection · 14d ROAS 580% · 18 conversions. Just under hero floor (was hero last week); marginal call this run. Keep monitoring · re-verify next run Hero
03 road-runner-cushion-mens-43 rising_star · upgraded Road collection · 14d ROAS 480% · 12 conversions · climbed from potential last run. Click volume crossed the rising-star threshold. Promote to rising star feed · expand keywords Rising star
04 trail-shoe-eu-42-grey rising_star · stable Trail collection · 14d ROAS 520% · stable rising star for the third run. Capacity to scale; budget headroom available. Increase ad-group bid by 10–15% Rising star
05 lifestyle-sneaker-unisex-40 potential · stable Lifestyle · 14d ROAS 380% · within 80% of target (target = 500%). Watching for a tier change next run. Hold · re-evaluate next run Potential
06 road-runner-elite-mens-44 underperformer · regression Road collection · 14d ROAS 220% · 4 conversions. Tier drift detected: was rising star last week, now underperformer. Investigate creative + landing-page; reduce bid Underperformer
07 winter-trail-mens-46 underperformer · stable Trail collection · 14d ROAS 180% · 3 conversions. Persistent underperformer; low margin product. Consider exclusion from PMax feed. Exclude from feed or rework copy Underperformer
7 of 304 classified products shown · 38 unproven held out (insufficient data) Illustrative sample · coming soon
Methodology · the 5 tiers, the rules

Five tiers, deterministic thresholds.

Bucket calculation is pure heuristic. Each product's last N-day ROAS (or CPA, in CPA mode) is compared to your target with click-volume safeguards. Same metrics always produce the same tier — no model, no inference, no LLM.

01 · HeroesTop performers

ROAS ≥ target × 1.2 with click confidence.

Default ROAS mode: hero = ROAS ≥ 1.2 × target AND clicks ≥ (100 × click_multiplier) / avg_conversion_rate. Click multiplier defaults to 3, so heroes need 3× the click volume of rising stars at the same ROAS.

ROAS ≥ target × 1.2
Clicks ≥ 3× rising-star floor
CPA mode CPA ≤ target × 0.8
02 · Rising starsAbove target

ROAS ≥ target with baseline click volume.

Rising star = ROAS ≥ target AND clicks ≥ 100 / avg_conversion_rate. The capacity-to-scale tier — these products are doing what you asked but haven't accumulated the click volume to be heroes yet.

ROAS ≥ target
Clicks ≥ baseline floor
CPA mode CPA ≤ target
03 · PotentialWithin band

ROAS ≥ target × 0.8.

The watch tier. Within 80% of your target ROAS. Not a hero, not a clear loser — needs another cycle to declare. Most products that aren't heroes-or-underperformers land here.

ROAS target × 0.8 to target
Decision Hold · re-evaluate
04 · UnderperformersActive drag

Spending without returning.

Underperformer = conversions > 1 OR clicks > a configurable threshold, with ROAS below the potential floor. Real spend, real activity, but the returns aren't there.

ROAS < target × 0.8
Activity Conversions > 1 OR clicks > N
05 · UnprovenInsufficient data

Below the click floor — held out.

Products without enough click volume to classify confidently. Held out of the tiers; not labeled as anything until they accumulate enough data. Re-evaluated every run.

Status Held out · no label
Reason Below click floor
Re-eval Every run
06 · Modes + cadenceConfigurable

ROAS or CPA · daily, weekly, or monthly.

Pick ROAS mode (most ecommerce) or CPA mode (lead-gen, inverted thresholds). Set the cadence per config: daily (every day's hour-N run), weekly (every Sunday hour-N), monthly (1st of month). The hourly cron checks all configs every hour and runs the ones whose schedule fires.

Modes ROAS · CPA
Schedules Daily · weekly · monthly
Cron Hourly tick
Frequently asked

The questions about how the tiers actually work.

How often does the run happen?

The cron itself is hourly. Whether your products re-classify on a given hour depends on your config's schedule: daily configs run every day's chosen hour, weekly configs run every Sunday's chosen hour, monthly configs run on the 1st of the month. Most ecommerce accounts run daily; agency reporting tends to run weekly.

What are the 5 tiers exactly?

heroes (ROAS ≥ target × 1.2 with high click volume), rising stars (ROAS ≥ target with baseline click volume), potential (ROAS within 80% of target), underperformers (active spend, ROAS below the potential floor), unproven (insufficient data to classify, held out).

What's the click multiplier?

A safeguard against tier whiplash. Default = 3, configurable. Heroes need 3× the click volume of rising stars at the same ROAS — the volume threshold prevents low-volume products from spiking into hero on a lucky 14-day window.

Is this AI?

No. Pure heuristic — bucket thresholds applied to performance metrics. No LLM, no model, no inference. Same inputs always produce the same tier. Deterministic, audit-friendly, defensible to clients.

What happens when a product changes tier?

The product moves to its new tier on the next run.

14-day free trial · Cancel anytime

Run the audit.
Keep the findings.

Connect your account and let Lyra run its 8 tools for 14 days. If the projected waste recovery isn't worth at least 10× the $49, don't pay. You keep every insight either way.

Read-only connect · write access opt-in per tool · SOC 2 in progress · GDPR + CCPA compliant