> ## 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건 포함, 이후 건당 $0.001.

모든 거래에는 **점수**가 부여됩니다. 점수는 거래의 위험도를 요약한 정수입니다. 점수는 거래 상태(`APPROVED`, `IN_REVIEW`, `DECLINED`)를 결정하고, 알림을 생성할지, 케이스를 열지, 사용자 시정 조치를 요구할지도 결정합니다.

## 공식

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

* 기본 점수: 0입니다.
* 일치하는 각 규칙은 설정된 `score_delta`(보통 25\~35)에 기여합니다.
* 일치하는 규칙이 없는 거래의 점수는 0입니다.

## 임계값과 상태

점수 임계값은 애플리케이션별로 *Transactions → Settings*에서 설정합니다.

| 설정 | 기본값 | 의미 |
| - | - | - |
| `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`가 설정된 규칙은 점수와 관계없이 거래를 거부합니다.

## 규칙별 기여도: 예시

한 거래에 다음 규칙이 일치한다고 가정합니다.

| 규칙 | `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(...)` | 식별자를 차단 목록에 추가합니다 |

하나의 규칙에 여러 작업을 설정할 수 있습니다. 예: `add_score(35)` + `add_tags(["structuring"])` + `add_note("Auto-tagged by structuring preset")`

## 점수 방식이 고정 규칙보다 나은 이유

고정 기준(예: "\$100k를 넘는 모든 거래 거부")은 정상적인 고액 거래와 실제 위험 거래 모두를 트리거합니다. 중간 수준의 `score_delta` 규칙 여러 개를 검토/거부 임계값과 함께 사용하면 다음과 같은 이점이 있습니다.

* **계층형 점수 산정**: 단일 규칙만으로는 거부가 발생하지 않으며, 여러 신호가 함께 일치해야 합니다.
* **조정 가능한 민감도**: 규칙 정의를 바꾸지 않고 임계값만 높이거나 낮출 수 있습니다.
* **위험도에 따른 우선순위**: 점수 65인 거래는 검토 대상(확인할 가치가 있음)이 되고, 점수 90인 거래는 거부 대상(심각함)이 됩니다.

## 임계값 설정

*Transactions → Settings*에서 다음을 설정합니다.

* **검토 임계값**: 검토 대기열이 넘치면 높이고, 경계 사례를 더 많이 잡으려면 낮춥니다.
* **거부 임계값**: 오탐으로 인한 거부를 줄이려면 높이고, 공격적인 차단을 원하면 낮춥니다. 높은 점수를 자동 거부 대신 검토로 보내려면 최대값(`500`)으로 설정합니다.

변경 사항은 **새** 거래에만 적용됩니다. 기존 거래는 평가 시점의 상태를 그대로 유지합니다.

## 규칙 테스트 모드

규칙은 `TEST` 모드로 실행할 수 있습니다.

* 규칙이 거래를 평가하지만 점수나 상태에는 영향을 주지 않습니다.
* `is_test = true`인 `TransactionRuleRun` 레코드가 생성됩니다.
* 프로덕션 환경에서 거부를 발생시키지 않고 규칙의 선택도를 검증할 수 있습니다.

선택도가 만족스러우면 `ACTIVE`로 전환합니다.

## severity 필드와 레거시 필드

Transaction과 TransactionAlert의 `severity` 필드는 null을 허용하는 레거시 필드입니다. 새 규칙 평가는 이 필드를 설정하지 않습니다. 주요 위험 신호로는 `score`를 사용합니다.

## 점수 확인

### API로 확인

모든 거래 응답에는 `score`와, 일치한 규칙마다 항목 하나씩을 담은 `rule_runs[]` 배열이 포함됩니다. 모든 필드는 [응답 스키마](https://docs.didit.me/ko/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"
    }
  ]
}
```

### 콘솔에서 확인

거래 상세 페이지의 **점수** 탭에서 일치한 각 규칙의 기여도와 최종 상태 매핑을 볼 수 있습니다. 점수 배지에 마우스를 올리면 평가 시점에 사용된 임계값을 확인할 수 있습니다.

## 다음 단계

> [card] [규칙](https://docs.didit.me/ko/transaction-monitoring/rules.md)
>
> 규칙의 구조와 평가 방식.

> [card] [알림](https://docs.didit.me/ko/transaction-monitoring/alerts.md)
>
> 규칙이 실행될 때 일어나는 일.

> [card] [설정](https://docs.didit.me/ko/transaction-monitoring/settings.md)
>
> 임계값을 설정합니다.


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