Notebook environment
Vertex AI Workbench in Google Cloud Malaysia: governed BigQuery datasets, the Vertex AI SDK and your entitlements, ready to use.
Read-only session snapshot
etb_q3_drift_check.ipynbKernel: Python 3.11 (Vertex AI Workbench) · idle
ETB conversion: Q3 2026 drift check
Checking the latest Customer 360 snapshot before the Q3 campaign plan. Data read from abmb-lakehouse.gold.customer_360_mart in BigQuery under entitlement #ENT-2214; nothing leaves the Malaysia region.
[1]:
import os
from google.cloud import bigquery
# Region comes from the workspace config: the Malaysia region for customer data
bq = bigquery.Client(project="abmb-ai-sandbox", location=os.environ["ABMB_REGION"])
c360 = bq.query("""
SELECT * FROM `abmb-lakehouse.gold.customer_360_mart`
WHERE snapshot_month = '2026-07-01' AND is_etb
""").to_dataframe()
c360.shape(1094612, 42)
[2]:
c360.groupby("segment")["products_held"].mean().round(2)| Premier | 3.84 |
| Mass affluent | 2.61 |
| SME owners (personal) | 2.47 |
| Emerging affluent | 1.92 |
| Mass market | 1.38 |
[3]:
# Campaign-contact feature vs training baseline, drift check
from google.cloud import aiplatform
aiplatform.init(project="abmb-ai-prod", location=os.environ["ABMB_REGION"])
mon = aiplatform.ModelDeploymentMonitoringJob("etb-conversion-propensity-monitor")
mon.latest_stats(feature="campaign_contacts_90d").psiPSI = 0.31, moderate shift detected (threshold 0.25)
Note for the team: the campaign-contact feature has shifted materially since the July SMS campaign, consistent with the drift advisory on etb-conversion-propensity. Recommend triggering the no-code retrain before the Q3 campaign plan is locked.