Anatomy and lifecycle of an opportunity
An opportunity is a recommended product improvement within a product area, such as fixing a bug, improving a workflow, or testing a new idea. Wave brings together the problem, supporting evidence, proposed solution, and implementation plan to help your team decide what to pursue and give a person or coding agent the context to act.
This page explains what an opportunity contains and how it moves through its lifecycle.
Anatomy of an opportunity
Each opportunity bundles the analysis, the evidence, and a draft plan into one reviewable object.
Problem and solution
The problem describes the current experience and why it needs attention. The proposed solution explains what to change and how the change could improve that experience.
Evidence
Evidence supports an opportunity's recommendation. Citations link to the charts, dashboards, session replays, customer feedback, and other sources behind it. Review these sources to validate the analysis before acting.
An opportunity can begin with a single finding if it includes a clear hypothesis and a plan to test it. Treat findings from a small number of session replays as directional until other signals establish how widespread the problem is.
Priority score
Wave calculates priority using Reach × Impact:
- Reach: How broadly the problem affects users or sessions
- Impact: The expected magnitude of improvement
The score determines a priority of Urgent, High, Medium, or Low.
Expected impact
Expected impact describes how the proposed change could affect your product area's target metrics. Use it to assess whether the improvement supports your goals.
Acceptance criteria
Acceptance criteria describe the behavior or end-to-end scenarios a reviewer checks to confirm the change works as intended. They give your team and coding agents a shared definition of "done."
Execution plan
When a repository is connected, Wave can create an implementation plan that grounds the change in your actual code, so a coding agent can draft a pull request.
Opportunity type
Each opportunity has a type: Strategic Bet, Quality Improvement, Instrumentation, Bug Fix, or New Feature. Use Opportunity Types in the product area settings to rank the types Wave should focus on or turn off types it should skip.
The opportunity lifecycle
Opportunities move through three stages. Your team and Wave agents can update their status as work progresses.
| Stage | Meaning |
|---|---|
| Triage | Discovered and waiting for review |
| In progress | Work has started, such as a linked issue, a coding agent run, or a pull request under review |
| Shipped | A merged pull request or completed ticket signals that the work is complete. Wave then begins measuring the change's impact against the opportunity's target metrics. |
To start work, create an issue in your connected tracker or send the opportunity to a coding agent. To set an opportunity aside, select Archive.
Wave can mark an opportunity Shipped when a linked pull request merges or a ticket is marked complete. This status does not confirm production deployment. Before interpreting production metrics, confirm that users have received the change.
Review and give feedback
Review each opportunity against three questions:
- Is the analysis correct and supported by the evidence?
- Is this a problem worth solving?
- Is the proposed solution useful?
If an opportunity's analysis or recommendation isn't exactly right, you can use Global Agent to shape any part of it before taking action.
To rate an opportunity, select the thumbs-up/down icon in the top left, then choose Positive, Neutral, or Negative and add a comment. This feedback, along with comments, edits, and actions taken on an opportunity, gives Wave context about your team's priorities and preferences and informs future investigations.
Next steps
- Learn how opportunities connect to evidence, metrics, and implementation work in The opportunity graph.
- Move an opportunity forward in Act on an opportunity.
Was this helpful?
For AI agents: a documentation index is available at /docs/llms.txt. Append .md to any page URL for markdown, or send Accept: text/markdown.