Customer Domain
The Customer domain focuses on the people and organizations that consume an organization's products and services. It provides a structured approach for modeling customer segments, personas, journeys, and relationships, enabling a customer-centric view that drives strategic decisions and operational excellence.
Schema Version: 2.2
Schema Location: /schemas/customer.schema.json
Specification: JSON Schema Draft-07
Overview
What is the Customer Domain?
The Customer domain extends the Stakeholder domain by providing deeper insights into customer behaviors, needs, and interactions. The domain covers:
- Customer Segments — Distinct groups with similar characteristics and needs
- Customer Personas — Fictional representatives of typical customers
- Customer Journeys — End-to-end experiences across touchpoints
- Customer Relationships — Ongoing connections and their management
This domain enables organizations to design more effective products, services, and experiences based on deep customer understanding.
Purpose and Value
The Customer domain enables architects and planners to:
- Align capabilities with needs — Connect organizational capabilities to customer expectations
- Map customer journeys — Link journeys to internal value streams for better experience design
- Support targeting decisions — Enable data-driven customer segment strategies
- Drive product development — Base product and service development on customer insights
- Measure customer success — Track satisfaction, loyalty, and lifetime value
The Customer domain maps directly to customer data concepts:
- Customer Segment → Customer dimension /cohort
- Customer Persona → Customer archetype
- Customer Journey → Event stream /customer timeline
- Customer Relationship → Account /relationship entity
- Lifetime Value → CLV calculation
Core Components
The Customer domain uses interconnected elements:
- Customer Segment: Distinct group with common characteristics
- Customer Persona: Representative fictional character
- Customer Journey: End-to-end experience mapping
- Customer Relationship: Ongoing connection management
Domain Attributes
Customer Segment Attributes
| Attribute | Type | Description | Required |
|---|---|---|---|
customerID | String | Unique identifier for the customer element | ✓ |
title | String | Name or title of the customer segment | ✓ |
description | String | Detailed explanation of segment characteristics | ✓ |
customerSegmentType | Enum | Classification of segment | |
orgUnitTitle | String | Organization unit responsible | |
orgUnitRoles | Array[String] | Roles that manage this segment | |
customerNeeds | Array[String] | Primary needs, wants, and pain points | |
customerValue | String | Value proposition offered to this segment | |
acquisitionChannels | Array[String] | Channels used to acquire customers | |
retentionStrategies | Array[String] | Approaches to maintaining customers | |
customerLifecycleStage | Enum | Current position in lifecycle | |
customerLifetimeValue | Object | Expected or measured customer value | |
performanceIndicators | Array[Object] | Metrics for segment success | |
dependencies | Array[Object] | Dependencies on other domains | |
relatedCustomerSegments | Array[Object] | Related segments | |
improvementOpportunities | Array[String] | Areas for experience enhancement | |
strategicAlignment | String | Alignment with strategic goals | |
customerPersonas | Array[Object] | Personas within this segment | |
customerJourneys | Array[Object] | Journeys for this segment | |
customerRelationships | Array[Object] | Relationship types for this segment |
Enumeration Values
Customer Segment Type (customerSegmentType)
| Value | Description | Example |
|---|---|---|
Demographic | Based on demographic attributes | Age, income, location |
Behavioral | Based on behavior patterns | Usage frequency, purchase history |
Psychographic | Based on attitudes and values | Lifestyle, preferences |
Value-Based | Based on customer value | High-value, growth potential |
Needs-Based | Based on customer needs | Problem-solution fit |
Industry | Based on industry (B2B) | Financial services, healthcare |
Size | Based on organization size (B2B) | Enterprise, SMB |
Customer Lifecycle Stage (customerLifecycleStage)
| Value | Description | Example |
|---|---|---|
Prospect | Potential customer | Lead, opportunity |
Acquisition | Being acquired | Onboarding |
Activation | Initial value delivery | First value realized |
Growth | Expanding relationship | Upsell, cross-sell |
Retention | Maintaining relationship | Renewal, loyalty |
Advocacy | Active promotion | Referrals, testimonials |
At-Risk | Potential churn | Declining engagement |
Churned | Lost customer | Former customer |
Relationship Type (relationshipType)
| Value | Description | Example |
|---|---|---|
Transactional | Transaction-based | One-time purchases |
Contractual | Contract-based | Subscriptions, agreements |
Advisory | Advice-based | Consulting relationships |
Partnership | Partner-based | Strategic partnerships |
Self-Service | Automated | Digital-first |
Dedicated | Personal | Key account management |
Engagement Level (engagementLevel)
| Value | Description |
|---|---|
Inactive | No recent engagement |
Low | Minimal engagement |
Moderate | Regular engagement |
Active | Frequent engagement |
Highly Engaged | Very frequent, deep engagement |
Customer Persona Elements
| Attribute | Type | Description |
|---|---|---|
personaID | String | Unique identifier |
title | String | Name of the persona |
description | String | Detailed profile |
customerSegmentID | String | Segment this persona belongs to |
demographicAttributes | Object | Age, gender, location, income |
psychographicAttributes | Object | Values, attitudes, interests |
behaviors | String | Typical behaviors and preferences |
goals | Array[String] | What the persona wants to achieve |
painPoints | Array[String] | Challenges and frustrations |
influences | Array[String] | Decision-making influences |
purchaseDecisionProcess | String | How decisions are made |
technographics | String | Technology usage patterns |
quotations | Array[String] | Representative quotes |
narrativeScenario | String | Day-in-the-life scenario |
Customer Journey Elements
| Attribute | Type | Description |
|---|---|---|
journeyID | String | Unique identifier |
journeyTitle | String | Name of the journey |
description | String | Overview of the journey |
customerSegmentID | String | Segment this journey is for |
personaIDs | Array[String] | Applicable personas |
journeyStages | Array[Object] | Sequential stages |
touchpoints | Array[Object] | Interaction points |
customerActions | String | What customers do |
customerThoughts | String | What customers think/feel |
customerPainPoints | Array[String] | Challenges at each stage |
customerOpportunities | Array[String] | Experience improvements |
relevantCapabilities | Array[String] | Supporting capabilities |
relevantValueStreams | Array[String] | Value streams involved |
performanceMetrics | Array[Object] | Success metrics |
Customer Relationship Elements
| Attribute | Type | Description |
|---|---|---|
relationshipID | String | Unique identifier |
title | String | Name of relationship type |
description | String | Detailed description |
customerSegmentID | String | Applicable segment |
relationshipType | Enum | Nature of relationship |
relationshipStrength | Integer | Quality indicator (1-5) |
engagementLevel | Enum | Degree of engagement |
loyaltyStatus | Enum | Loyalty/retention status |
relationshipHistory | String | Timeline of key events |
relationshipValue | Object | Current and potential value |
relationshipRisks | Array[String] | Threats to continuity |
growthOpportunities | Array[String] | Expansion opportunities |
engagementModel | String | How relationship is managed |
Domain Relationships
The Customer domain integrates with other metamodel domains:
| Target Domain | Relationship Type | Description |
|---|---|---|
| Stakeholder | Extension | Customers are external stakeholders |
| Products | Consumption | Customers consume products |
| Services | Usage | Customers use services |
| Capabilities | Alignment | Capabilities aligned to customer needs |
| Value Stream | Experience | Customer journeys map to value streams |
| Strategy | Focus | Strategy focuses on customer segments |
| Performance | Measurement | Customer metrics track success |
| Channel | Interaction | Customers interact through channels |
| Organization | Service | Org units serve customers |
| Information | Data | Customer data informs decisions |
Examples
Example 1: Retail Banking Customer Segment
{
"customerID": "CUST-SEG-001",
"title": "Affluent Professionals",
"description": "High-income professionals with complex financial needs and limited time for financial management",
"customerSegmentType": "value-based",
"orgUnitTitle": "Premium Banking Division",
"orgUnitRoles": ["Segment Manager", "Relationship Banking Lead", "Product Specialist"],
"customerNeeds": [
"Time-efficient financial management",
"Wealth preservation and growth",
"Personalized advisory services",
"Seamless digital and in-person experiences"
],
"customerValue": "Comprehensive financial management with personalized service and premium digital capabilities",
"acquisitionChannels": ["Professional referrals", "Executive events", "Digital targeting"],
"retentionStrategies": ["Dedicated advisor", "Quarterly portfolio reviews", "Premium service level"],
"customerLifecycleStage": "growth",
"customerLifetimeValue": {
"value": 25000,
"currency": "USD",
"timespan": "Annual",
"calculationMethod": "Risk-adjusted revenue minus servicing costs"
},
"performanceIndicators": [
{
"metricName": "Relationship Depth",
"metricDescription": "Average number of products per customer",
"currentValue": "3.7",
"targetValue": "4.5",
"unit": "Products"
},
{
"metricName": "Net Promoter Score",
"metricDescription": "Likelihood to recommend to others",
"currentValue": "42",
"targetValue": "60",
"unit": "NPS Points"
}
],
"dependencies": [
{
"dependencyType": "Critical",
"domainType": "Capability",
"entityID": "CAP-001",
"description": "Wealth Advisory Services capability"
},
{
"dependencyType": "Important",
"domainType": "Service",
"entityID": "SVC-003",
"description": "Portfolio Management Service"
}
],
"relatedCustomerSegments": [
{
"segmentID": "CUST-SEG-003",
"relationshipType": "progression",
"relationshipStrength": 4
}
],
"improvementOpportunities": [
"Enhanced mobile investment capabilities",
"Proactive life event planning",
"Integrated business and personal banking"
],
"strategicAlignment": "Core focus segment for 2025 growth strategy, driving 40% of total profits",
"customerPersonas": [
{
"personaID": "PERSONA-001",
"title": "Michael Chen",
"description": "42-year-old technology executive balancing career advancement with family needs",
"demographicAttributes": {
"age": 42,
"gender": "Male",
"income": "$250,000+",
"location": "Urban"
},
"psychographicAttributes": {
"values": ["Achievement", "Security", "Family"],
"interests": ["Technology", "Travel", "Investing"]
},
"behaviors": "Researches thoroughly before decisions, prefers digital interactions, values efficiency",
"goals": ["Build wealth for early retirement", "Fund children's education", "Minimize tax burden"],
"painPoints": ["Limited time for financial management", "Complex tax situation", "Information overload"],
"influences": ["Peer recommendations", "Expert financial advice", "Industry trends"],
"purchaseDecisionProcess": "Gathers options online, consults advisor, then makes decision",
"technographics": "Early adopter, mobile-first, uses financial management apps",
"quotations": ["I need financial solutions that work around my schedule, not the other way around"]
}
],
"customerJourneys": [
{
"journeyID": "JOURNEY-001",
"journeyTitle": "Wealth Management Onboarding",
"description": "Process of transitioning high-value clients into comprehensive wealth management",
"journeyStages": [
{
"stageName": "Discovery",
"touchpoints": ["Website", "Advisor referral"],
"customerActions": "Research wealth management options",
"customerThoughts": "Will they understand my complex situation?",
"painPoints": ["Generic information", "Unclear differentiation"],
"opportunities": ["Personalized content", "Early advisor contact"]
},
{
"stageName": "Needs Assessment",
"touchpoints": ["Initial consultation"],
"customerActions": "Share financial goals and current portfolio",
"customerThoughts": "Concern about whether needs will be understood",
"painPoints": ["Repetitive information gathering", "Complex paperwork"],
"opportunities": ["Digital pre-collection", "Streamlined forms"]
},
{
"stageName": "Solution Design",
"touchpoints": ["Advisor presentation", "Digital tools"],
"customerActions": "Review proposed strategies",
"performanceMetrics": [
{"metric": "Proposal acceptance rate", "target": "85%"}
]
},
{
"stageName": "Implementation",
"touchpoints": ["Account setup", "Portfolio transfer"],
"customerActions": "Complete onboarding steps",
"performanceMetrics": [
{"metric": "Time to complete", "target": "5 days"}
]
}
],
"relevantCapabilities": ["Financial Needs Analysis", "Client Profiling", "Portfolio Management"],
"relevantValueStreams": ["Wealth Advisory Value Stream"]
}
],
"customerRelationships": [
{
"relationshipID": "REL-001",
"title": "Premium Advisory Relationship",
"description": "Comprehensive wealth management with dedicated advisor",
"relationshipType": "advisory",
"relationshipStrength": 4,
"engagementLevel": "Active",
"loyaltyStatus": "Loyal",
"relationshipValue": {
"currentValue": 15000,
"potentialValue": 25000,
"currency": "USD"
},
"relationshipRisks": ["Advisor turnover", "Competitor offers", "Market dissatisfaction"],
"growthOpportunities": ["Trust services", "Business banking integration", "Family office services"],
"engagementModel": "Quarterly in-person reviews, monthly check-ins, dedicated support line"
}
]
}
Example 2: B2B Customer Segment
{
"customerID": "CUST-SEG-B2B-001",
"title": "Enterprise Data Platform Customers",
"description": "Large enterprises seeking comprehensive data platform solutions for analytics and AI",
"customerSegmentType": "Industry",
"orgUnitTitle": "Enterprise Sales Division",
"customerNeeds": [
"Scalable data infrastructure",
"Enterprise-grade security and compliance",
"Integration with existing systems",
"Self-service analytics capabilities"
],
"customerValue": "End-to-end data platform with enterprise support and proven scalability",
"customerLifecycleStage": "Growth",
"customerLifetimeValue": {
"value": 2500000,
"currency": "USD",
"timespan": "5 years"
},
"performanceIndicators": [
{
"metricName": "Annual Contract Value",
"currentValue": "$500K",
"targetValue": "$750K"
},
{
"metricName": "Net Revenue Retention",
"currentValue": "115%",
"targetValue": "120%"
}
],
"strategicAlignment": "Primary revenue driver for enterprise business unit"
}
Implementation Guidelines
Customer-Centric Design Best Practices
- Start with research — Base segments and personas on real customer data
- Validate regularly — Update personas and journeys based on feedback
- Map to capabilities — Connect customer needs to organizational capabilities
- Measure outcomes — Track customer metrics alongside business metrics
- Close the loop — Use customer feedback to improve experiences
Customer Journey Mapping
OpenMetadata Integration
When integrating with OpenMetadata, map Customer entities as follows:
| Orthogramic Element | OpenMetadata Entity | Notes |
|---|---|---|
| Customer Segment | Glossary Term | Customer vocabulary |
| Customer Data | Table | Customer tables |
| Journey Events | Topic | Event streams |
| Metrics | Dashboard | Customer dashboards |
| Persona | Tag | Customer tagging |
# Example: Create customer segment as glossary term
def create_customer_glossary(customer_segment):
"""
Map Orthogramic Customer Segment to OpenMetadata Glossary
"""
glossary_term = {
"name": customer_segment["customerID"].lower(),
"displayName": customer_segment["title"],
"description": customer_segment["description"],
"glossary": "customer_segments",
"synonyms": [],
"relatedTerms": [
seg["segmentID"].lower()
for seg in customer_segment.get("relatedCustomerSegments", [])
],
"tags": [
{"tagFQN": f"LifecycleStage.{customer_segment.get('customerLifecycleStage', 'unknown')}"},
{"tagFQN": f"SegmentType.{customer_segment.get('customerSegmentType', 'unknown')}"}
],
"owner": {"name": customer_segment.get("orgUnitTitle", ""), "type": "team"},
"references": [
{
"name": "Lifetime Value",
"endpoint": str(customer_segment.get("customerLifetimeValue", {}).get("value", ""))
}
]
}
return glossary_term
Schema Reference
- Repository:
Orthogramic/Orthogramic_Metamodel - Schema Location:
/schemas/customer.schema.json - Version: 2.2
- Specification: JSON Schema Draft-07
- License: Creative Commons Attribution-ShareAlike 4.0 (CC BY-SA 4.0)
Previous: People Domain | Next: Market Domain