Blueprint: customer 360
One customer graph instead of five disconnected systems.
A complete customer view usually means joining data from a CRM, billing system, support desk, and event pipeline by hand, often rebuilt for each new analysis. This blueprint connects users, orders, subscriptions, support interactions, and behavioral events as Records once, so churn, recommendation, and journey questions that span all of them run as a single query instead of a fresh integration project.
Customer 360 graph analytics is a RushDB blueprint that connects CUSTOMER records to their ORDER, SUBSCRIPTION, SUPPORT_TICKET, and EVENT history as a single graph, so churn, recommendation, and journey queries traverse one dataset instead of reconciling separate systems.
The complete customer picture is scattered across systems.
Churn analysis, recommendations, and journey mapping all need the same thing: a customer connected to their orders, subscriptions, support history, and behavioral events. When those live in separate systems — a CRM, a billing platform, a helpdesk, an events pipeline — every new analysis starts over as its own reconciliation project instead of reusing a shared connected model.
Before
- Customer data is joined across CRM, billing, and support tools by hand
- Churn signals live in one system, usage events in another
- Recommendation logic re-fetches order history per request
- Journey analysis requires a separate data warehouse pipeline
With RushDB
- Users, orders, subscriptions, tickets, and events are connected Records
- Churn, recommendation, and journey queries traverse one graph
- New event sources extend the same customer graph without a migration
- Support and sales agents can query the same connected context
Graph intelligence on ingest
Incoming data becomes queryable graph context.
A CUSTOMER record with nested SUBSCRIPTION, ORDER, and SUPPORT_TICKET arrays lands as one connected write, not four table inserts to reconcile later. RushDB infers plan, status, and sentiment types on arrival, links each nested array to the parent customer automatically, and can surface relationship patterns across EVENT streams imported from a separate analytics pipeline.
01
Normalize customer touchpoints as they arrive
Import CUSTOMER records with nested SUBSCRIPTION, ORDER, and SUPPORT_TICKET data. RushDB infers plan, status, and sentiment types without a schema migration.
02
Auto-link account structure
Nested SUBSCRIPTION, ORDER, and SUPPORT_TICKET arrays become Records connected to their CUSTOMER automatically, preserving the account structure already in the payload.
03
Enrich across support and event sources
When EVENT or ticket data arrives from a separate analytics or helpdesk export, suggested-relationship analysis can propose how it joins to the existing customer graph.
Suggested relationship analysis requires an LLM configured for the project. Suggestions stay in draft form until you approve them, so inferred domain meaning never mutates the graph silently. You can also add explicit relationships through the SDK or API.
Review suggested relationship patternsData model
One flexible graph for the workflow.
Start with the payload shape your product already produces. RushDB stores it as Records, infers typed properties, and keeps nested or approved domain relationships queryable.
One customer write can carry orders, subscription state, and open tickets, while events append as they occur.
{
"customerId": "cust-8821",
"plan": "pro",
"SUBSCRIPTION": [{ "status": "active", "renewsAt": "2026-08-01" }],
"ORDER": [{ "orderId": "ord-501", "totalUsd": 240 }],
"SUPPORT_TICKET": [{ "status": "open", "sentiment": "negative" }]
}Working example
Query the full customer picture in one call.
Once orders, subscriptions, tickets, and events are connected to the customer, a churn-risk query traverses all of them together.
CUSTOMER cust-8821
plan: "pro"
SUBSCRIPTION: [{ status: "active", renewsAt: "2026-08-01" }]
ORDER: [{ orderId: "ord-501", totalUsd: 240 }]
SUPPORT_TICKET: [{ status: "open", sentiment: "negative" }]{
"labels": ["CUSTOMER"],
"where": {
"plan": "pro",
"SUBSCRIPTION": { "status": "active" },
"SUPPORT_TICKET": { "status": "open", "sentiment": "negative" }
}
}{
"customerId": "cust-8821",
"plan": "pro",
"riskSignal": "open negative-sentiment ticket on an active pro subscription"
}TypeScript SDK
Query churn risk across the connected customer graph.
The same connected graph also answers recommendation and journey-mapping queries — one backend, not one query per source system.
from rushdb import RushDB
db = RushDB('RUSHDB_API_KEY')
schema = db.ai.get_schema_markdown({'labels': ['CUSTOMER', 'ORDER', 'SUBSCRIPTION', 'SUPPORT_TICKET']}).data
at_risk = db.records.find({
'labels': ['CUSTOMER'],
'where': {
'plan': 'pro',
'SUBSCRIPTION': {'status': 'active'},
'SUPPORT_TICKET': {'status': 'open', 'sentiment': 'negative'},
},
})Implementation blueprint
Build the customer 360 graph.
Use this sequence to connect customer data from multiple systems into one queryable graph.
- 01Import CUSTOMER records with nested ORDER and SUBSCRIPTION history
- 02Attach SUPPORT_TICKET records as tickets are created or updated
- 03Attach EVENT records from product analytics as they occur
- 04Create a managed index on ticket or event text for semantic search
- 05Query churn, recommendation, and journey questions across the connected graph
Build path
- Keep orders, subscriptions, tickets, and events linked to the customer, not flattened into separate tables.
- Use exact filters for plan, status, and sentiment before any semantic ranking.
- Update subscription and ticket status as they change instead of only appending new records.
- Treat churn-risk output as a signal for a human or workflow to act on, not an automated decision.
Relevant docs
Read the exact primitives behind this pattern.
These links point to the RushDB docs pages that map directly to this blueprint: ingestion, labels, properties, values, SearchQuery, relationships, semantic search, MCP, or deployment.
Search introduction
Filter customers by plan, subscription status, and connected support or event data in one query.
Open docsRelationships
Keep orders, subscriptions, tickets, and events connected to the customer record.
Open docsImport JSON data
Push nested customer, order, and subscription data and let RushDB create the connected records.
Open docsHow it works
Build the smallest useful workflow first.
01
Connect every customer touchpoint
Link orders, subscriptions, support tickets, and events to the customer record as they occur.
02
Query across systems in one call
Run churn, recommendation, or journey queries that traverse subscription, support, and event data together.
03
Extend without a migration
Add a new event source or interaction type as a new label without redesigning the existing customer graph.
Know where it fits.
One graph, several analyses
Churn risk, recommendations, and journey mapping all read from the same connected customer graph instead of separate pipelines.
Risk signals need review
Present churn-risk and recommendation output as decision support. Final outreach, discounting, or retention actions remain a human or workflow decision.
Questions developers ask.
Next step
Start with one focused workflow.
Related use cases
Explore all use casesSales & CRM memory
Persist deal history and account context so every rep and agent recalls the right details.
Explore sales & CRM memoryCustomer support memory
Give support agents instant recall of tickets, resolutions, and account context across channels.
Explore support memoryAnalytical workloads
Move from ingest to KPI trends, dashboard drill-downs, and connected operational context.
Explore analytical workloads