> ## 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.

# 取引リスクスコアリング：計算式としきい値

> Didit はルールごとの寄与度で各取引をスコアリングし、しきい値に基づいて APPROVED・IN_REVIEW・DECLINED に振り分けます。毎月1,000件まで含まれ、以降は1件あたり$0.001です。

すべての取引には**スコア**が付与されます。スコアは取引のリスクを要約した整数です。スコアによって取引のステータス (`APPROVED`、`IN_REVIEW`、`DECLINED`) が決まり、アラートの作成、ケースの起票、ユーザーによる是正対応の要求を行うかどうかも判定されます。

## 計算式

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

* 基本スコア: 0。
* 一致した各ルールが、設定された`score_delta`（通常は25〜35）を加算します。
* 一致するルールがない取引のスコアは0です。

## しきい値とステータス

スコアのしきい値は、アプリケーションごとに*取引 → 設定*で設定します。

| 設定 | デフォルト | 意味 |
| - | - | - |
| `preferred_review_score_threshold` | 75 | スコアがこの値以上の場合は`IN_REVIEW`になります |
| `preferred_decline_score_threshold` | 500 | スコアがこの値以上の場合は`DECLINED`になります。デフォルト値かつ最大値である`500`は「スコアによる却下を行わない」ことを意味します。スコアによる却下を開始するには、この値を下げてください。 |

ステータスの割り当て:

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

個々のルールのアクションでこれを上書きできます。たとえば、`action: change_status → DECLINED`を持つルールは、スコアに関係なく取引を却下します。

## ルールの寄与と計算例

1件の取引で次のルールが発動したとします。

| ルール | `score_delta` |
| - | - |
| 高額の送金 (\$10,000超) | 30 |
| 高リスク法域の取引相手 | 35 |
| ストラクチャリングのパターンを検出 | 35 |

合計スコア = 30 + 35 + 35 = **100**。

レビューしきい値が60、却下しきい値が85の場合、この取引は`DECLINED`になります。
デフォルトのしきい値 (レビュー75、却下500) の場合は`IN_REVIEW`になります。デフォルトではスコアによる却下が行われないためです。

## アクションによる上書き

ルールは、スコアのしきい値を適用せずにステータスを直接設定することもできます。

| ルールのアクション | 効果 |
| - | - |
| `change_status → DECLINED` | スコアに関係なく取引が却下されます |
| `change_status → IN_REVIEW` | スコアに関係なく取引がレビューに回されます |
| `change_status → AWAITING_USER` | 取引はユーザーによる是正対応を待つ状態になります。使用されるのはルールのアクションに指定されたワークフローです。ライブラリのルールでは、設定で選択したワークフロー、次に生体認証のワークフロー (保存済みの顔が必要)、次にデフォルトのワークフローの順にフォールバックします |
| `add_score(n)` | スコアへの加算のみを行い、ステータスを強制的に設定しません |
| `add_tags([...])` | コンソールでのフィルター用にタグを付与します。スコアには影響しません |
| `add_to_list(...)` | 識別子をブロックリストに追加します |

1つのルールに複数のアクションを設定できます。たとえば`add_score(35)` + `add_tags(["structuring"])` + `add_note("Auto-tagged by structuring preset")`のような組み合わせです。

## スコアが固定ルールより優れている理由

単純なしきい値 (例:「\$100kを超えるすべての取引を却下する」) では、正当な高額取引と実際のリスクの両方が引っかかります。中程度の`score_delta`を持つ複数のルールと、レビュー・却下のしきい値を組み合わせることで、次のメリットが得られます。

* **多層的なスコアリング**: 単一のルールだけでは却下されず、複数のシグナルが一致する必要があります。
* **感度の調整**: ルールの定義を変更せずに、しきい値を上げ下げできます。
* **深刻度に応じた振り分け**: スコア65の取引はレビューに回り (確認する価値あり)、スコア90の取引は却下されます (深刻)。

## しきい値の設定

*取引 → 設定*から設定します。

* **レビューしきい値**: レビューキューがあふれている場合は上げ、より多くのエッジケースを捕捉したい場合は下げます。
* **却下しきい値**: 誤検知による却下を減らしたい場合は上げ、積極的なブロックを優先したい場合は下げます。最大値 (`500`) に設定すると、高スコアの取引は自動却下されずにレビューに回されます。

変更は**新規**の取引にのみ適用されます。過去の取引は、評価時点のステータスを保持します。

## ルールのテストモード

ルールは`TEST`モードで実行できます。

* ルールは取引に対して評価されますが、スコアやステータスには影響しません。
* `TransactionRuleRun`レコードが`is_test = true`で作成されます。
* 本番環境で却下されるリスクなしに、ルールの選択性を検証できます。

選択性に問題がなければ`ACTIVE`に切り替えてください。

## 重大度とレガシーフィールド

TransactionとTransactionAlertの`severity`フィールドはnull許容のレガシーフィールドです。新しいルール評価ではこのフィールドは設定されません。主要なリスクシグナルとしては`score`を使用してください。

## スコアの確認

### API経由

すべての取引のレスポンスには、`score`と、一致したルールごとに1エントリを持つ`rule_runs[]`配列が含まれます (すべてのフィールドについては[レスポンススキーマ](https://docs.didit.me/ja/transaction-monitoring/response-schema.md#ルール実行)を参照してください)。

```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"
    }
  ]
}
```

### コンソール

取引の詳細ページでは、**Score**タブに、一致した各ルールの寄与の内訳と最終ステータスへのマッピングが表示されます。スコアのバッジにカーソルを合わせると、評価時点で使用されたしきい値が表示されます。

## 次のステップ

> [card] [ルール](https://docs.didit.me/ja/transaction-monitoring/rules.md)
>
> ルールの構成と評価。

> [card] [アラート](https://docs.didit.me/ja/transaction-monitoring/alerts.md)
>
> ルールが発動したときの動作。

> [card] [設定](https://docs.didit.me/ja/transaction-monitoring/settings.md)
>
> しきい値を設定します。


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