How Grab hunted for fraud it had never seen before
Fraudsters change tactics as soon as a filter learns the old ones. In 2023 Grab described GraphBEAN, an unsupervised model that reads the web of orders between customers and merchants on GrabFood and GrabMart and flags what does not look like normal trade. Here is how it works, what the numbers really show, and what it means for businesses in Indonesia.

Every fraud team knows the cycle. A model learns last month's tricks, and fraudsters move on to new ones. In August 2023, Grab's Rizal Fathony, Jenn Ng and Jia Chen described GraphBEAN, a model built to catch fraud that nobody has labelled yet. It belongs to a series on how Grab uses graphs against fraud, and its central idea travels far beyond ride-hailing: when you cannot say what the next fraud will look like, learn what normal looks like and look hard at the rest.
The problem: yesterday's labels miss tomorrow's fraud
The post puts it directly: "fraudsters are incentivised to always adversarially innovate their way of conducting frauds". A model trained on past cases "may not be able to pick up new MOs, as they are new patterns that are not available in existing training data". MO is modus operandi. And labels are scarce to begin with: the paper behind the post notes that "anomalous events rarely occur".
Grab wanted a model that spots new patterns "quickly without the need for any label supervision". It started with GrabFood and GrabMart, watching the interactions between consumers and merchants. That choice matters. A single order rarely looks suspicious on its own. What gives fraud away is the pattern around it: who orders from whom, how often, and on what terms.
How they built it
The graph. Grab modelled each platform as a two-sided graph: consumers on one side, merchants on the other, and an edge wherever a consumer "placed some food/mart orders" with a merchant. Consumers and merchants carry transaction features, and each edge carries order information. Nothing here is specific to food: the design "is applicable to interaction graphs between any two groups". Guests and hotels, buyers and agents, patients and clinics have the same shape.

The model learns to rebuild normal. GraphBEAN is an autoencoder, a network trained to compress its input and rebuild it. Graph convolutions summarise each consumer and merchant, together with its neighbourhood, into a short vector (32 numbers in the paper's experiments). A feature decoder rebuilds the features of every consumer, merchant and order from those vectors, and a structure decoder predicts whether an order should exist between a given pair. Unlike most earlier methods, which "produce node-level scores only", it handles features on both nodes and edges and scores both.
The score is what the model cannot rebuild. The reasoning: "normal behaviours are common in the dataset and thus, can be easily reconstructed by the model". Rare behaviour is rebuilt badly, and that error is the anomaly score. Each order is scored by its own error. Each consumer and merchant gets its own error plus the mean or maximum of its orders' scores, so a merchant with an ordinary profile still rises if the orders around it look strange.
From score to action. The pipeline is automated end to end: it builds the graph from transactions, trains the model and scores everything. A heuristic "fraud type tagger" adds context to some anomalies, with tags such as "promo abuse" or "possible collusion". Fraud experts then review cases and act, for example by "suspending certain transaction features from suspicious merchants". An automatic system combines scores and tags "with other external signals" to stop fraudsters using promos or to block transactions.

What it delivered
The post gives no production numbers: no cases caught, no precision, no losses avoided, no false positive rate. It says the model "has led to the discovery of new fraud MOs" and lets Grab "quickly identify new types of fraudulent behaviours and then swiftly perform action on them".
The numbers are in the team's IJCNN 2023 paper, and they come from public data, not Grab's: Amazon food and movie reviews, Wikipedia edits and Reddit posts, with anomalies injected. Methods were scored on how well they ranked those anomalies (AUC-PR, where 1.0 is perfect). On the small food-review set, GraphBEAN scored 0.876 on anomalous orders. The next-best graph models reached 0.691 at most, and three could not run on the largest datasets at all because they hold the whole graph in memory.
One baseline deserves attention. A plain Isolation Forest, which ignores the graph and looks at features only, scored 0.794 on that set. GraphBEAN found anomalous edges better on every dataset, but by about 0.06 to 0.08 on the review data, far less than its lead over the other graph models. Build the simple baseline first.
What has changed since
Grab has not published a follow-up. The 2023 post said the team was extending the model to graphs with more kinds of entity and to more use cases. Grab's tech blog has carried nothing more on GraphBEAN since, so we cannot say whether it still runs.
Grab's fraud work moved toward agents. In 2025 Grab described LLM agents that follow its procedures for risk investigations. For account takeover cases, Grab reports the agent automated 87% of cases and cut handling time to about three minutes, from 23 minutes in one post and 22 in the other. Its user foundation models, general representations of each user, list fraud detection among their uses.
Graph signals now often feed a simpler model. NVIDIA's fraud blueprint says models such as XGBoost "fall short when fraud involves complex networks of linked accounts and devices", so it uses graph neural networks "to generate embeddings that can be used as additional features". Its training container's release notes now add an LLM step that turns the model's reasons into human-readable explanations.
The parts are easier to get, and they move. The open-source FinTorch library implements GraphBEAN and extends it beyond two-sided graphs. Meanwhile AWS stopped taking new customers for Amazon Fraud Detector on 7 November 2025.
Why it matters for your business
From its launch on 22 November 2024 to 30 September 2026, the Indonesia Anti-Scam Centre received 702,342 reports, blocked 702,833 accounts and froze Rp811.1 billion of victims' money, according to OJK.
Regulators already think in networks. Bank Indonesia's rule for payment service providers (PBI 23/6/PBI/2021) requires fraud management that detects fraud "pada tingkat akun, aktivitas jaringan, dan transaksi": at account, network activity and transaction level. It does not prescribe graph models, but a graph is the most direct way to see network activity. For banks, insurers, financing companies and peer-to-peer lenders, OJK's POJK 12/2024 requires an anti-fraud strategy with detection as one of four pillars.
It reaches beyond finance. Any business that pays incentives or connects two sides has GraphBEAN's shape: a delivery app with promos, a marketplace with sellers, a property portal with agents, a lead form that feeds a sales team. Fake accounts, recycled phone numbers and accounts that only trade with each other show up in the graph long before anyone files a report.
There is a duty of care too. Under Indonesia's personal data protection law (UU No. 27 of 2022), the devices, phone numbers and accounts you link are personal data, and graphs flag by association. Grab's own 2022 graph post warns that two users sharing an IP address "does not necessarily mean they are physically connected". We are engineers, not lawyers, so involve yours.
How we would build it today
- Draw the graph you already have. Customers, merchants or agents, devices, phone numbers, bank accounts and promo codes as nodes; orders, logins and payouts as edges. Rebuild it nightly.
- Start with a feature-only baseline. An Isolation Forest on per-order and per-account features, scored against cases your team has confirmed.
- Add the graph where it earns its place. GraphBEAN via FinTorch or PyTorch Geometric, or graph embeddings as extra features for a gradient-boosted model. Keep it only if it finds confirmed fraud the baseline misses.
- Send scores to people first. A daily queue of top cases, with the neighbourhood drawn so an analyst can see what links the accounts. Automate only reversible actions, such as holding a promo, for patterns analysts have confirmed.
- Turn decisions into labels. Confirmed and cleared cases train a supervised model for known patterns, while the unsupervised model watches for the next one.
- Protect the people you flag. Record why each case was flagged, keep only the links you need, offer an appeal, and ask your lawyer whether you need a data protection impact assessment.
The lasting lesson from Grab is not one architecture. It is the division of labour: rules and supervised models for the fraud you know, an unsupervised graph model for the fraud you do not, and people in between.