Processing Modes
COMPUTED
AI CDP calculates the value from raw data.
-- Home location from cell tower usage
SELECT dtx_id, cell_id AS home_cell_id
FROM cell_events
WHERE HOUR(timestamp) BETWEEN 20 AND 8
GROUP BY dtx_id
HAVING COUNT(*) = MAX(COUNT(*)) OVER (PARTITION BY dtx_id)
PASSTHROUGH
Source value mapped directly — no transformation.
attribute: account.arpu
mode: PASSTHROUGH
source: billing.customer_arpu
mapping: direct
tip
BSS is source of truth — don't replicate billing calculations.
CUSTOM
Tenant provides own logic in SQL/Python, version-controlled with approval.
def compute_engagement(profile):
weights = {'app_sessions': 0.35, 'web_visits': 0.25,
'support_contacts': 0.20, 'social_engagement': 0.20}
score = sum(profile.get(k, 0) * v for k, v in weights.items())
return min(100, max(0, score))
Choosing the Right Mode
| Scenario | Mode | Rationale |
|---|---|---|
| Behavioral trait from CDRs | COMPUTED | CDP has raw events |
| ARPU from billing | PASSTHROUGH | Billing is authoritative |
| Churn score from ML | COMPUTED | CDP runs the model |
| Account status from CRM | PASSTHROUGH | CRM is authoritative |
| Custom loyalty tier | CUSTOM | Tenant-specific rules |