A feature offered by a competitor
A competitor feature is a single tracked capabilityCapabilityStrategyAn ability that enables value deliveryView reference → that a rival ships: their native Salesforce sync, their bulk-export button, their AI summariser. As an inventory item, it is the smallest useful unit of market intelligence.
The practice of cataloguing a rival's capabilities is as old as commerce, but it acquired its modern shape and its modern failure mode alongside software's featureFeatureProduct SpecificationA product capability or featureView reference →-comparison culture. The classic artefact is the feature matrix: your product down one axis, competitorsCompetitorMarket IntelligenceA competing product or companyView reference → across the top, ticks and crosses in the grid. The matrix is genuinely useful for spotting table stakes, the capabilities a buyer assumes everyone has. It also quietly trains teams to read every empty cell as a gap to close.
That reading is the trap the field now names directly. The "feature parity trap" describes prioritising what a rival already has over what your own users needNeedUserA user need, pain, desire, or constraintView reference →, and writers across product and product-marketing have spent the last several years warning against it. Nulab's treatment and others make the same point: replicating a competitor's feature inherits its maintenance cost, its documentation burden, and its bugsBugProduct SpecificationA defect or unexpected behaviourView reference →, while spending the time you could have used to build something the rival cannot answer.
The sharper version of the argument separates features from outcomesOutcomeStrategyA desired business or user outcomeView reference →. Matching a feature copies the mechanism; it does not copy the result the customer was buying. A rival's much-touted dashboardDashboardData & AnalyticsAn analytics dashboardView reference → might exist because their users could not get answers any other way, a problem your product solves at the point of capture, which makes the dashboard redundant in your context. The discipline that survives this distinction is the teardown: studying a competitor feature closely enough to learn what jobJobUserJob To Be Done: what the user is trying to accomplishView reference → it does and how well, so the decisionDecisionStrategyA recorded decision with context, rationale, and consequencesView reference → to match, ignore, or outflank it is made on evidenceEvidenceValidationData supporting or refuting a hypothesisView reference →.
April Dunford's positioningPositioningGo-To-MarketProduct positioning statementView reference → framework makes the same move in formal terms. In *Obviously Awesome*, she argues that effective positioning runs through five components in sequence: competitive alternatives, unique attributes, differentiated value, target market, and market category. The chain matters because value is not intrinsic — it only exists relative to a specific alternative. A rival's feature is therefore most useful not as a prompt to copy but as the first term in that sequence: it surfaces an alternative, which forces the question of what attributes you have that the rival lacks, and what those differences are worth to the buyer. A competitor feature catalogue that never reaches that second question stops where the analysis needs to start.
A project-management tool notices its main rival has shipped a "workload view" that colour-codes who is over capacity. Sales reports prospects asking for it by name. The reflex is to clone it.
Instead the team runs a teardown. They reconstruct the rival's feature in a sandbox and interview six of their own customers who asked for it. The interviews reveal the real job: managers want to reassign work before someone burns out, and the colour grid is just the surface they happen to know. The rival's version makes the manager spot the overload and then reassign by hand across three screens. The team ships a narrower capability instead: a single prompt that flags an overloaded person and offers a one-click rebalance. It is less feature, and it closes the deals the workload view was opening, because it does the job in one step the rival does in five. The competitor feature inspired a solutionSolutionDiscoveryA proposed approach to address an opportunityView reference →; it did not dictate a copy.
In the Unified Product Graph, a competitor feature sits in the market-intelligence region, hung off the rival that ships it via CompetitoroffersCompetitor Featurehierarchy. Its two outbound edges encode the discipline that keeps it from becoming a parity to-do list: competitor_offers_competitor_featureCompetitor FeatureinspiresSolutioncross-domain records that a rival's capability prompted a solution to a problem, and competitor_feature_inspires_solutionCompetitor FeatureinspiresFeaturecross-domain records that it prompted a feature of your own. Both are "inspires," not "requires." The graph holds the provenance, so a feature traceable back to a competitor's grid, with no connecting line to a user need or outcome, stands out as a feature built to match rather than to win.competitor_feature_inspires_feature
Worked example: Trellis
The AI app-generators headline featureFeatureProduct SpecificationA product capability or featureView reference → is instant generation: describe an idea and get a working app in seconds. That speed is captured as a competitor feature in the graph because it is the claim Trellis must directly answer. The output is a brittle, ungoverned tool no operations team can run real processes on, which is where Trellis's own solutionSolutionDiscoveryA proposed approach to address an opportunityView reference → and positioningPositioningGo-To-MarketProduct positioning statementView reference → diverge.
Guessing No evidence
Type-specific fields on BaseNode
our_equivalentstringOur equivalent feature, if any. Leave empty when we offer nothing equivalent. @example "Canvas collaboration"
is_gapbooleanGap in our offering. True when `our_equivalent` is absent or materially inferior.
qualityenumQuality comparison. `better` = ours is meaningfully superior. `same` = roughly equivalent. `worse` = theirs is meaningfully superior. `missing` = we have no equivalent.
parity_statusenumParity. More granular than `quality`; captures whether the gap is offensive or defensive. `ahead` = we lead. `behind` = they lead. `parity` = equivalent. `unique_to_us` / `unique_to_them` = only one side offers it.
last_updatedstringISO date this assessment was last updated. Competitor feature landscapes change quickly. @example "2026-02-15"
sourcestringProvenance: where this was observed. A changelog, pricing, or docs URL, an analyst report, or a research note. @example "https://www.contentful.com/changelog/"
confidenceassessmentProvenance: how sure we are, on the canonical confidence_5 scale. Carries both a numeric value and a high / medium / low label.
observed_bystringProvenance: agent or routine id that last wrote this. Absent when hand-authored, the signal that a human (not a poller) is the last writer. @example "competitor-watch-agent"
idstringrequiredUnique identifier (UUID)
typeNodeTyperequiredDiscriminator for the entity type
titlestringrequiredDisplay name
descriptionstringOptional detailed description
statusstringLifecycle status
tagsstring[]Freeform tags for filtering
5 edge types connected to this entity.
competitor_offers_competitor_featurefeature_rivals_competitor_featurecompetitor_feature_inspires_solutioncompetitor_feature_inspires_featurecompetitor_feature_benchmarks_capability