Skip to content
Academy
Marketing Academy · Field Work●Product Marketing
CoreBuild the Asset· 50 minutes

Build a Battlecard From a Raw Competitive Signal Dataset

Warby Parker

Objective: Given a raw 25-row signal dataset (pricing page snapshots, G2 review excerpts, job postings, a press release) for a named competitor, run it through the lesson's 4-stage CI system to produce a complete one-page battlecard.

You're the PMM at Warby Parker standing up a CI program for a direct online eyewear competitor. Sales has never had a battlecard for this rival and is currently improvising answers on live calls.

Move the raw dataset through Collection, Analysis, and Activation exactly as the lesson's stages define them, ending in a battlecard reps can open during a call.

Before you start

What you'll need

Free path (everything below is enough to finish)

FreeSort raw signals by source category and run the analysis pass

Free, handles a 25-row dataset with filtering and a second analysis tab

FreeWrite the final one-page battlecard

Free, shareable, easy for sales enablement to pull into a CRM-linked doc

The process

3 steps

Step 01 of 03

Sorting raw signals into the four collection source categories

The lesson's Stage 1 groups raw signals into primary sources (win/loss interviews), secondary digital sources (pricing pages, job boards, filings), community sources (G2, Reddit), and signal sources (job postings, conference abstracts).

The dataset has 6 G2 review excerpts and 4 job postings mixed together in one column. Which source category does each belong to, and does that change how much you trust it?

Google Sheets— Import raw-signals-25.csv, add a Source Category column.

Procedure

  1. Import raw-signals-25.csv (25 rows: raw text, source URL, date)
  2. Tag each row's source category: primary, secondary digital, community, or signal
  3. Sort the sheet by category to group all 6 G2 excerpts and 4 job postings together
Sample output
Category counts after sort:
  Secondary digital: 9 rows (pricing pages, press releases)
  Community: 6 rows (G2 excerpts)
  Signal: 4 rows (job postings)
  Primary: 6 rows (win/loss interview notes)

Healthy

Every row gets exactly one category and the counts are visible before analysis starts.

Unhealthy

Treating all 25 rows as equally weighted evidence regardless of source type.

What this means

Source category previews how much weight a signal deserves before you've even read it closely.

So what do I do about it?

SymptomActionEffort
The battlecard cites a Reddit comment with the same confidence as a filed press releaseAdd the source category next to every citation in the battlecard draft5 min
YouYou can do this yourself, no engineering access required.

Step 02 of 03

Answering what changed, why, and what it means during analysis

The lesson's Stage 3 requires analysis to answer three questions in order: what changed, why did it change, and what does it mean for our positioning, pricing, or roadmap.

The 4 job postings are all for 'AR/3D Engineer' roles posted in the same month. What changed, and what's the most defensible 'why' given only this dataset?

Google Sheets— Same sheet, new tab: Analysis.

Procedure

  1. For the job-posting cluster, write one line each for what changed, why (most likely explanation), and what it means for the roadmap
  2. Cross-reference the G2 review theme rows against the job-posting finding to see if they support or contradict it
  3. Flag any conclusion that rests on a single row as low-confidence
Sample output
WHAT CHANGED: 4 AR/3D engineering roles posted within one month (signal source)
WHY: Likely building a virtual try-on feature, not just headcount growth (matches a G2 review theme: 'wish I could try glasses on virtually')
MEANS: Expect a virtual try-on launch within 1-2 quarters; do not position virtual try-on as our exclusive advantage in new battlecards

Healthy

The 'why' cites at least two independent rows, not one job posting alone.

Unhealthy

Jumping straight from 'what changed' to 'what it means,' skipping the why entirely.

What this means

Skipping the why step is how a battlecard ends up confidently wrong about a competitor's intent.

So what do I do about it?

SymptomActionEffort
Two analysts read the same 4 job postings and reach opposite conclusionsRequire every why to cite a second, independent signal row before it ships30 min
YouYou can do this yourself, no engineering access required.

Step 03 of 03

Structuring a battlecard for the moment a rep opens it mid-call

The lesson's Stage 4 defines a battlecard as a one-page document covering positioning, strengths, weaknesses, common objections, and recommended counter-moves, built to be opened and used inside a live deal.

Given the Step 2 analysis and the 6 win/loss interview rows, which single objection should sit at the top of the battlecard's 'Objections' section?

Google Docs— New one-page doc: five labeled sections matching the lesson's battlecard structure.

Procedure

  1. Count how often each objection theme appears across the 6 win/loss rows, rank the most frequent one first
  2. Write a one-line counter-move for the top 3 objections, each under 20 words
  3. Add the Step 2 job-posting finding as a single 'watch for' line, not a full paragraph
Sample output
OBJECTIONS (ranked by win/loss frequency)
1. 'Their frames are $20 cheaper' (4 of 6 losses) -> Counter: Our Buy-a-Pair-Give-a-Pair story plus free adjustments for life
2. 'They have more store locations' (2 of 6 losses) -> Counter: Free home try-on removes the need for a store visit

WATCH FOR: Virtual try-on launch likely within 1-2 quarters (see Analysis)

Healthy

The top objection on the card matches the most frequent reason reps actually lose deals.

Unhealthy

Leading the battlecard with the competitor's weakest, least-cited objection because it's the easiest one to write a counter for.

What this means

A battlecard's ranking order is itself a claim about what costs the most deals, rank it from evidence, not from what's easy to answer.

So what do I do about it?

SymptomActionEffort
Reps say the battlecard doesn't address the objection they actually hear mostRe-rank the Objections section against fresh win/loss interview counts every quarter30 min
YouYou can do this yourself, no engineering access required.

Final deliverable

A tagged 25-row signal sheet, a written analysis (what/why/means) for the highest-signal finding, and a complete one-page battlecard with a ranked Objections section.

See a reference example
Sample output
Lenskart competitor battlecard (excerpt)

POSITIONING: Positions as the budget online-only option, no physical stores
STRENGTHS: Lower base price, fast shipping
WEAKNESSES: No try-before-you-buy, single-item returns only
OBJECTIONS
1. 'They're cheaper' (5 of 7 losses) -> Counter: our home try-on removes the fit risk that makes cheap glasses a gamble
WATCH FOR: 3 supply-chain roles posted this month, possible in-house manufacturing push

Success criteria

You're done when you can:

  • Objections section is ranked by actual win/loss frequency, not by ease of writing a counter
  • The job-posting-based finding cites at least one independent corroborating signal in the analysis