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 patterns

Data 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.

Schema sketch
Connected customer payload

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.

Input
CUSTOMER cust-8821
  plan: "pro"
  SUBSCRIPTION: [{ status: "active", renewsAt: "2026-08-01" }]
  ORDER: [{ orderId: "ord-501", totalUsd: 240 }]
  SUPPORT_TICKET: [{ status: "open", sentiment: "negative" }]
Query
{
  "labels": ["CUSTOMER"],
  "where": {
    "plan": "pro",
    "SUBSCRIPTION": { "status": "active" },
    "SUPPORT_TICKET": { "status": "open", "sentiment": "negative" }
  }
}
Result
{
  "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.

  1. 01Import CUSTOMER records with nested ORDER and SUBSCRIPTION history
  2. 02Attach SUPPORT_TICKET records as tickets are created or updated
  3. 03Attach EVENT records from product analytics as they occur
  4. 04Create a managed index on ticket or event text for semantic search
  5. 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.

How 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.