The client is a large Australian banking group. Like every institution of its size it runs core banking, cards,
payments, trading, treasury, AML, KYC, collections and CRM on systems that were bought or built across
thirty years. Each of them holds its own copy of the customer, its own definition of an exposure and its own
batch window. None of them was designed to be read by anything other than itself.
The consequence is that the group has plenty of data and very little intelligence. A fraud pattern that is
obvious when card, payment and login events are seen together is invisible when each channel is scored by
its own engine. A concentration risk that is clear when trading and lending are viewed as one exposure is
discovered at quarter end
When the supervisor asks how a number was produced, the honest answer takes weeks to assemble.
| Cost | Driver |
|---|---|
| Fraud losses | Detection that happens after settlement rather than before authorisation. |
| False positive review | Analyst hours spent clearing alerts that a wider view of the customer would never have raised. |
| Capital held against uncertainty | Risk that cannot be measured precisely has to be covered conservatively. |
| Regulatory remediation | Findings that come from inconsistent numbers rather than from bad lending. |
| Reconciliation headcount | People employed to make two systems agree about the same event. |
| Time to answer | Weeks between a board question and a defensible answer. |
| Model sprawl | Scores in production that nobody can retrain, because the training data no longer exists. |
A single Databricks Lakehouse holds every event in three refinement stages, one catalogue governs who can see what, one feature store serves the same features to training and to the live decision path, and a
set of bounded agents does the routine analytical work that currently occupies people. Everything above the raw layer is derived, versioned and reproducible.
Autonomy in a regulated institution has to be bounded by what a supervisor would accept. The platform
acts on its own only where the action is reversible and the evidence is complete. Everything else is prepared
for a human and waits
| The platform decides | A human decides |
|---|---|
| Decline or step up a transaction | Close or exit a customer relationship |
| Raise and rank an alert | File a suspicious activity report |
| Assemble the evidence pack | Approve a credit limit change |
| Recommend a liquidity action | Execute a treasury trade |
| Draft a regulatory return | Sign and submit the return |
| Flag a model as drifting | Promote a model to production |
| Source | Mechanism and latency |
|---|---|
| Core banking | Log based change capture off the database redo stream into Kafka. Seconds, no load on the core. |
| Card and switch | ISO 8583 authorisation messages tapped at the switch, published to Kafka. Sub second. |
| Payments | SWIFT MT and ISO 20022 XML parsed at the gateway. Near real time on the outbound leg. |
| Trading and positions | FIX drop copy plus end of day position files. Intraday for fills, batch for positions. |
| Market data | Vendor feeds landed as files and streams, with a point in time snapshot kept for every valuation run. |
| CRM and servicing | Change capture on the operational store, hourly for reference data. |
| AML and KYC | Case and screening outcomes pushed on state change. |
| Documents and voice | Contracts, statements and call recordings into governed volumes, then parsed asynchronously. |
Every producer publishes against a registered schema. Compatibility is checked in the registry before the message is accepted, so a change on a source system fails at the producer rather than silently corrupting a downstream table three days later.
| Stage | What lives there and why |
|---|---|
| Bronze | The message exactly as it arrived, with source, offset, ingest time and schema version attached. Nothing is corrected here. This is the evidence layer, and it is append only. |
| Silver | Parsed, typed, deduplicated and conformed. Customers resolved to one identifier, currencies normalised, reference data joined, slowly changing dimensions maintained with validity dates. |
| Gold | Business objects that people and models actually consume. Customer 360, exposure, transaction with full context, position, limit utilisation and the regulatory reporting marts. |
Delta Live Tables expectations are declared alongside the transformation rather than run as a separate audit afterwards. A row that fails a hard expectation is quarantined instead of published, and the quarantine table is itself monitored, so bad data becomes a visible operational queue rather than a silent gap in a report.
| Expectation class | Example |
|---|---|
| Structural | Mandatory keys present, amounts numeric, currency in the approved list. |
| Referential | Every transaction resolves to an account that exists on the same business date. |
| Business | Debits and credits balance for a posting group, settlement never precedes authorisation. |
| Statistical | Daily volume and value within the expected band for that source and that day type. |
Tables, files, machine learning models, features, dashboards and functions all sit under the same permission model. That single fact removes most of the audit burden, because access to a model that was trained on customer data is governed the same way as access to the customer data itself.
| Control | Implementation |
|---|---|
| Namespace | Catalogue by environment and legal entity, schema by domain, so cross border access is a permission rather than a copy. |
| Row filters | Applied on the table, so an entity or a branch sees only its own rows regardless of which tool asks. |
| Column masks | Account numbers, identifiers and contact details masked by default and unmasked by role and purpose. |
| Tag based policy | Sensitivity tags drive masking automatically, so a new column inherits protection instead of waiting for someone to notice it. |
| Lineage | Captured automatically from query execution, column level, across notebooks, pipelines, dashboards and models. |
| Audit | Every read, write and permission change logged to an immutable store with its own retention. |
| Sharing | Open protocol sharing to auditors and group entities without copying data out of the platform. |
When a supervisor questions a figure in a return, the institution has to show where the number came from, which transformation produced it, which version of the code was running and who could have changed it. Column level lineage collected from actual execution answers that in minutes. A lineage document maintained by hand answers it in weeks and is usually wrong.
| Model | Job and shape |
|---|---|
| Fraud ring detection | Graph neural network over the customer, device, account and counterparty graph. Catches collusion that per transaction scoring cannot see, because the signal is in the structure rather than in any single payment. |
| Transaction scoring | Gradient boosted trees on behavioural and velocity features, tuned for a fixed latency budget and calibrated so the score maps to expected loss. |
| Credit risk | Probability of default, loss given default and exposure at default, with monotonic constraints where the regulator expects a direction of effect. |
| AML typologies | Sequence models over transaction chains, layered on top of the mandated rules rather than replacing them. |
| Document understanding | Transformer extraction over contracts, trade confirmations and statements, producing structured fields with a confidence score. |
| Liquidity and cash | Time series forecasting of inflow and outflow by currency and account group for intraday liquidity management. |
| Portfolio optimisation | Constrained optimisation over positions, limits and funding cost, run as a scenario rather than as an instruction. |
The most common cause of a fraud model that tests well and performs badly is that the features used in training were computed differently from the features available at decision time. One definition, published once and read by both paths, removes that class of failure
A card authorisation gives the institution a fixed window before the network times out and the transaction is approved by default. The budget is set first and the design is fitted to it, rather than the other way round.
| Stage | Budget |
|---|---|
| Message receipt and parse | ~3 ms |
| Online feature lookup | ~8 ms |
| Graph neighbourhood fetch | ~10 ms |
| Model inference | ~12 ms |
| Rules and policy overlay | ~5 ms |
| Decision, log and respond | ~7 ms |
| Headroom for the tail | Remainder of the window |
Everything that cannot be done inside the budget is done outside it. Heavy graph computation runs continuously and writes a small precomputed neighbourhood signal that the live path only has to read.
The reasoning layer is not a general assistant. Each agent has a defined question set, a defined set of tools, and a defined authority limit. It reads from the gold tables, searches the policy and regulation corpus, walks the counterparty graph, and produces a written answer with references.
| Agent | Scope and limit |
|---|---|
| Fraud triage | Assembles the case, ranks alerts by expected loss, drafts the narrative. It cannot close an alert. |
| AML investigation | Traces fund flows, pulls prior cases with similar typologies, prepares the pack. It cannot file a report. |
| Credit review | Summarises exposure, covenants and recent behaviour for a named borrower. It cannot change a limit. |
| Treasury analyst | Runs liquidity scenarios against live positions and states the funding implication. It cannot execute. |
| Regulatory drafting | Populates a return from the reporting marts and lists every figure it could not source. It cannot submit. |
| Control tester | Samples transactions against a stated control and reports exceptions with evidence. |
| Condition | Required behaviour |
|---|---|
| Figure available in a gold table | State it, name the table and the as of timestamp. |
| Figure only in a source system | Say so, and flag it as a gap in the reporting mart rather than estimating it. |
| Policy question | Quote the clause reference. Never paraphrase a rule without pointing at it. |
| Conflicting policy versions | Prefer the most recent effective date and state that the guidance changed. |
| Several plausible explanations | Rank them and state the test that would separate them. |
| Insufficient evidence | Refuse, and record the refusal so the gap can be closed. |
| Control | Implementation |
|---|---|
| Network | Private connectivity end to end, no public endpoints on the workspace or the storage account, egress restricted to an approved list. |
| Identity | Single corporate directory, short lived tokens, no shared service accounts, machine identities scoped per pipeline. |
| Encryption | Customer managed keys for storage and for managed services, with rotation and revocation held by the institution rather than the platform. |
| Secrets | Held in the enterprise vault and referenced, never present in notebooks, jobs or repositories. |
| Least privilege | Access granted to a group by role and purpose, reviewed on a recertification cycle, with standing access to production data treated as an exception. |
| Tokenisation | Card numbers and national identifiers replaced at ingest, with detokenisation available only to a small number of controlled paths. |
| Audit immutability | Access logs written once to a separate account under different administration. |
An operations technology security team assesses a new system on two questions. Can it change anything in the plant, and can anything reach the plant through it. This architecture answers no to both by construction rather than by configuration, which is what makes the assessment tractable and short
| Capability | Target and method |
|---|---|
| Storage durability | Cross region replication of the Delta storage, continuous. |
| Metadata recovery | Catalogue and permission model reproduced from code, not restored from a backup by hand. |
| Streaming recovery | Checkpoints replicated, streams restart from the last committed offset with idempotent writes. |
| Decision path | Scoring endpoints active in two regions, traffic shifted by health check, because this is the only component with a customer waiting. |
| Analytical path | Recovered after the decision path, with a longer recovery objective agreed with the business. |
| Phase | Scope | What it produced |
|---|---|---|
| Phase 0 Foundation |
Entity and residency model, catalogue layout, network and identity, source inventory with owners. | Signed data governance design and a working landing zone. |
| Phase 1 First Domain |
Cards and payments end to end, bronze to gold, with quality expectations and lineage. | Gold tables reconciled to the source of record for a full month. |
| Phase 2 Decisioning |
Feature store, transaction scoring in shadow mode against live traffic. | Latency budget met at peak and score agreement measured against the incumbent engine. |
| Phase 3 Risk and reporting |
Credit and exposure marts, first regulatory return produced from the platform in parallel with the existing process. | Two consecutive returns matched, with differences explained. |
| Phase 4 Agents |
Fraud triage and regulatory drafting released to a named user group. | Accuracy and reference quality accepted by the risk function. |
| Phase 5 Decommission |
Legacy extracts and shadow spreadsheets retired domain by domain. | Measured reduction in reconciliation effort. |
| Measure | What it tells you |
|---|---|
| Fraud loss rate | The headline number, measured per channel and per value band. |
| False positive ratio | Customer friction and analyst load created by the decisioning policy. |
| Decision latency at the tail | The ninety ninth percentile, because the average never times out and the tail does. |
| Data freshness by domain | How old the newest gold row is when a decision is taken. |
| Reconciliation breaks | Differences between the platform and the source of record, trending to zero. |
| Time to answer a supervisory query | The clearest external proof that governance is working. |
| Model coverage and drift | Share of decisions made by a monitored model still inside its validated range. |
| Refusal and gap rate | Where to invest the next domain build. |
| Metric | Enterprise scale |
|---|---|
| Customer base | 10 to 50 million |
| Daily financial transactions | 80 to 300 million |
| Streaming events | 20,000 to 100,000 per second |
| Data ingestion | 20 to 80 TB per day |
| Historical data | 2 to 10 PB |
| Models in production | 80 to 250 |
| Concurrent business users | 5,000 to 20,000 |
| Measure | Target |
|---|---|
| Streaming latency | Under 2 seconds |
| Fraud decision response | Under 500 ms |
| Model retraining | Daily to weekly by model class |
| Data pipeline service level | 99.9 percent |
| Platform availability | 99.95 percent |
| Query performance improvement | 35 to 55 percent |
| Automated data quality validation | Above 95 percent |
| Measure | Expected improvement |
|---|---|
| Fraud loss | 22 to 35 percent reduction |
| False positives | 30 to 45 percent reduction |
| AML investigation time | 40 to 55 percent faster |
| Credit risk prediction accuracy | 12 to 18 percent improvement |
| Treasury forecast accuracy | 15 to 25 percent improvement |
| Regulatory report preparation | 50 to 70 percent faster |
| Executive decision time | 35 to 50 percent faster |
| Operational cost | 15 to 22 percent reduction |
| Platform metric | Typical target |
|---|---|
| Data ingestion | 20 to 150 TB per day |
| Structured streaming throughput | 20,000 to 500,000 events per second |
| Historical lakehouse | 2 to 30 PB |
| Delta tables | 5,000 to 25,000 |
| Models under management | 100 to 500 |
| Feature store features | 10,000 to 100,000 |
| Vector embeddings | 100 million to 2 billion |
| Platform metric | Typical target |
|---|---|
| Daily inference requests | 10 to 100 million |
| Enterprise users | 5,000 to 50,000 |
| Platform availability | 99.9 to 99.95 percent |
| Automated data quality checks | Above 95 percent of published tables |
| Governance coverage | 100 percent of production datasets |
| Mean time to detect a data issue | Under 15 minutes |
| Problem | What we did |
|---|---|
| Source data quality | Profile every source in Phase 0 and publish the findings before committing to a delivery date. This is the dominant determinant of how long the build takes and it is knowable up front. |
| Customer identity resolution | Agree the matching rules and the survivorship logic with the business early, because every downstream aggregate depends on them and rework is expensive. |
| Latency under peak load | Load test against festival and salary day peaks, not against an average day, and measure the tail rather than the mean. |
| Model validation capacity | Independent validation is usually the bottleneck, not model development. Book that capacity at the start of the programme. |
| Cost drift | Streaming and always on serving cost money continuously. Tag, budget and review monthly from the first pipeline. |
| Small file accumulation | Scheduled compaction and clustering maintenance treated as a run activity with an owner. |
| Change on source systems | Schema registry with compatibility enforcement, so a core banking upgrade breaks loudly at the producer. |
| Skills concentration | Pair delivery with the client team from Phase 1, because a platform only one vendor can operate is a risk on its own. |