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, and ships the labels back to Merchant Center as a TSV feed. Pure heuristic — same inputs, same tier, every time.

Hourly cron · ROAS or CPA mode · TSV → Merchant Center
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, runs each product through the bucket calculator, and emits a TSV feed back to Merchant Center.

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 TSV → Merchant Center Per-product labels emitted as a TSV feed and submitted to Merchant Center via the supplemental-feed API.
04 · Persistence 2 DB tables performance_labelizer_executions (per-run counts) + performance_labelizer_products (per-product classification + date).
The classification · generated artefact

Out: a tiered product feed.

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 · TSV → Merchant Center
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. Email alert sent. 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) TSV submitted to Merchant Center · supplemental_feed_id 78421
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. Tier drift (hero → underperformer) emits an email alert.

ROAS < target × 0.8
Activity Conversions > 1 OR clicks > N
Drift alert Hero → underperformer · email
05 · UnprovenInsufficient data

Below the click floor — held out.

Products without enough click volume to classify confidently. Held out of the tier feed; 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 of the feed).

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 new label is written to performance_labelizer_products with a new classification_date and the updated TSV feed is submitted to Merchant Center on the next run. Tier-drift events (hero → underperformer specifically) emit an email alert so you can investigate before the regression compounds.

14-day free trial · No credit card · Cancel in one click

Run the audit.
Keep the findings.

Connect your account and let Lyra run its 18 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