> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Skor Risiko Transaksi: Rumus & Ambang Batas

> Cara Didit menilai setiap transaksi: kontribusi aturan, ambang batas, pemetaan status. 1,000 per bulan termasuk, lalu $0.001 tiap transaksi.

Setiap transaksi mendapatkan **skor**, sebuah bilangan bulat yang merangkum tingkat risikonya. Skor menentukan status transaksi (`APPROVED`, `IN_REVIEW`, `DECLINED`) serta keputusan apakah akan membuat alert, membuka kasus, atau meminta remediasi dari pengguna.

## Rumus

```
score = Σ(score_delta of every matched rule)
```

* Skor dasar: 0.
* Setiap aturan yang cocok menambahkan `score_delta` yang dikonfigurasi (biasanya 25–35).
* Transaksi tanpa aturan yang cocok memiliki skor 0.

## Ambang batas dan status

Ambang batas skor dikonfigurasi per aplikasi di *Transactions → Settings*.

| Pengaturan | Default | Makna |
| - | - | - |
| `preferred_review_score_threshold` | 75 | Skor ≥ nilai ini masuk ke `IN_REVIEW` |
| `preferred_decline_score_threshold` | 500 | Skor ≥ nilai ini masuk ke `DECLINED`. Nilai default dan maksimum (`500`) berarti "tidak pernah menolak berdasarkan skor", jadi turunkan nilai ini untuk mulai menolak berdasarkan skor. |

Penetapan status:

```
if decline_threshold < 500 and score >= decline_threshold: status = DECLINED
else if score >= review_threshold: status = IN_REVIEW
else: status = APPROVED
```

Tindakan aturan individual dapat menggantikan ini. Misalnya, aturan dengan `action: change_status → DECLINED` akan menolak transaksi terlepas dari skornya.

## Kontribusi aturan: contoh penerapan

Misalkan aturan-aturan berikut terpicu pada satu transaksi:

| Aturan | `score_delta` |
| - | - |
| Pengeluaran bernilai tinggi (>\$10,000) | 30 |
| Pihak lawan dari yurisdiksi berisiko tinggi | 35 |
| Pola penyusunan terdeteksi | 35 |

Total skor = 30 + 35 + 35 = **100**.

Dengan ambang batas peninjauan 60 dan ambang batas penolakan 85, transaksi ini berstatus `DECLINED`.
Dengan default (75 untuk peninjauan, 500 untuk penolakan), transaksi ini berstatus `IN_REVIEW`, karena default tidak pernah menolak berdasarkan skor.

## Penggantian tindakan

Aturan juga dapat langsung menetapkan status, melewati ambang batas skor:

| Tindakan aturan | Efek |
| - | - |
| `change_status → DECLINED` | Transaksi ditolak terlepas dari skor |
| `change_status → IN_REVIEW` | Transaksi masuk ke peninjauan terlepas dari skor |
| `change_status → AWAITING_USER` | Transaksi menunggu remediasi pengguna: alur kerja pada tindakan aturan; aturan pustaka akan kembali ke pilihan di pengaturan Anda, lalu ke alur kerja Autentikasi Biometrik Anda (wajah tersimpan diperlukan), lalu ke alur kerja default Anda |
| `add_score(n)` | Hanya menambah skor; tidak memaksa status |
| `add_tags([...])` | Menambahkan tag untuk pemfilteran di konsol; tidak memengaruhi skor |
| `add_to_list(...)` | Menambahkan pengidentifikasi ke daftar blokir |

Satu aturan dapat memiliki beberapa tindakan, misalnya `add_score(35)` + `add_tags(["structuring"])` + `add_note("Auto-tagged by structuring preset")`.

## Mengapa skor lebih baik daripada aturan keras

Ambang batas murni (misalnya "tolak setiap transaksi di atas \$100k") memicu transaksi bernilai tinggi yang sah sekaligus risiko nyata. Menggabungkan beberapa aturan `score_delta` yang moderat dengan ambang batas peninjauan dan penolakan memberi Anda:

* **Penilaian berlapis**: tidak ada satu aturan pun yang menyebabkan penolakan; beberapa sinyal harus sepakat.
* **Sensitivitas yang dapat disesuaikan**: naikkan atau turunkan ambang batas tanpa mengubah definisi aturan.
* **Urutan tingkat keseriusan**: transaksi dengan skor 65 masuk ke peninjauan (perlu diperiksa); skor 90 masuk ke status ditolak (serius).

## Mengonfigurasi ambang batas

Dari *Transactions → Settings*:

* **Ambang batas peninjauan**: naikkan jika antrean peninjauan Anda membludak; turunkan untuk menangkap lebih banyak kasus tepi.
* **Ambang batas penolakan**: naikkan untuk mengurangi penolakan positif palsu; turunkan untuk lebih condong ke pemblokiran agresif. Atur ke nilai maksimum (`500`) agar skor tinggi diarahkan ke peninjauan, bukan ditolak otomatis.

Perubahan hanya berlaku untuk transaksi **baru**; transaksi historis tetap mempertahankan status pada saat evaluasi.

## Mode uji untuk aturan

Aturan dapat berjalan dalam mode `TEST`:

* Aturan dievaluasi terhadap transaksi, tetapi tidak berkontribusi pada skor atau status.
* Catatan `TransactionRuleRun` dibuat dengan `is_test = true`.
* Memungkinkan Anda memvalidasi selektivitas aturan tanpa menanggung risiko penolakan di produksi.

Ubah ke `ACTIVE` setelah Anda puas dengan selektivitasnya.

## Kolom severity dan kolom lama

Kolom `severity` pada Transaction dan TransactionAlert dapat bernilai null dan merupakan kolom lama. Evaluasi aturan baru tidak mengisinya. Gunakan `score` sebagai sinyal risiko utama.

## Memeriksa skor

### Melalui API

Setiap respons transaksi menyertakan `score` dan array `rule_runs[]` dengan satu entri untuk setiap aturan yang cocok (lihat [skema respons](https://docs.didit.me/id/transaction-monitoring/response-schema.md#eksekusi-aturan) untuk setiap kolom):

```json theme={null}
{
  "txn_id": "tx-0002",
  "status": "IN_REVIEW",
  "score": 65,
  "rule_runs": [
    {
      "rule_title": "High-value outbound",
      "matched": true,
      "score_delta": 30,
      "severity": null,
      "status_target": null,
      "action_summary": "score +30"
    },
    {
      "rule_title": "High-risk jurisdiction counterparty",
      "matched": true,
      "score_delta": 35,
      "severity": "HIGH",
      "status_target": "IN_REVIEW",
      "action_summary": "score +35; add_tag:high_risk_country"
    }
  ]
}
```

### Di konsol

Pada halaman detail transaksi, tab **Skor** menampilkan rincian kontribusi setiap aturan yang cocok dan pemetaan status akhir. Arahkan kursor ke lencana skor untuk melihat nilai ambang batas yang dipakai saat evaluasi.

## Langkah selanjutnya

> [card] [Aturan](https://docs.didit.me/id/transaction-monitoring/rules.md)
>
> Anatomi dan evaluasi aturan.

> [card] [Alert](https://docs.didit.me/id/transaction-monitoring/alerts.md)
>
> Apa yang terjadi saat sebuah aturan terpicu.

> [card] [Pengaturan](https://docs.didit.me/id/transaction-monitoring/settings.md)
>
> Konfigurasikan ambang batas.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.