position-competitor

Maps competitors onto a two-axis positioning landscape with orthogonality tests and whitespace analysis.

4|1|Updated Jul 30, 2026
One-click install
npx skills add https://github.com/radarist/structured-analytic-skills --skill position-competitor-radarist
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: position-competitor
Source: https://github.com/radarist/structured-analytic-skills/tree/main/skills/position-competitor
Command: npx skills add https://github.com/radarist/structured-analytic-skills --skill position-competitor-radarist

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve? Competitive landscape maps often become logo grids that assert nothing: axes measure the same thing twice, placements rest on impressions, and empty regions get labeled opportunities without evidence. This Skill enforces a disciplined method — descended from Porter's strategic-group maps — that tests axis independence, demands an evidence sentence per placement, and forces an explicit judgement on whether whitespace is untried or unviable. ## Core Features & Use Cases - Axis selection and orthogonality testing: Choose a material, measurable axis pair and verify independence with Pearson r and Spearman rho via the companion script, with a correlation matrix that catches same-variable traps like headcount versus integration depth. - Evidence-backed placement and quadrant reading: Place three or more entities with one sourced evidence sentence each, then read quadrant crowding, nearest-neighbour distances, and weighted centroids. - Whitespace argumentation: Rank empty grid regions by distance from the nearest competitor and state explicitly whether each is untried or unviable, plus stability checks via axis-swap and three-year back-cast. - Use Case: A product lead asks where their API platform sits versus two incumbents and an open-source challenger. The Skill scores all four on integration depth and frontier quality, confirms the axes are independent (r < 0.4), maps the quadrants, and concludes whether the empty premium mid-market region is a real opening or structurally unprofitable. ## Quick Start Ask the assistant to build a competitive positioning map of your category's vendors on two justified axes, with evidence per placement and a verdict on any empty quadrant.

Frequently Asked Questions about position-competitor

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build a competitive positioning map or 2x2 landscape?▼

Choose two axes that are material to buyers, measurable from evidence, and independent of each other, then score each competitor on both. Place each entity with one sourced evidence sentence, read the quadrants and crowding, and argue whether empty regions are untried or unviable.

How do I test whether my 2x2 axes are independent?▼

Score every competitor on both axes and compute the Pearson correlation between the two score vectors. The companion script flags |r| at or above 0.7 as not independent, 0.4 to 0.7 as caution, and below 0.4 as acceptable, and prints a correlation matrix over extra numeric columns.

When should I use a positioning map instead of five forces analysis?▼

Use a positioning map when the question is where specific rivals sit relative to each other within a category. Use five forces analysis when the question is industry-level structure and profitability, such as supplier power, entry barriers, and substitutes.

What are the limitations of a two-axis competitive map?▼

The map needs at least three entities, goes stale quickly in hypergrowth markets, and only shows variance along the two chosen axes. Quadrant labels like leaders are positions on chosen axes, not verdicts on the business, and placements without evidence are marked weak.

Does the positioning script require external Python packages?▼

No, the companion script uses only the Python standard library and runs on Python 3.9 or later. It accepts CSV or JSON input with name, x, and y columns plus optional weight, evidence, and extra numeric columns.