Reporting on fraud and anomalies

Blank 15/10/2026 17:54 - 15/10/2026 17:54
Analytics & Reporting
Reporting on fraud and anomalies

Fraud prevention and anomaly detection now feed Kademi's reporting. You can put fraud events, refused operations and anomaly alarms on a reporting dashboard, or on a page of your client's website, the same way you add any other report. Two ready-made dashboards get you started, and every piece can be mixed into dashboards you build yourself.

What you can report on

Two Kademi features watch a programme for trouble, and both now have reports:

  • Fraud prevention scores every purchase, voucher redemption and signup against a set of fraud rules. Operations that score high enough are recorded as fraud events, and, when blocking is switched on, the highest-scoring ones are refused. Each event records the score, the operation, the profile, the IP address and location, and why it scored: which rules fired, the points each added, and what each one saw. See Kademi Fraud Prevention for how it works.
  • Anomaly detection watches metrics such as orders, points, signups and website errors, and reports when one moves well away from what is normal for it. Each anomaly detector has a state (building a baseline, normal, pending or in alarm) and a history of the periods it found abnormal. See Anomaly Detectors for how they work.

Until now you could only see these on their own admin pages. Now they are available as reporting building blocks:

Building blockWhat it shows
Fraud events recordedNumber of operations that scored high enough to record
Operations refused for fraudNumber of operations that were turned away
Highest fraud scoreThe highest score seen, out of 100
% of fraud events refusedRefused operations as a share of recorded events
Fraud events (table)Every recorded event: when, score, band, whether it was refused, operation, profile, website, IP address, location and why
Refused fraud events (table)Only the refused operations, with fewer columns
Anomaly detectors in alarmHow many detectors are in alarm right now
Anomalies reportedHow many abnormal periods the detectors reported
Anomaly detectors (table)Every detector with its state and its latest reading against normal
Anomalies (table)Every abnormal period from every detector, newest first
Anomaly detector (website component)One detector in detail: its state, latest reading, % of normal and a chart of recent periods

Everything follows the date range you pick, except Anomaly detectors in alarm and the Anomaly detectors table, which always show the situation now.

The ready-made dashboards

Go to Reporting, Reporting dashboards. Two new system dashboards are in the list.

The Reporting dashboards list, with the Fraud prevention and Anomalies dashboards highlighted
(1) Fraud prevention and Anomalies are listed with the other system dashboards. Each only appears for people allowed to see what it holds (see Who sees what).

Fraud prevention

The Fraud prevention dashboard: four metric cards, the fraud events table and the refused operations table
(1) The date range at the top of the admin decides which events are counted and listed. (2) The four fraud metrics. (3) The IP address and location of each operation. (4) Why it scored: each rule that fired, the points it added, and what it saw. (5) The operations that were refused. (6) Download any table as CSV.

Reading a fraud event:

  • Score is out of 100. Each fraud rule that fires adds its points.
  • Band is Watch (recorded and allowed) or Block (scored at or above the block threshold).
  • Refused says whether the operation was actually turned away. A Block event that was not refused means blocking is switched off for the account, so it was recorded and allowed through. That is the normal state for a new account, while it gathers evidence.
  • Why lists each rule that fired, for example order-velocity-ip +35 (6 orders from 203.0.113.45 in the last 1h): the rule, the points it added, and what it saw.
  • A signup has no profile yet, so its Profile cell is empty.

Anomalies

The Anomalies dashboard: two metric cards, the anomaly detectors table and the anomalies table
(1) The date range, here 3 months. (2) Detectors in alarm now, and anomalies reported in the range. (3) Each detector's state. (4) The latest reading as a percentage of normal. (5) Every abnormal period, newest first.

A detector's State is one of:

  • Building a baseline: it has not yet seen enough history to know what normal looks like.
  • Normal: the latest period was within the usual range.
  • Abnormal, not yet an incident: a period was abnormal, but not yet for long enough to raise an alarm.
  • In alarm: abnormal for long enough to count as an incident. In alarm since says when it started.
  • Paused or Not running: switched off, or unable to run, for example because the index query it watches has been deleted.

The detectors themselves, including their sensitivity and notifications, are managed under Reporting, Anomaly detectors.

Building your own dashboard

The system dashboards cannot be changed, because app updates replace them. To build one for your client, start a dashboard of your own: open any dashboard, click the cog at the top right, and choose Save as new dashboard. Then use Add widget from the same cog menu.

The Add widget dialog, filtered to fraud, listing six fraud widgets
(1) Type to filter the widget list. (2) All six fraud widgets contain the word "fraud"; all four anomaly widgets contain "anomal".

Widgets can sit beside any other report, so a single dashboard can tell the whole story of a programme. Here fraud and anomaly widgets share one dashboard:

A custom Programme health dashboard with fraud metrics, anomaly metrics, refused fraud events and anomaly detectors
(1) The cog holds Add widget, Change title, Change access and the layout tools. (2) Fraud metrics. (3) Anomaly metrics. (4) Refused fraud events. (5) The anomaly detectors.

Use each widget's own menu to resize it, move it or change its title. Use Change access to limit who can see the dashboard. Whatever access you give, each widget still checks its viewer: see Who sees what.

Putting it on your client's website

There are two ways to show this on a website page.

  • Publish a whole dashboard with the Reporting Dashboard component, and choose Fraud prevention, Anomalies or a dashboard you built. This is the quickest way, and the dashboard stays in step as you change it in the admin.
  • Place components one by one for full control of the layout, as below.
A website page showing fraud metric cards, an anomaly detector component with its chart, and a table of refused fraud events
A page built from components. (1) Metric cards. (2) The anomaly detector's state. (3) Its recent periods: the line is what happened, and the shaded band is what was expected. Marked points were reported as abnormal. (4) A table of refused fraud events.

The Anomaly detector component

In the content editor, add a component and search for anomaly.

The content editor's component picker, filtered to anomaly, showing the Anomaly Detector component
(1) Search the component picker. (2) The Anomaly Detector component.
The Anomaly Detector component's settings: a Detector dropdown and a Hide the detector's name checkbox
(1) Open the component's settings with its cog. (2) Choose the detector to show. The list holds only the detectors you are allowed to see. (3) Hide the detector's name if the page already has a heading for it.

Fraud and anomaly tables

Use the existing Query Table component. Choose Query table as the query type, then pick a table by its id:

  • fraudEvents: all fraud events
  • fraudRefusedEvents: refused operations only
  • anomalyDetectorStatus: every detector and its state
  • anomalyIncidents: every abnormal period
The Query Table component settings with fraudRefusedEvents chosen, a title, and Show Export to CSV set to Yes
(1) The table to show. (2) The heading shown above it. (3) Whether visitors get a CSV download button. (4) The result on the page.

Metric cards

Use the Metric component and choose one of the fraud or anomaly metrics listed in What you can report on. Cards and tables follow the date range the visitor chooses on the page.

Who sees what

Fraud events contain names and IP addresses, and anomaly figures describe the whole account's trading. So these reports have their own rules, on top of any access you set on a dashboard or page.

  • Fraud reporting is shown to people who hold Fraud Viewer, Fraud Manager or Reports Manager on the account itself, and to Administrators. The same role granted on a child organisation, or only for a website, does not count, because fraud events are not split by organisation.
  • Anomaly reporting is shown to people with full reporting access to the account (Reporting Access on the account itself, or Administrator) and a reporting role such as Reports Viewer. Each detector is also only shown to people who can open the index query it watches. For example, the website traffic detectors read the log query, which is limited to Website Administrators.
  • Regional and partner managers whose reporting access is limited to their own organisations do not see fraud or anomaly data. These reports describe the whole account, not one organisation.

When someone without access opens a page or dashboard, nothing is revealed:

  • On a dashboard, widgets they may not see are left out, and the Add widget list does not offer them.
  • On a website page, components placed directly show that the data is not available to them:
The same website page viewed by a visitor without access: metric cards say No data, there is no anomaly detector, and the table has no records
The page above, viewed by someone who is not logged in. (1) Metric cards say No data. The anomaly detector component shows nothing at all. (2) Tables have no records.

In the content editor, a detector that was deleted, or that you are not allowed to see, shows a short grey note instead, so you can tell why it is blank.

So you can place these reports on a page that other people also use, and grant the roles only to the people who should see them.

Things to know

  • IP addresses are shown in the fraud tables, including on websites and in CSV exports. For a fraud event the address is often the most useful thing to know. The same address across unrelated profiles is a strong sign of trouble, so take care over who you give the fraud roles to.
  • Fraud events are only recorded above the recording threshold (30 by default). Operations that score below it are not kept, so they never appear in these reports. The thresholds are set under Website Manager, Fraud Prevention.
  • A new detector needs history. Until it has a baseline, its readings show no % of normal.
  • Don't turn on caching for these metrics. A cached metric is stored once and shown to everyone, so it would skip the access checks above.
  • To use any of this, the site needs current versions of the KReporting app and admin-lib. Update both together from the website's Apps tab.