The root entity representing a product or service being created. Everything in the graph connects back to a product.
A product is a vehicle for delivering value to a defined audience, sustained over time as the audience and the world around it keep changing. That definition does two kinds of work at once. It separates a product from a one-off deliverable, and it makes the product the thing every other piece of strategy, research, and engineering ultimately answers to.
The word predates software by centuries, and the discipline of product management traces to a 1931 memo by Neil McElroy at Procter & Gamble, who proposed a "brand man" accountable for a product's whole commercial life. That accountability, owning the thing rather than a single launch, is the seed of the modern role.
The sharper distinction came from the software world, where it became easy to confuse a product with the project that ships one version of it. Marty Cagan drew the line in *Inspired*: project work is about delivery, getting something built and shipped, while product work is about discovery, figuring out what is worth building at all. A project ends; a product persists through many cycles of discovery and delivery. Cagan's dedicated product team stays together for years and owns everything about its product, which only makes sense if the product is treated as a living system rather than a finished output.
That framing has held. A product is the unit that absorbs feedback, accrues decisionsDecisionStrategyA recorded decision with context, rationale, and consequencesView reference →, and changes shape in response to evidenceEvidenceValidationData supporting or refuting a hypothesisView reference →. It exists in a pair with the market it serves, and the health of the pair, not the cleverness of any one featureFeatureProduct SpecificationA product capability or featureView reference →, is what teams are accountable for.
A small team ships a note-taking app. The first version is a list of features: tags, search, export. Treated as a project, the work would be done at launch. Treated as a product, launch is the point where the real loop begins. Three months in, usage data shows people pasting in long meeting transcripts the app was never designed for. That signal is a market trendMarket TrendMarket IntelligenceAn emerging trend in the marketView reference → the product is now tracking. The team runs a research studyResearch StudyUser ResearchA planned research activityView reference →, learns that the jobJobUserJob To Be Done: what the user is trying to accomplishView reference → is summarising meetings rather than storing notes, and adds a summarisation feature. None of that was on the original roadmapRoadmapProduct SpecificationA strategic plan of features and milestonesView reference →. The product changed because the product is a system that learns, and the team's job is to steer the system, not to finish it.
In the Unified Product Graph, ProductStrategyThe product being created, the root of the graph is the root entity, the node from which the whole graph hangs. It is a top-level type, so it links directly to the workspace, and almost everything else reaches it through a chain of edges. It targets the people it serves with productProducttargetsPersonasemantic, and it records who it explicitly does not serve with product_targets_personaPersonais anti fit forProductsemantic, a distinction most tools cannot express. It grounds its decisions in evidence through persona_anti_fit_for_productProductcontainsResearch Studyhierarchy and stays oriented to its environment through product_contains_research_studyProducttracksMarket Trendsemantic. That structure encodes the definition directly: a product is the living centre of a system, and a graph makes the system visible.product_tracks_market_trend
Type-specific fields on BaseNode
stagestringLifecycle stage
health_statusstringOverall health
urlstringWhere the product lives. Marketing site, app store URL, etc.
logo_urlstringLogo or icon URL. Used to render product cards and lists.
launched_atstringWhen the product became generally available (ISO 8601)
idstringrequiredUnique identifier (UUID)
typeNodeTyperequiredDiscriminator for the entity type
titlestringrequiredDisplay name
descriptionstringOptional detailed description
statusstringLifecycle status
tagsstring[]Freeform tags for filtering
9 phases — initial: concept
148 edge types connected to this entity.
portfolio_contains_productproduct_area_contains_productproduct_guided_by_visionproduct_pursues_outcomeproduct_targets_objectiveproduct_measures_with_metricproduct_decided_via_decisionproduct_bounded_by_constraintproduct_targets_personaproduct_has_competitorproduct_tracks_market_trendproduct_addresses_market_segmentproduct_contains_competitive_analysisproduct_contains_research_studyproduct_maps_experience_via_user_journeyproduct_navigated_via_user_flowproduct_sketched_in_wireframeproduct_contains_screenproduct_systematised_in_design_systemproduct_built_with_design_componentproduct_branded_as_brand_identityproduct_builds_featureproduct_organises_into_feature_areaproduct_ships_via_releaseproduct_plans_via_roadmapproduct_categorises_by_themeproduct_bounded_by_bounded_contextproduct_stored_in_code_repositoryproduct_integrates_via_integration_patternproduct_connects_to_external_apiproduct_flows_through_data_flowproduct_measures_funnelproduct_acquires_via_acquisition_channelproduct_segments_into_cohortproduct_segments_into_behavioral_segmentproduct_grows_via_growth_loopproduct_attributed_via_attribution_modelproduct_monetised_via_business_modelproduct_goes_to_market_via_gtm_strategyproduct_staffed_by_teamproduct_influenced_by_stakeholderproduct_organised_into_departmentproduct_ingests_from_data_sourceproduct_tracks_via_event_schemaproduct_visualised_in_dashboardproduct_organised_into_data_domainproduct_defined_by_glossary_termproduct_publishes_content_pieceproduct_documents_in_knowledge_base_articleproduct_expressed_via_brand_assetproduct_documented_in_documentproduct_prompted_via_prompt_templateproduct_templated_via_documentation_templateproduct_owned_by_legal_entityproduct_governed_by_privacy_policyproduct_constrained_by_compliance_requirementproduct_exposed_to_riskproduct_bound_by_data_contractproduct_audited_via_audit_log_policyproduct_governed_by_compliance_frameworkproduct_commits_to_service_level_objectiveproduct_experiences_incidentproduct_documented_in_runbookproduct_monitored_by_monitorproduct_built_by_ci_pipelineproduct_released_via_release_strategyproduct_covered_by_on_call_rotationproduct_runs_on_infrastructure_componentproduct_models_threats_with_threat_modelproduct_enforces_security_controlproduct_governed_by_security_policyproduct_tested_by_penetration_testproduct_reviewed_by_security_reviewproduct_classifies_data_with_data_classificationproduct_restricts_access_with_access_policyproduct_conforms_to_a11y_standardproduct_audited_by_a11y_auditproduct_annotated_with_a11y_annotationproduct_maintains_test_suiteproduct_undergoes_qa_sessionproduct_measured_by_test_coverage_reportproduct_provisioned_in_test_environmentproduct_has_feedback_programproduct_has_user_advisory_boardproduct_runs_beta_programproduct_priced_via_pricing_strategyproduct_powered_by_ai_modelproduct_compared_via_model_comparisonproduct_automated_via_workflow_templateproduct_assisted_by_agent_definitionproduct_sold_via_pipeline_salesproduct_serves_accountproduct_attracts_leadproduct_subscribed_via_subscriptionproduct_forecasted_via_forecastproduct_managed_via_programproduct_markets_through_marketing_strategyproduct_announced_via_press_releaseproduct_hosts_eventproduct_engages_via_community_initiativeproduct_supports_via_support_ticketproduct_listens_via_customer_feedbackproduct_loses_because_churn_reasonproduct_health_scored_via_customer_health_scoreproduct_operated_via_playbookproduct_guarantees_via_service_level_agreementproduct_celebrates_via_success_milestoneproduct_blueprinted_via_service_blueprintproduct_measured_by_nps_campaignproduct_localised_in_localeproduct_configured_via_locale_configproduct_educates_via_education_programproduct_partnered_via_partner_programproduct_exposed_via_api_ecosystemproduct_documented_via_developer_portalproduct_categorised_in_product_areaproduct_thinks_in_workspacepersona_anti_fit_for_productproduct_fulfils_missionproduct_organises_around_strategic_themeproduct_stands_on_strategic_pillarproduct_invests_in_initiativeproduct_develops_capabilityproduct_delivers_through_value_streamproduct_holds_assumptionproduct_experiences_incident_hierarchyproduct_guided_by_metricproduct_onboards_via_user_flowproduct_records_in_documentproduct_decided_via_decision_hierarchyproduct_has_positioningproduct_has_feature_requestproduct_shares_persona_with_productproduct_shares_persona_with_productproduct_shares_competitor_with_productproduct_shares_competitor_with_productproduct_shares_metric_with_productproduct_shares_metric_with_productproduct_depends_on_productproduct_depends_on_productproduct_cannibalises_productproduct_cannibalises_productproduct_succeeds_productproduct_succeeds_productproduct_expressed_as_design_componentproduct_manifests_in_design_componentproduct_enables_flow_user_flowservice_constrains_scope_productProduct sits at the leaf of both axes. It may belong to a product area (organisational) and a portfolio (strategic). Both are optional.
In a portfolio document, Product 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_personashares_competitorshares_metricdepends_on_productcannibalisessucceeds{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.2 frameworks use this entity type.