Feature Adoption Matrix
Segment feature adoption by reach and usage depth using caller-defined cutoffs.
Description
Feature adoption separates eligible-user reach from usage depth.
Feature adoption separates eligible-user reach from usage depth.1
Segment feature adoption by reach and usage depth using caller-defined cutoffs.
When to use Feature Adoption Matrix
Use this tool to segment feature adoption by reach and usage depth using caller-defined cutoffs.
Prepare consistently defined customer counts, durations, costs or forecast assumptions. Keep aligned records and monetary amounts on a common period and currency basis.
How to use Feature Adoption Matrix and understand its results
- Prepare consistently defined customer counts, durations, costs or forecast assumptions. Keep aligned records and monetary amounts on a common period and currency basis.
- Enter featureIds, activeUsers, eventCounts, eligibleUsers, minimumReachFraction, minimumEventsPerActive using the field table and calculation rules, then run the tool.
- Read reachPercent, eventsPerActive, segments. The explanation below defines the units, signs, ordering and any flags or placeholder values.
- If the tool reports an input issue, correct the values and run it again. Apply the stated assumptions when interpreting a successfully returned result.
| Input field | Meaning | Value type; see rules below | Requirement |
|---|---|---|---|
| featureIds | Feature ids | list of string | Required |
| activeUsers | Active users | list of number | Required |
| eventCounts | Event counts | list of number | Required |
| eligibleUsers | Eligible users | number | Required |
| minimumReachFraction | Minimum reach fraction | number | Required |
| minimumEventsPerActive | Minimum events per active | number | Required |
Enter aligned nonempty unique raw feature IDs, positive eligible counts, active within eligible and integer events≥active. Apply supplied reach/depth thresholds inclusively to core, broad-shallow, niche-deep or underused segments.
reach%=100active/eligible; depth=events/active Units, indexing, boundary conditions and exceptional cases are defined in the calculation rules above.
| Output field | Meaning | Value type |
|---|---|---|
| reachPercent | Reach percent | list of number |
| eventsPerActive | Events per active | list of number |
| segments | Segments | list of string |
{
"input": {
"featureIds": [
"A",
"B"
],
"activeUsers": [
5,
2
],
"eventCounts": [
20,
2
],
"eligibleUsers": 10,
"minimumReachFraction": 0.4,
"minimumEventsPerActive": 2
},
"output": {
"reachPercent": [
50,
20
],
"eventsPerActive": [
4,
1
],
"segments": [
"core",
"underused"
]
}
} Limitations and assumptions
Zero active yields depth zero even with positive events. IDs are not trimmed; no telemetry definitions are inferred.
Numeric inputs, where present, must be finite. Follow the calculation-specific rules for overflow, underflow and exceptional cases. Lists are limited to 100,000 entries; the rules above may require smaller limits. Missing required fields, extra fields, wrong value types and violations of the calculation rules are input errors.
Alternative or Complementary methods
Use Product Market Fit Survey: Score the Sean Ellis very-disappointed survey against a supplied PMF cutoff. For a complementary task, use First Value Time Benchmark: Measure time-to-first-value distribution against a caller benchmark.
References
-
Feature Adoption Matrix — tool.io
Similar or alternative tools
- Product Market Fit Survey
Score the Sean Ellis very-disappointed survey against a supplied PMF cutoff.
- First Value Time Benchmark
Measure time-to-first-value distribution against a caller benchmark.