Skip to main content

Friction Detection

Rise automatically identifies where users get stuck, confused, or frustrated.

What is Friction?

Friction is any resistance users encounter when trying to accomplish their goals:

  • Dead clicks - Clicking on non-interactive elements
  • Rage clicks - Rapidly clicking the same element repeatedly
  • Confusion loops - Repeating the same sequence (A→B→A→B)
  • Backtracking - Going back and forth, undoing progress
  • Idle time - Long pauses (uncertainty, reading error messages)
  • Dead-ends - Paths that don't lead to goal completion

Friction Index (FI)

Rise calculates a friction score for each workflow, page, or user segment:

FI = weighted_score(
dead_clicks × 1.0 +
rage_clicks × 2.0 +
loops × 1.5 +
backtracking × 1.2 +
idle_time × 0.8 +
dead_ends × 2.5
)

Interpretation:

  • FI < 2.0: Low friction (smooth experience)
  • FI 2.0-5.0: Moderate friction (some rough edges)
  • FI 5.0-8.0: High friction (significant issues)
  • FI > 8.0: Severe friction (major UX problems)

Friction Signals

Dead Clicks

Clicking on elements that aren't actually clickable:

Example:

Element: Text label "Export" (looks like link, but isn't)
Dead clicks: 124 in past week
Users affected: 89

Insight: Users think it's clickable. Make it a button or change styling.

Rage Clicks

Rapidly clicking the same element (frustration):

Example:

Element: "Submit" button (disabled during processing)
Rage click sessions: 67
Avg clicks in rapid succession: 8.2

Insight: No loading indicator. Users think it's broken.
Solution: Add spinner/disable state with "Processing..." message

Confusion Loops

Repeating the same navigation sequence:

Example:

Pattern: Settings → Profile → Settings → Profile → Settings
Frequency: 156 users (12%)
Avg repetitions: 3.4

Insight: Users looking for something, can't find it.
Investigation: Looking for "Change Password" which is in Account, not Profile or Settings.
Solution: Consolidate account management or add breadcrumbs.

Backtracking

Going backwards, undoing progress:

Example:

Workflow: Create Report → Select Template → [Back] → Create Report → Select Template
Frequency: 23% of report creation attempts

Insight: Users unsure about template choice. Preview not clear enough.
Solution: Add template preview/comparison before selection.

Idle Time

Long pauses indicating uncertainty:

Example:

Page: Export Format Selection
Avg time on page: 2m 45s
Expected time: 15s

Idle time analysis:
- 78% of users pause 30s+ before selecting
- 34% read help text
- 12% return to this page multiple times

Insight: Format options unclear. Users unsure which to choose.
Solution: Add format descriptions, common use cases, or smart default.

Dead-Ends

Users reach a point where they can't proceed:

Example:

Path: Dashboard → Reports → Filter by Date → [Empty Result] → Exit
Frequency: 234 sessions
Exit rate: 87% (they give up)

Insight: Date filters returning no data. Users don't know how to fix.
Solution: Show helpful message "No data for this period. Try [Last 30 Days]"

Friction Heatmaps

Visual overlay showing friction hotspots:

Page-Level Heatmap

Reports Page:
🟢 Dashboard link - FI: 0.2 (smooth)
🟢 Templates - FI: 0.8 (good)
🟡 Custom builder - FI: 3.2 (moderate)
🔴 Advanced options - FI: 7.8 (high friction!)
🔴 Save button - FI: 6.5 (often missed/unclear)

Action: Investigate red zones first.

Workflow Heatmap

Signup Flow:
Step 1 (Email): FI 1.2 🟢
Step 2 (Password): FI 2.1 🟢
Step 3 (Company): FI 8.9 🔴 ← BIG PROBLEM
Step 4 (Role): FI 1.8 🟢
Step 5 (Complete): FI 0.5 🟢

Insight: Step 3 (Company) has severe friction. 61% drop-off at this step.

Investigation:

Company Field Issues:
- Autocomplete failing: 45% of attempts
- Validation errors: "Company name too short" (confusing)
- Users trying to skip: 67% (but it's required)

Solutions:
1. Fix autocomplete API
2. Make field optional
3. Clarify why it's needed
4. Pre-fill from email domain

Contextual Friction Analysis

Rise shows why friction occurs:

Example: Export Button Friction

Observation: Export button has FI 5.2 (high)

Contextual Breakdown:

When data present on screen:
- FI: 1.8 (low friction) ✅
- Success rate: 92%

When NO data (empty state):
- FI: 12.4 (severe friction!)
- Confusion: Users click, get error, don't understand
- Dead clicks: 89
- Rage clicks: 34
- Success rate: 8%

Insight: Button should be disabled when no data, with tooltip explaining why.

Example: Search Friction

Observation: Search has FI 6.8 (high)

Contextual Breakdown:

Zero results searches: 42% of all searches

Common zero-result searches:
- "reports" (page is called "Analytics")
- "export" (button labeled "Download")
- "settings" (in different location)

Insight: Terminology mismatch between users' mental models and UI labels.

Solutions:
1. Add search synonyms
2. Update UI labels to match common terms
3. Show "Did you mean...?" suggestions

Friction Alerts

Rise alerts you to new or increasing friction:

Real-Time Alerts

🔴 Alert: High friction detected
Page: Checkout
FI increased from 2.1 → 8.7 (↑314%)
Started: 2 hours ago
Users affected: 67

Top signals:
- Rage clicks on "Pay Now" button: 45 instances
- Error messages: "Card declined" (but payment actually processing)

Likely cause: Payment processor latency increased
Recommended action: Add better loading state, timeout handling

Trend Alerts

⚠️ Alert: Friction trending up
Workflow: Report Creation
FI: 3.2 → 4.8 (↑50%) over past 7 days

Contributing factors:
- Template selection confusion (↑80%)
- Backtracking increased (↑45%)

Possible cause: New templates added, but poor organization
Recommended action: Reorganize templates, add search/filter

Segment-Specific Friction

Different users experience different friction:

By User Type

Export Workflow FI:

Power Users: 1.2 (know exactly what to do)
Regular Users: 4.5 (some confusion)
New Users: 9.1 (high confusion)

Insight: New users need guidance. Create Rise Job targeting them.

By Device

Checkout Flow FI:

Desktop: 2.8 (acceptable)
Mobile: 7.9 (high!)

Insight: Mobile UX needs work. Form doesn't fit screen, typing errors common.

By Context

Report Creation FI:

With data: 3.2 (normal)
Without data (empty state): 11.8 (severe!)

Insight: Empty state experience is terrible. Guide users to populate data first.

Reducing Friction with Rise

Automated Interventions

Rise can automatically help when friction detected:

Scenario 1: Loop Detected

User: Settings → Profile → Settings → Profile

Rise intervention:
"Looking for something? I can help you find it."
[Chat opens with context-aware assistant]

Scenario 2: Dead Clicks

User: Clicks non-interactive "Export" label 3 times

Rise intervention:
[Highlight actual Export button]
"Export is here! Click to download your data."

Scenario 3: Idle Time

User: On "Select Format" page for 90 seconds

Rise intervention:
"Not sure which format? CSV works great with Excel and Google Sheets."
[Suggests most common choice based on user type]

Friction-Based Jobs

Create Jobs targeting high-friction areas:

Job: "Streamline Export"
Target: Users with FI > 6.0 on export workflow
Goal: Reduce friction, increase completion
Actions:
- Pre-select common format
- Auto-fill date range (last 30 days)
- Skip optional fields
- One-click export

Measuring Friction Reduction

Track improvement over time:

Before/After Comparison

Report Creation Workflow:

Before Rise intervention:
- FI: 6.8
- Completion rate: 52%
- Avg time: 5m 40s
- User satisfaction (NPS): -5

After Rise intervention (2 weeks):
- FI: 2.9 (↓57%) ✅
- Completion rate: 78% (↑26pp) ✅
- Avg time: 3m 10s (↓44%) ✅
- User satisfaction (NPS): +18 (↑23) ✅

Next Steps