# Opportunity Score vs ICE vs RICE: Product Prioritization Frameworks Explained

> Understand Opportunity Score ICE and RICE frameworks to prioritize product initiatives effectively. Learn how importance satisfaction reach and effort ratings guide your decisions.

- Repository: [Pawel Huryn/pm-skills](https://github.com/phuryn/pm-skills)
- Tags: deep-dive
- Published: 2026-06-15

---

**Opportunity Score identifies high-value customer problems using importance and satisfaction gaps, ICE adds confidence and ease ratings for rapid initiative triage, and RICE introduces reach and effort metrics for detailed resource allocation in larger teams.**

The **phuryn/pm-skills** repository documents these three prioritization frameworks extensively across its product discovery and execution modules. Understanding the distinctions between **Opportunity Score vs ICE vs RICE** enables product managers to select the appropriate scoring method based on whether they are evaluating problems to solve or initiatives to ship.

## What is Opportunity Score?

**Opportunity Score** is a problem-first metric designed to evaluate how valuable solving a specific customer problem would be. According to the source documentation in [`pm-product-discovery/skills/prioritize-features/SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/pm-product-discovery/skills/prioritize-features/SKILL.md), the formula follows Dan Olsen’s approach:

```

Opportunity Score = Importance × (1 − Satisfaction)

```

Both **Importance** and **Satisfaction** are normalized values between 0 and 1, derived from customer research. A high score indicates the problem is both critical to users and currently underserved by existing solutions. This framework excels during the discovery phase when the goal is determining *what* to build rather than sequencing specific features.

## What is ICE?

**ICE** extends Opportunity Score to rank specific initiatives, features, or experiments. As documented in [`pm-product-discovery/skills/prioritize-assumptions/SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/pm-product-discovery/skills/prioritize-assumptions/SKILL.md), the formula multiplies three factors:

```

ICE = Impact × Confidence × Ease

```

Where **Impact** is calculated as `Opportunity Score × Number of Customers affected`. **Confidence** and **Ease** are typically rated on a 1-10 scale based on team assessment. ICE is optimized for small teams requiring fast, rough prioritization without extensive estimation overhead. The multiplicative nature means any factor scoring zero eliminates the initiative from consideration, creating a natural filter.

## What is RICE?

**RICE** provides granular scoring for complex prioritization decisions. The framework splits ICE’s impact component into separate **Reach** and **Impact** dimensions, and divides by **Effort** rather than multiplying by ease. The formula from [`pm-execution/skills/prioritization-frameworks/SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/pm-execution/skills/prioritization-frameworks/SKILL.md) is:

```

RICE = (Reach × Impact × Confidence) ÷ Effort

```

- **Reach**: Number of users or events affected per time period (e.g., users/quarter)
- **Impact**: Magnitude of benefit per user (often the same Opportunity Score value)
- **Confidence**: Percentage or 1-10 scale reflecting estimate certainty
- **Effort**: Person-weeks or months required

RICE is best suited for larger teams needing to differentiate between breadth of impact (reach) and depth of impact (satisfaction gap), while accounting for resource constraints through the effort denominator.

## Key Differences Between the Frameworks

The **phuryn/pm-skills** source code reveals three critical distinctions when comparing these methodologies:

1. **Target of evaluation**: Opportunity Score evaluates *problems*, while ICE and RICE evaluate *initiatives* or solutions.

2. **Mathematical approach**: Opportunity Score and ICE use multiplication, rewarding extreme values in any dimension. RICE uses division by effort, penalizing high-cost initiatives explicitly.

3. **Data requirements**: 
   - **Opportunity Score** requires customer survey data (importance/satisfaction)
   - **ICE** requires customer count estimates and team ratings
   - **RICE** requires temporal reach metrics and detailed effort estimation

4. **Team size suitability**: ICE favors small teams moving quickly; RICE supports larger organizations requiring reach differentiation and effort accountability.

## How to Calculate Each Score

Here is a Python implementation illustrating the calculation logic for all three frameworks based on the mathematical definitions in the repository:

```python
def opportunity_score(importance, satisfaction):
    """
    Calculate problem value.
    importance: 0-1 scale from customer research
    satisfaction: 0-1 scale from customer research
    """
    return importance * (1 - satisfaction)

def ice_score(opportunity, customers, confidence, ease):
    """
    Calculate initiative priority for small teams.
    opportunity: Result from opportunity_score()
    customers: Number of customers affected
    confidence: 1-10 scale
    ease: 1-10 scale
    """
    impact = opportunity * customers
    return impact * confidence * ease

def rice_score(reach, impact, confidence, effort):
    """
    Calculate initiative priority for larger teams.
    reach: Users per time period
    impact: 0-1 scale (often opportunity_score result)
    confidence: 1-10 or percentage
    effort: Person-weeks
    """
    return (reach * impact * confidence) / effort

# Example calculation

importance = 0.9        # High importance

satisfaction = 0.2      # Low current satisfaction

customers = 1500
confidence = 8          # High confidence

ease = 6                # Moderate ease

reach = 1200            # Users per quarter

effort = 4              # Person-weeks

opp = opportunity_score(importance, satisfaction)
ice = ice_score(opp, customers, confidence, ease)
rice = rice_score(reach, opp, confidence, effort)

print(f"Opportunity Score: {opp:.2f}")
print(f"ICE score: {ice}")
print(f"RICE score: {rice:.2f}")

```

This example demonstrates how a problem scoring **0.72** on the Opportunity Score metric translates to different priorities when evaluated through ICE (**62,208**) versus RICE (**1,728**), highlighting how effort and reach metrics alter relative rankings.

## When to Use Each Framework

Select your prioritization method based on organizational context and decision requirements:

- **Use Opportunity Score** when conducting discovery research and building opportunity solution trees. It requires the least data and focuses purely on customer problem value.

- **Use ICE** when running lean experiments with small teams where speed matters more than precision. The framework in [`pm-product-discovery/skills/prioritize-assumptions/SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/pm-product-discovery/skills/prioritize-assumptions/SKILL.md) specifically recommends ICE for assumption testing prioritization.

- **Use RICE** when presenting to stakeholders who require effort justification, or when comparing initiatives with vastly different user reach profiles (e.g., a power-user feature vs. a mass-market improvement).

## Summary

- **Opportunity Score** identifies which customer problems warrant solutions using importance and satisfaction gaps (`Importance × (1 − Satisfaction)`)
- **ICE** enables rapid initiative ranking for small teams by multiplying impact, confidence, and ease, where impact derives from Opportunity Score and customer count
- **RICE** provides enterprise-grade prioritization by splitting impact into reach and per-user value, then dividing by effort to maximize return on investment
- The **phuryn/pm-skills** repository implements these frameworks across [`pm-product-discovery/skills/prioritize-features/SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/pm-product-discovery/skills/prioritize-features/SKILL.md), [`pm-product-discovery/skills/prioritize-assumptions/SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/pm-product-discovery/skills/prioritize-assumptions/SKILL.md), and [`pm-execution/skills/prioritization-frameworks/SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/pm-execution/skills/prioritization-frameworks/SKILL.md)

## Frequently Asked Questions

### Can I use Opportunity Score and RICE together?

Yes. **Opportunity Score** typically feeds into **RICE** as the Impact variable. You first calculate the problem's value using `Importance × (1 − Satisfaction)`, then use that result as the Impact factor in your RICE calculation alongside Reach, Confidence, and Effort.

### Why does ICE multiply by Ease while RICE divides by Effort?

The mathematical distinction reflects philosophical differences in resource planning. **ICE** (Impact × Confidence × Ease) rewards initiatives that are easy to build, multiplying benefits. **RICE** divides by **Effort** to create a cost-benefit ratio, explicitly quantifying how much value you generate per unit of work. You can convert between them by using `Ease = 10 − Effort` on a normalized scale, though this sacrifices RICE's explicit cost accounting.

### Which framework works best for startup product teams?

**ICE** is generally optimal for startups. As documented in the phurun/pm-skills prioritization guides, ICE requires less estimation overhead than RICE (no reach forecasting or detailed effort breakdowns) while still incorporating Opportunity Score data. The speed of calculation matches the rapid iteration cycles typical of early-stage companies.

### How do I normalize Confidence across these frameworks?

**Opportunity Score** requires no confidence metric—it relies purely on customer data. For **ICE** and **RICE**, Confidence is typically rated 1-10 where 10 represents certainty based on existing data. Some teams convert this to a percentage (50%, 80%, 100%) before multiplication. The [`pm-execution/skills/prioritization-frameworks/SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/pm-execution/skills/prioritization-frameworks/SKILL.md) file recommends maintaining consistent scales within your organization rather than mixing percentage and decimal representations.