Open Banking machine learning pipeline pairing Basiq API 3.0 (CDR) financial data with scikit-learn models for transaction categorisation, anomaly detection, cash-flow forecasting, behavioural segmentation, and calibrated wellbeing scoring.
Traditional personal finance management (PFM) apps fail because raw bank transaction feeds are notoriously truncated, cryptic, and noisy (e.g. 'SQ *CAFE SURRY HILLS AUS'). Consumers receive backwards-looking pie charts instead of actionable forward-looking insights or explainable financial health scoring. Furthermore, under Australia's Consumer Data Right (CDR), handling Open Banking financial data demands strict, auditable consent management without compromising user trust or privacy.
“Raw bank feed strings look like corrupted serial numbers. Character n-grams survive the truncation bank feeds inflict on descriptions. Calibrated probabilities let low-confidence predictions fall back to deterministic rules.”
We paired financial data from Open Banking/Consumer Data Rights platform basiq.io (of Cuscal Limited) with machine learning algorithms for financial data analysis and analytical insight extraction. Bank feeds arrive with aggressive string truncations, missing merchant taxonomies, and high noise. Naive LLM prompting introduces prohibitive latency, recurring API costs, non-deterministic hallucinations, and serious privacy/compliance risks when handling CDR bank data. In contrast, confirmed fraud labels are scarce and late, making unsupervised anomaly detection essential.
Built on Basiq API 3.0, the consent-first architecture extracts bank accounts and transactions under an auditable CDR consent ledger. The backend streams raw transactions through a five-stage machine learning engine: TF-IDF + Logistic Regression with character n-grams for categorization, dual-layer Isolation Forest and MAD z-scores for anomaly detection, Holt-Winters ETS for household cash-flow forecasting, silhouette-tuned K-Means for behavioral segmentation, and isotonic-calibrated Gradient Boosting for explainable financial wellbeing scoring with transparent contributing factors.
Local mirror of Basiq CDR consent with scopes, purpose, and expiry. Token management (SERVER & CLIENT_ACCESS) and cursor pagination with retry backoff.
Building great software is mostly about deciding what *not* to build. Here is what we originally thought would work, why it collapsed in real usability testing, and what we replaced it with.
Early explorations tested cloud LLM completions for categorization and advice, alongside simple whitespace word tokenizers.
We threw away cloud LLM prompts and deployed a lightweight, 100% offline-capable scikit-learn stack. Character n-grams, Isolation Forests, Holt-Winters ETS, and isotonically calibrated Gradient Boosting with full feature attribution.
Try the real component states below. Everything runs client-side in React with real state machines.
Clean, explainable machine learning running directly on bank transaction feeds (Basiq CDR API 3.0). Switch profiles or trigger an anomaly below to see how the models respond.
Strong & Resilient
Silhouette k=4 Cluster
Est. Close: $5,120
Isolation Forest + MAD
Evaluates short, noisy household transactions with additive trend and weekly pay-cycle seasonality.
Most budgeting apps show past spending. This graph projects whether the user will have enough cash to cover their next mortgage/rent before their next salary arrives.
Holt-Winters decomposes noisy data into baseline level, trend, and weekly cycles. If data history is too brief, it safely falls back to damped linear drift.
Projected minimum account balance is $3,120, giving the user a 98% probability of zero overdraft.