# Prioritization Frameworks Comparison: RICE vs ICE vs Kano vs Opportunity Score

> Compare RICE, ICE, Kano, and Opportunity Score prioritization frameworks. Learn which best fits your project needs for effective decision making.

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

---

**RICE prioritizes initiatives by reach, impact, confidence, and effort; ICE offers a lighter multiplication of impact, confidence, and ease; Opportunity Score quantifies problem value through importance and satisfaction gaps; while the Kano Model qualitatively classifies features by how they influence customer delight rather than generating numeric rankings.**

Product teams need systematic methods to decide which features to build first. This prioritization frameworks comparison examines four essential methodologies—RICE, ICE, Opportunity Score, and the Kano Model—based on the practical implementation guides found in the `phuryn/pm-skills` open-source repository. The repository stores detailed formulas and decision criteria in [`pm-execution/skills/prioritization-frameworks/SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/pm-execution/skills/prioritization-frameworks/SKILL.md), providing product managers with ready-to-use templates for each approach.

## Opportunity Score: Measuring Problem Value

The **Opportunity Score** framework calculates the value of solving a specific customer problem rather than ranking pre-defined solutions.

According to the source code in [`pm-execution/skills/prioritization-frameworks/SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/pm-execution/skills/prioritization-frameworks/SKILL.md) (lines 14-23), the formula is:

```

Importance × (1 − Satisfaction)

```

This measures how important a need is **and** how poorly it is currently satisfied. A high score indicates a valuable problem worth solving.

**Typical use case:** Prioritizing customer problems during discovery phases before committing to specific solutions.

## ICE Framework: Lightweight Initiative Triage

The **ICE** framework provides rapid scoring for initiatives when teams need quick triage without extensive effort calculations.

As documented in [`pm-execution/skills/prioritization-frameworks/SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/pm-execution/skills/prioritization-frameworks/SKILL.md) (lines 27-35), the formula is:

```

Impact × Confidence × Ease

```

Notably, **Impact** itself derives from the Opportunity Score methodology: `Opportunity Score × Number of Customers`. This roots ICE back to actual problem value rather than arbitrary assignments.

**Typical use case:** Fast ranking of ideas during brainstorming sessions or early-stage product planning.

## RICE Framework: Scaling to Complex Backlogs

**RICE** extends ICE by adding granularity through explicit **Reach** and **Effort** components, making it suitable for larger product backlogs.

The repository defines RICE in [`pm-execution/skills/prioritization-frameworks/SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/pm-execution/skills/prioritization-frameworks/SKILL.md) (lines 37-46) as:

```

(Reach × Impact × Confidence) / Effort

```

Unlike ICE, which uses **Ease** (higher is better), RICE uses **Effort** as a denominator (lower effort increases the score). **Reach** represents the number of customers affected per quarter, while **Impact** remains the value per customer.

**Typical use case:** Prioritizing across multiple initiatives when resources are constrained and effort varies significantly between options.

## Kano Model: Understanding Customer Expectations

The **Kano Model** differs fundamentally from the numeric frameworks above. Rather than generating scores, it classifies features into categories based on how they influence customer satisfaction.

As outlined in [`pm-execution/skills/prioritization-frameworks/SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/pm-execution/skills/prioritization-frameworks/SKILL.md) (lines 55-60), the qualitative classifications include:

- **Must-Be:** Basic expectations that cause dissatisfaction when absent but do not increase satisfaction when present
- **Performance:** Features where satisfaction increases linearly with implementation quality
- **Attractive:** Delighters that generate high satisfaction when present but do not cause dissatisfaction when absent
- **Indifferent:** Features that do not affect satisfaction either way
- **Reverse:** Features that actively dissatisfy when present

**Typical use case:** Roadmap shaping and feature design decisions after problems have been identified.

## Key Differences: Numeric vs Qualitative Approaches

Understanding when to apply each framework depends on four critical distinctions:

**Metric Generation**
- **Opportunity Score, ICE, and RICE** produce numeric values that allow direct sorting and ranking
- **Kano** provides categorical classification without quantitative comparison between items

**Scope of Application**
- **Opportunity Score** answers: "Which problems should we solve?"
- **ICE and RICE** answer: "Which initiatives should we prioritize?"
- **Kano** answers: "What type of feature will satisfy this need?"

**Computational Complexity**
- **ICE** offers the fastest calculation with three multiplicative factors
- **RICE** adds division and separate reach calculation, introducing overhead but yielding nuanced results
- **Kano** requires user research (surveys or interviews) to categorize items, making it the most effort-intensive

**Data Requirements**
- Numeric frameworks require estimates for importance, satisfaction, confidence, and effort
- Kano requires functional and dysfunctional survey responses to classify features properly

## Implementation: Python Examples

Below are practical implementations demonstrating how to calculate each framework programmatically.

### Numeric Frameworks

```python

# Example data for a single idea

importance = 0.9          # 0-1 scale (high importance)

satisfaction = 0.2        # 0-1 scale (low satisfaction)

customers = 1500          # number of customers affected

confidence = 8            # 1-10 scale

ease = 6                  # 1-10 scale

effort = 3                # person-months

# ---- Opportunity Score ----

opp_score = importance * (1 - satisfaction)
print("Opportunity Score:", round(opp_score, 3))  # 0.72

# ---- ICE ----

impact = opp_score * customers
ice_score = impact * confidence * ease
print("ICE Score:", ice_score)  # 51840

# ---- RICE ----

reach = customers
rice_score = (reach * opp_score * confidence) / effort
print("RICE Score:", round(rice_score, 2))

```

### Kano Classification

```python
def kano_category(func_satis, dissat):
    """
    Classifies features based on survey percentages.
    func_satis: % satisfied with feature present
    dissat: % dissatisfied when feature is absent
    """
    if func_satis > 80 and dissat < 20:
        return "Must-Be"
    if func_satis > 60 and dissat > 40:
        return "Performance"
    if func_satis > 60 and dissat < 40:
        return "Attractive"
    if func_satis < 30:
        return "Indifferent"
    return "Reverse"

print(kano_category(85, 10))  # → Must-Be

```

## Summary

- **Opportunity Score** provides the foundational calculation for problem prioritization using `Importance × (1 − Satisfaction)`
- **ICE** offers lightweight initiative ranking through `Impact × Confidence × Ease`, where Impact ties back to Opportunity Score
- **RICE** scales prioritization for larger teams using `(Reach × Impact × Confidence) / Effort`, explicitly accounting for effort costs
- **Kano Model** enables qualitative roadmap decisions by classifying features into Must-Be, Performance, Attractive, Indifferent, or Reverse categories
- The `phuryn/pm-skills` repository stores complete implementation guidance in [`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

### When should I use RICE instead of ICE?

Use **RICE** when managing multiple initiatives with varying resource requirements across larger teams. The explicit **Effort** denominator and separate **Reach** calculation provide granularity needed for complex backlogs. Use **ICE** for rapid triage during early-stage brainstorming when precise effort estimates are unavailable and speed matters more than precision.

### How does Opportunity Score relate to ICE and RICE calculations?

**Opportunity Score** serves as the foundation for **Impact** calculations in both ICE and RICE. As implemented in the source code, Impact equals `Opportunity Score × Number of Customers`. This ensures that initiative prioritization remains rooted in actual customer problem value rather than subjective assessment.

### Can I combine the Kano Model with numeric frameworks like RICE?

Yes. Use **Kano** classification after identifying problems to determine *how* to solve them (feature type), then apply **RICE** or **ICE** to prioritize which initiatives to build first. For example, ensure all **Must-Be** features meet basic thresholds before using RICE to rank **Performance** improvements that differentiate your product.

### What data do I need to calculate these frameworks?

For **Opportunity Score**, collect customer importance and satisfaction ratings (0-1 scale). For **ICE** and **RICE**, add confidence estimates (1-10), ease/effort estimates (person-months or 1-10 scale), and customer reach counts. For **Kano**, conduct functional/dysfunctional surveys asking customers how they feel with the feature present and how they feel without it.