Use this when you need to systematically compare the user experience of your product against competitors -- not just feature lists, but how well each product handles real user tasks. Produces a structured benchmark: task-flow walkthroughs, friction-point inventory, scoring framework, and actionable gap analysis. This is the UX layer on top of feature-parity analysis -- it answers "who does it best?" not just "who has it?"
Related skills: For feature and market comparison without UX depth, use
/competitive-analysis. For evaluating your own product's UX without competitor context, use/ux-audit. Findings feed into/journey-mapfor mapping your users' experience against competitive alternatives. References method selection inpractices/user-centered-design/research-ops-method-chooser.md.
Process
Step 1: Gather inputs
Ask the user to provide:
- Your product -- what are you benchmarking? (Product name, the specific experience area being compared.)
- Competitors -- which products to benchmark against? (3-5 is ideal. More than 6 becomes unwieldy.)
- Key user tasks -- what tasks matter most? (e.g., "Complete onboarding," "Find and purchase a product," "Resolve a support issue.") These should be tasks your users actually do, not internal feature names.
- User perspective -- whose eyes are you seeing through? (New user, power user, admin, specific persona.)
- Decisions this informs -- what will change based on the results? (Roadmap priorities, design direction, competitive positioning.)
- Access -- do you have accounts/access to all competitor products? (Note any you can only evaluate from marketing materials or screenshots.)
Step 2: Define evaluation framework
## Competitive UX Benchmark -- (Domain, date)
### Products being compared
| # | Product | Access level | Notes |
|---|---|---|---|
| 1 | (Your product) | Full access | Baseline |
| 2 | (Competitor A) | (Full / Trial / Screenshots only) | |
| 3 | (Competitor B) | | |
| 4 | (Competitor C) | | |
### Tasks being evaluated
| # | Task | Why it matters | User perspective |
|---|---|---|---|
| 1 | (e.g., "Sign up and complete onboarding") | (First impression, activation) | (New user) |
| 2 | (e.g., "Find and configure [key feature]") | (Core value delivery) | (Active user) |
| 3 | (e.g., "Recover from an error") | (Trust and reliability) | (Any user) |
| 4 | (e.g., "Get help when stuck") | (Support experience) | (Frustrated user) |
| 5 | (e.g., "Invite a teammate") | (Growth/collaboration) | (Admin) |
### Evaluation dimensions
| Dimension | What to assess | Scale |
|---|---|---|
| Discoverability | Can the user find the feature/action without help? | 1-5 |
| Efficiency | How many steps to complete the task? How long does it take? | 1-5 |
| Clarity | Is the interface self-explanatory? Are labels clear? | 1-5 |
| Error handling | What happens when something goes wrong? Can the user recover? | 1-5 |
| Delight | Does anything surprise positively? Polish, animation, microcopy? | 1-5 |
Step 3: Walk each task flow
For each product and each task, document the complete experience:
### Task flow: (Task name)
#### (Product name)
**Steps taken:**
1. (Action -- e.g., "Clicked 'Get Started' on homepage")
2. (Action -- e.g., "Entered email, clicked 'Continue'")
3. (Action -- e.g., "Redirected to onboarding wizard, 4 steps")
4. ...
**Step count:** (Total steps to completion)
**Estimated time:** (How long the task took)
**Dead ends:** (Any points where the path was unclear or wrong)
**Friction points:**
- (Friction -- e.g., "Password requirements not shown until after submission")
- (Friction -- e.g., "Had to scroll past 3 screens of upsell before reaching the feature")
**Bright spots:**
- (Delight -- e.g., "Auto-detected timezone and pre-filled settings")
- (Delight -- e.g., "Inline help tooltip exactly where needed")
**Screenshots:** (Reference any captured screenshots -- e.g., "See: onboarding-step-3.png")
**Scores:**
| Dimension | Score (1-5) | Notes |
|---|---|---|
| Discoverability | | |
| Efficiency | | |
| Clarity | | |
| Error handling | | |
| Delight | | |
Task walkthrough rules:
- Walk each task as the target user would -- don't use shortcuts you know because you're a product person.
- Document every step, including missteps. Wrong paths are data.
- Take screenshots at key moments: confusion points, error states, delight moments.
- Note what's absent, not just what's present. Missing features, missing feedback, missing help.
- Time yourself. Efficiency differences across products are powerful data.
Step 4: Score and compare
### Comparative scorecard
#### Task: (Task name)
| Dimension | Your product | Competitor A | Competitor B | Competitor C |
|---|---|---|---|---|
| Discoverability | (1-5) | (1-5) | (1-5) | (1-5) |
| Efficiency | | | | |
| Clarity | | | | |
| Error handling | | | | |
| Delight | | | | |
| **Task average** | | | | |
#### Overall scores (across all tasks)
| Product | Avg score | Strongest dimension | Weakest dimension |
|---|---|---|---|
| (Your product) | | | |
| (Competitor A) | | | |
| (Competitor B) | | | |
| (Competitor C) | | | |
Step 5: Identify patterns and gaps
### Gap analysis
**Where competitors beat you:**
- (Gap -- e.g., "Competitor A's onboarding takes 3 steps vs. our 7. They skip optional configuration and let users set it later.")
- (Gap -- include specific evidence from task walkthroughs)
**Where you lead:**
- (Strength -- e.g., "Our error messages include recovery actions. Competitor B shows generic errors.")
- (Strength -- include specific evidence)
**Industry-wide friction:**
- (Pattern -- e.g., "All products struggle with permission management. No one does this well.")
- (Pattern -- shared problems are opportunities for differentiation)
**Emerging patterns:**
- (Trend -- e.g., "Competitors B and C have shifted to progressive onboarding. We still use a wizard.")
- (Trend -- competitive convergence signals user expectations are shifting)
Step 6: Produce recommendations
### Recommendations
**Quick wins (low effort, clear competitive gap):**
1. (Recommendation -- e.g., "Add inline validation to sign-up form -- Competitor A does this, reduces friction")
2. (Recommendation)
**Strategic investments (higher effort, significant competitive advantage):**
1. (Recommendation -- e.g., "Redesign onboarding to progressive disclosure model -- 3 competitors have moved here")
2. (Recommendation)
**Defend (you lead here, don't regress):**
1. (Strength to protect -- e.g., "Error handling quality is a differentiator. Maintain this bar in new features.")
**Monitor (not urgent but trending):**
1. (Trend -- e.g., "Two competitors adding AI-assisted setup. Watch adoption signals.")
### Priority matrix
| Recommendation | Impact on UX gap | Effort | Priority |
|---|---|---|---|
| (Recommendation 1) | High / Medium / Low | High / Medium / Low | (P1/P2/P3) |
| (Recommendation 2) | | | |
Step 7: Review and validate
Ask the user:
- Are the tasks representative of real user goals? (Not internal feature names.)
- Did you walk each competitor's flow yourself, or rely on documentation? (First-hand experience is essential.)
- Are the scores calibrated? (Would another reviewer score similarly? Consider having two people score independently.)
- Do the recommendations connect to business decisions? (A benchmark without action is a report that collects dust.)
- Should you validate the biggest gaps with user testing? (Your assessment of "better UX" may not match user perception.)
Benchmarking rules
- Benchmark tasks, not features. Feature comparison is a spreadsheet. UX benchmarking is walking the experience.
- Score honestly. The point is to learn, not to confirm that your product is best. If a competitor does something better, say so clearly.
- Context matters. A competitor's simpler flow might be simpler because they support fewer use cases. Note the tradeoffs.
- Screenshots are evidence. A scorecard without screenshots is opinion. Screenshots make the benchmark shareable and credible.
- Repeat periodically. Competitors ship constantly. A benchmark from 6 months ago is stale. Schedule quarterly or semi-annual refreshes.
- Don't copy blindly. Competitors make UX mistakes too. Benchmark to learn, then design for your users.
Output location
Present the benchmark as formatted text in the conversation. The user adapts it into a slide deck, Notion doc, or research repository entry. Pair with /research-readout for stakeholder presentation.
Example Output
Input
- Your product: Notion — benchmarking the "Create and share a document with an external collaborator" experience
- Competitors: Confluence, Google Docs, Coda, Dropbox Paper
- Key user tasks: (1) Create a new document and invite an external guest, (2) Format content with headings/tables/embeds, (3) Recover from a broken or expired share link
- User perspective: New user at a 50-person B2B SaaS company, comfortable with tools but not a power user
- Decisions this informs: Q3 roadmap prioritization for Notion's sharing and permissions redesign; positioning against Confluence in mid-market sales
- Access: Full accounts for Notion, Google Docs, Coda; Confluence Cloud trial (limited admin); Dropbox Paper full access
Output
Competitive UX Benchmark — Document Sharing Experience, July 2025
Products being compared
| # | Product | Access level | Notes |
|---|---|---|---|
| 1 | Notion | Full access | Baseline |
| 2 | Google Docs | Full access | |
| 3 | Coda | Full access | |
| 4 | Confluence Cloud | Trial (limited admin) | Guest permissions partially restricted in trial |
| 5 | Dropbox Paper | Full access |
Tasks being evaluated
| # | Task | Why it matters | User perspective |
|---|---|---|---|
| 1 | Create a doc and invite an external guest | Core activation moment; determines first sharing success | New user |
| 2 | Format content with headings, a table, and an embed | Everyday value delivery; measures editing efficiency | Active user |
| 3 | Recover from a broken or expired share link | Trust and reliability; high-stakes for external collaboration | Frustrated user / guest recipient |
Evaluation dimensions
| Dimension | What to assess | Scale |
|---|---|---|
| Discoverability | Can user find the sharing action and guest invite without help? | 1–5 |
| Efficiency | Steps and time to complete the task end-to-end | 1–5 |
| Clarity | Are labels, permissions options, and states self-explanatory? | 1–5 |
| Error handling | What happens when a link breaks or invite fails? Can user recover? | 1–5 |
| Delight | Microcopy, animations, smart defaults that reduce cognitive load | 1–5 |
Task Flows
Task 1: Create a doc and invite an external guest
Notion
Steps taken:
- Clicked "+ New page" in sidebar
- Typed page title, pressed Enter
- Clicked "Share" button (top-right)
- Typed guest email in "Invite" field
- Selected permission level from dropdown (Can view / Can comment / Can edit / Full access)
- Clicked "Invite" — received confirmation toast
Step count: 6 Estimated time: ~55 seconds Dead ends: Permission dropdown labels ("Full access" vs. "Can edit") caused a 10-second pause — distinction is unclear to new users
Friction points:
- "Full access" vs. "Can edit" labels are not explained inline; new users cannot differentiate without reading help docs
- No confirmation email preview — user doesn't know what the guest will receive
- Workspace-level guest limits are not surfaced until after invite is sent and fails on free plan
Bright spots:
- Share button is consistently visible in the top bar regardless of page depth
- Invite confirmation toast includes the guest's name and permission level
Scores:
| Dimension | Score | Notes |
|---|---|---|
| Discoverability | 4 | Share button prominent; invite field intuitive |
| Efficiency | 4 | 6 steps is competitive; no unnecessary screens |
| Clarity | 2 | Permission label ambiguity is a real blocker for new users |
| Error handling | 2 | Plan-limit failure surfaces after the fact with no inline warning |
| Delight | 3 | Confirmation toast is helpful; no other standout moments |
Google Docs
Steps taken:
- Opened Drive, clicked "+ New → Google Doc"
- Doc opened immediately with autosave active
- Clicked "Share" button (top-right, blue)
- Typed guest email in "Add people and groups" field
- Selected Editor / Commenter / Viewer from dropdown
- Toggled "Notify people" (on by default)
- Clicked "Send"
Step count: 7 Estimated time: ~45 seconds Dead ends: None
Friction points:
- Extra step to toggle notification preference adds minor friction
- Share dialog is a modal overlay that obscures document context
Bright spots:
- Permission labels (Viewer / Commenter / Editor) are industry-standard and immediately understood
- "Notify people" toggle with email preview is excellent — user knows exactly what guest will see
- Link-sharing defaults shown in same dialog without a second click
Scores:
| Dimension | Score | Notes |
|---|---|---|
| Discoverability | 5 | Blue "Share" button is highly visible; zero ambiguity |
| Efficiency | 4 | One extra step vs. Notion but overall fast |
| Clarity | 5 | Permission labels are best-in-class; tooltip on hover for each role |
| Error handling | 4 | Domain restrictions surfaced inline before send |
| Delight | 3 | Functional but no moments of surprise |
Coda
Steps taken:
- Clicked "+ New doc" from dashboard
- Doc opened in editor
- Clicked "Share" (top-right)
- Selected "Invite people" tab (two tabs: Invite / Share link — caused momentary confusion)
- Typed guest email
- Selected "Can view" / "Can comment" / "Can edit"
- Added optional message
- Clicked "Invite"
Step count: 8 Estimated time: ~70 seconds Dead ends: Two-tab share dialog ("Invite people" vs. "Share link") caused 15-second hesitation — not obvious which to use for external guests
Friction points:
- Two-tab structure in share dialog splits a task users think of as one action
- No indication of what "Doc maker" permission level means to a guest
- Optional message field increases visual complexity without clear value for basic invites
Bright spots:
- Confirmation shows guest avatar and permission badge — clear summary state
- Share link and invite in same dialog (just tabbed) means no hunting through menus
Scores:
| Dimension | Score | Notes |
|---|---|---|
| Discoverability | 3 | Share button visible but dialog structure is confusing |
| Efficiency | 3 | 8 steps; tab confusion adds meaningful time |
| Clarity | 3 | Permission labels mid-tier; "Doc maker" unexplained |
| Error handling | 3 | Basic error states present; no plan-limit warnings |
| Delight | 3 | Guest avatar confirmation is a nice touch |
Confluence Cloud (trial access — limited admin)
Steps taken:
- Clicked "Create" → selected "Blank page" template
- Typed title, clicked "Publish" (required before sharing)
- Clicked "Share" icon in page header
- Entered email — prompted to choose between "Guest" and "Confluence user"
- Selected "Guest"
- Received warning: "Guests can only access this space if guest access is enabled by an admin"
- Exited flow to find Space Settings → Permissions → Guest Access toggle
- Returned to page, re-opened Share, re-entered email
- Clicked "Send invite"
Step count: 9 (12 including the admin detour) Estimated time: ~4 minutes (including admin detour) Dead ends: Major — guest access requires admin enablement, with no graceful path for non-admin users. Flow effectively broken for new users without admin rights.
Friction points:
- Must publish page before sharing — creates a premature publish risk for draft content
- Guest access gating behind admin settings is invisible until mid-flow failure
- No proactive prompt to request admin enablement; user must self-navigate
- Re-entering email after fixing settings is unnecessary friction
Bright spots:
- Once configured, permission options are detailed and well-labeled
- Space-level guest access model is powerful for IT-controlled environments
Scores:
| Dimension | Score | Notes |
|---|