Use case guide
Fraud review routing
Control fraud losses and review cost by routing high‑uncertainty cases to manual review or deeper checks.
Overview
Problem
Fraud systems are expensive when you over‑review, and catastrophic when you under‑review. Raw scores drift and miscalibrate over time.
Reality Signal
Convert a score into prob_est + uncertainty and a boolean decision.
Policy
Auto‑approve only when decision=true and uncertainty is low. If uncertainty is high or decision=false, send to manual review or deeper checks.
Architecture
- Base model produces a score for the decision you care about.
- Send the score to
/decide. - Use
prob_est+uncertaintyto route safely. - When the true outcome is known, call
/feedbackto improve calibration.
Routing actions: automate, reroute, reprompt, or escalate.
1) Decide + route fraud cases
Call /decide with your model’s score. Route based on calibrated probability and uncertainty.
Request
bash
curl -X POST https://onprem-api-sowl.jollysand-1b9ed42e.swedencentral.azurecontainerapps.io/decide \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"features": { "score": 0.82 }
}'Response
json
{
"decision_id": 123,
"prob_est": 0.62,
"uncertainty": 0.08,
"decision": false
}Use
prob_est + uncertainty as routing signals.2) Feedback from investigation
When ground truth is known, send /feedback with the decision_id so calibration improves over time.
Feedback (cURL)
bash
curl -X POST https://onprem-api-sowl.jollysand-1b9ed42e.swedencentral.azurecontainerapps.io/feedback \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"decision_id": 123,
"feedback": 1,
"force_retrain": false
}'Reference implementation
Python
python
import requests
API_URL = "https://onprem-api-sowl.jollysand-1b9ed42e.swedencentral.azurecontainerapps.io"
HEADERS = {"x-api-key": "YOUR_API_KEY"}
def rc_decide(score: float):
r = requests.post(f"{API_URL}/decide", json={"features": {"score": score}, headers=HEADERS)
r.raise_for_status()
return r.json()
fraud_score = 0.78
rc = rc_decide(fraud_score)
if rc["decision"] and rc["uncertainty"] <= 0.12:
approve_transaction()
else:
send_to_fraud_review()Tune uncertainty guardrails to match review capacity; Reality Signal helps keep your policy stable as score distributions drift.