Engineer Brief

LQS Customer Report -- Technical Requirements

View Demo

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.

DimensionWeightWhat it measuresData needed
Content Completeness20%Are all 5 bullets filled? Title right length? Description present?Raw content only
Readability25%Flesch reading ease, bullet format, title structureRaw content only
Proof & Credibility15%Numbers, measurements, certifications, comparisonsRaw content only
Compliance15%Amazon formatting rules, prohibited contentRaw content only
Keyword Signals15%Word diversity, title density, stuffing detectionRaw content only
Persuasion Structure10%Benefit-led bullets, emotional language, CTA signalsRaw 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).

DimensionWeightWhat it measuresData needed
Keyword Optimization25%Coverage of approved keywords, title placement, tier alignmentApproved keyword list
USP Effectiveness20%USP coverage, differentiation vs competitors, proof strengthApproved USPs + competitors
Readability15%Flesch reading ease, bullet format, title structureContent only (same as LBS)
Competitive Position15%Keyword uniqueness, value prop uniqueness vs competitorsCompetitor data
Customer Alignment15%Intent theme coverage, pain point addressingIntent themes
Compliance10%Banned terms, Amazon formatting rulesContent 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.40

Pillar 2: Conversion Readiness

"Will shoppers buy once they find you?"

= USP Effectiveness x 0.35 + Readability x 0.30 + Customer Alignment x 0.35

Pillar 3: Listing Health

"Is your listing safe from suppression?"

= Compliance x 0.60 + Content Completeness x 0.40

Note: 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:

PillarBefore (LBS source)After (LQS source)
Search VisibilityKeyword Signals x 60% + default 50 x 40%Keyword Optimization x 60% + Competitive Position x 40%
Conversion ReadinessPersuasion x 35% + Readability x 30% + Proof x 35%USP Effectiveness x 35% + Readability x 30% + Customer Alignment x 35%
Listing HealthCompliance 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:

PillarExample MetricsSource 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

A
90-100
B
80-89
C
70-79
D
60-69
F
0-59

8. Implementation Notes

  1. Compute LBS at the start of listing creation (before optimization). Store as a snapshot.
  2. Compute LQS at the end of listing creation (after optimization). This already exists.
  3. Compute the 3 pillar scores from LQS dimensions using the weighted formulas above.
  4. If LBS exists, compute baseline pillar scores using the proxy mapping and calculate deltas.
  5. Generate the customer-facing metric strings from the raw scoring data (counts, percentages).
  6. Add the customer_report block to the pipeline output JSON.
  7. Content Completeness post-optimization: use a fixed value of 95 (all fields are populated during creation).