An alternative product, service, or workaround that addresses the same jobs to be done as your product. Competitors can be direct, indirect, or substitute solutions.
A competitor is any alternative a customer could choose to get the same jobJobUserJob To Be Done: what the user is trying to accomplishView reference → done. That includes the obvious rival with a similar product, the tool built for a different purpose that gets pressed into service, and the spreadsheet the customer is using today and would happily keep using. The hard part is that teams define their competitors by who looks like them, while customers define them by what else would solve the problem.
Competitive analysisCompetitive AnalysisMarket IntelligenceA structured analysis of the competitive landscapeView reference → became a formal discipline with Michael Porter's Competitive Strategy (1980) and its Five Forces model. Porter's insightInsightUser ResearchA synthesised finding from researchView reference → was that direct rivals are only one of five pressures on an industry's profitability. The other four are the bargaining power of buyers, the bargaining power of suppliers, the threatThreatSecurityA specific security threatView reference → of new entrants, and the threat of substitutes. That last force is the one product teams most often miss. Porter defined a substitute as something that performs the same function by different means: not another video-conferencing tool, but the flight a customer no longer takes because the call was enough.
The practical taxonomy that follows splits alternatives three ways. A direct competitor solves the same problem the same way, for the same buyer. An indirect competitor solves the same underlying needNeedUserA user need, pain, desire, or constraintView reference → with a different approach. A substitute sits further out, displacing the need entirely. The threat from a substitute is high when it offers a better price-performance trade-off and switching costsSwitching CostUserA barrier preventing users from switching alternativesView reference → are low, which is why an analysis confined to direct rivals routinely misjudges the real riskRiskComplianceA risk to the product or businessView reference →.
April Dunford sharpened this for product positioningPositioningGo-To-MarketProduct positioning statementView reference → in Obviously Awesome (2019). Her advice is to start from the customer's view by asking what they would do if your product did not exist. The honest answer is often a spreadsheet, a manual process, or a featureFeatureProduct SpecificationA product capability or featureView reference → half-borrowed from a tool they already pay for, the status quo alternative, chosen because it is cheap and good enough. Dunford notes a related trap: a large share of B2B deals are lost not to a named rival but to "no decisionDecisionStrategyA recorded decision with context, rationale, and consequencesView reference →," which means losing to pen, paper, and the intern. Your differentiation is only as real as customers perceive it against the alternatives they actually weigh.
A team building a product-graph tool lists its competitors from the buyer's seat. Direct: two other graph-based product tools with similar feature sets. Indirect: a roadmapRoadmapProduct SpecificationA strategic plan of features and milestonesView reference → tool and a customer-research tool, each owning a slice of the same job through a different lens. Substitute, and the one that wins most lost deals: a Notion workspace stitched together with manual linking, free and already in use. Mapping all three reframes the work. Beating the direct rivals is a feature race; beating the substitute is a question of whether the tool is enough faster than maintaining a Notion graph by hand to justify the switch. The team reprioritises around import and automatic linking, the wedge that displaces the status quo, because that is where the deals are actually being lost.
In the Unified Product Graph, CompetitorMarket IntelligenceA competing product or company is the anchor of the Market & Competitive region, whose mental model runs from the field to rivals to their moves to your response. It is a dual-pattern entity: an identity in the rivals view, and a container in the "their catalogue" view through competitorCompetitoroffersCompetitor Featurehierarchy. It links outward to the segments you both court via competitor_offers_competitor_featureCompetitorcompetes forPersonacross-domain, and into positioning through competitor_competes_for_personaPositioningdifferentiates fromCompetitorcross-domain. That structure encodes the lesson Porter and Dunford both teach: a competitor is meaningful only in relation to the personaPersonaUserAn archetype representing a user segmentView reference → being fought over and the differentiation claimed against it, so the graph refuses to let a rival sit as a name on a list with nothing it is being compared on.positioning_differentiates_from_competitor
Type-specific fields on BaseNode
positioningstringMarket positioning
pricing_modelstringPricing model (e.g. "freemium", "per-seat SaaS", "usage-based")
websitestringPublic website URL
strengthsstring[]Bulleted factual strengths. Each item is a short statement, not prose. @example ['Real-time multiplayer canvas', 'Generous free tier']
weaknessesstring[]Bulleted factual weaknesses: gaps, friction, or capabilities materially below market. @example ['Weak API query capabilities', 'No mobile companion']
idstringrequiredUnique identifier (UUID)
typeNodeTyperequiredDiscriminator for the entity type
titlestringrequiredDisplay name
descriptionstringOptional detailed description
statusstringLifecycle status
tagsstring[]Freeform tags for filtering
14 edge types connected to this entity.
product_has_competitorcompetitive_analysis_analyses_competitorcompetitor_offers_competitor_featurecompetitor_competes_for_personacompetitor_competes_in_territorycompetitor_yields_learningcompetitor_offers_capabilitycompetitor_classified_as_classification_valuepersona_anti_fit_for_competitorpositioning_references_competitorpositioning_differentiates_from_competitorcompetitive_battle_card_references_competitordocument_describes_competitorcompetitor_addresses_needIn a portfolio document, Competitor entities can participate in cross-product edges, the typed relationships that link entities across different products. These edges are declared in UPGPortfolioDocument.cross_edges.
shares_competitor{product_id}/{node_id}. They are declared in the cross_edges array of a UPGPortfolioDocument, not inside individual product graphs. See Portfolio for the full model.3 frameworks use this entity type.