What is this?
We are adding a customer_report block to the pipeline output JSON. This block contains 3 customer-facing "pillar" scores that summarize the listing quality in terms customers understand. It also includes a before/after comparison when baseline data is available. The goal is to show customers the value delivered by optimization at the end of the listing creation step.
1. Listing Baseline Score (LBS) -- The "Before"
A content-only quality score computed from the raw listing before optimization. No pipeline data needed -- just title, bullets, description, and backend keywords.
| Dimension | Weight | What it measures | Data needed |
|---|---|---|---|
| Content Completeness | 20% | Are all 5 bullets filled? Title right length? Description present? | Raw content only |
| Readability | 25% | Flesch reading ease, bullet format, title structure | Raw content only |
| Proof & Credibility | 15% | Numbers, measurements, certifications, comparisons | Raw content only |
| Compliance | 15% | Amazon formatting rules, prohibited content | Raw content only |
| Keyword Signals | 15% | Word diversity, title density, stuffing detection | Raw content only |
| Persuasion Structure | 10% | Benefit-led bullets, emotional language, CTA signals | Raw content only |
When to compute: At the start of listing creation, before any optimization. Store this snapshot so we can compare later.
2. Listing Quality Score (LQS) -- The "After"
The full quality score computed after optimization, using all pipeline data (approved keywords, USPs, competitor analysis, intent themes).
| Dimension | Weight | What it measures | Data needed |
|---|---|---|---|
| Keyword Optimization | 25% | Coverage of approved keywords, title placement, tier alignment | Approved keyword list |
| USP Effectiveness | 20% | USP coverage, differentiation vs competitors, proof strength | Approved USPs + competitors |
| Readability | 15% | Flesch reading ease, bullet format, title structure | Content only (same as LBS) |
| Competitive Position | 15% | Keyword uniqueness, value prop uniqueness vs competitors | Competitor data |
| Customer Alignment | 15% | Intent theme coverage, pain point addressing | Intent themes |
| Compliance | 10% | Banned terms, Amazon formatting rules | Content only (same as LBS) |
3. The 3 Customer Pillars
Customers don't see 6 dimensions. They see 3 pillars that answer business questions. Each pillar is a weighted average of LQS dimensions.
Pillar 1: Search Visibility
"Can shoppers find your listing?"
= Keyword Optimization x 0.60 + Competitive Position x 0.40Pillar 2: Conversion Readiness
"Will shoppers buy once they find you?"
= USP Effectiveness x 0.35 + Readability x 0.30 + Customer Alignment x 0.35Pillar 3: Listing Health
"Is your listing safe from suppression?"
= Compliance x 0.60 + Content Completeness x 0.40Note: Post-optimization, content completeness is assumed 95 (all fields populated during creation).
4. Before/After Pillar Mapping
The "before" pillars use LBS proxy dimensions since pipeline data does not exist yet:
| Pillar | Before (LBS source) | After (LQS source) |
|---|---|---|
| Search Visibility | Keyword Signals x 60% + default 50 x 40% | Keyword Optimization x 60% + Competitive Position x 40% |
| Conversion Readiness | Persuasion x 35% + Readability x 30% + Proof x 35% | USP Effectiveness x 35% + Readability x 30% + Customer Alignment x 35% |
| Listing Health | Compliance x 60% + Content Completeness x 40% | Compliance x 60% + 95 x 40% |
5. Customer-Facing Metrics
Each pillar includes plain-English metric strings extracted from the scoring data. These are the values customers see:
| Pillar | Example Metrics | Source Data |
|---|---|---|
| Search Visibility | "28 of 34 keywords placed" "82% keyword uniqueness" | keyword coverage count, differentiation % |
| Conversion Readiness | "6 of 8 USPs communicated" "12 of 15 pain points addressed" "7 proof points" | USP coverage count, pain point count, proof check count |
| Listing Health | "0 compliance violations" "All 5 content fields populated" | compliance flag count, content field checks |
6. Pipeline Output Schema
Add this customer_report block to the existing pipeline output JSON, alongside Content, Keywords, USPs, and LQS:
{
"ASIN": "B000T9WM62",
"Content": { ... },
"Keywords": { ... },
"USPs": [ ... ],
"LQS": { ... },
"customer_report": {
"overall_score": 88,
"overall_grade": "B",
"baseline_score": 48, // null if no baseline
"baseline_grade": "F", // null if no baseline
"improvement": 40, // null if no baseline
"pillars": {
"search_visibility": {
"score": 91,
"grade": "A",
"baseline_score": 45, // null if no baseline
"delta": 46, // null if no baseline
"metrics": [
"28 of 34 high-value keywords placed",
"4 primary keywords in title",
"82% keyword uniqueness vs competitors"
],
"components": [
{ "name": "Keyword Optimization", "score": 90, "weight": 0.60, "source": "lqs" },
{ "name": "Competitive Position", "score": 92, "weight": 0.40, "source": "lqs" }
]
},
"conversion_readiness": {
"score": 82,
"grade": "B",
"baseline_score": 34,
"delta": 48,
"metrics": [
"6 of 8 selling points communicated",
"12 of 15 customer pain points addressed",
"7 proof points found",
"Reading level: Easy"
],
"components": [
{ "name": "USP Effectiveness", "score": 78, "weight": 0.35, "source": "lqs" },
{ "name": "Readability", "score": 85, "weight": 0.30, "source": "lqs" },
{ "name": "Customer Alignment", "score": 84, "weight": 0.35, "source": "lqs" }
]
},
"listing_health": {
"score": 97,
"grade": "A",
"baseline_score": 72,
"delta": 25,
"metrics": [
"0 compliance violations",
"All 5 content fields populated"
],
"components": [
{ "name": "Compliance", "score": 100, "weight": 0.60, "source": "lqs" },
{ "name": "Content Completeness", "score": 95, "weight": 0.40, "source": "default" }
]
}
}
}
}7. Grading Scale
8. Implementation Notes
- Compute LBS at the start of listing creation (before optimization). Store as a snapshot.
- Compute LQS at the end of listing creation (after optimization). This already exists.
- Compute the 3 pillar scores from LQS dimensions using the weighted formulas above.
- If LBS exists, compute baseline pillar scores using the proxy mapping and calculate deltas.
- Generate the customer-facing metric strings from the raw scoring data (counts, percentages).
- Add the
customer_reportblock to the pipeline output JSON. - Content Completeness post-optimization: use a fixed value of 95 (all fields are populated during creation).