Real-Time Scoring API

Decide on every customer in under 50ms.

CRI is a credit + churn risk API that scores any customer in real time and returns an explainable decision — APPROVE, REVIEW or REJECT — ready to wire into your loan origination, CRM, or core banking flow.

POST /v1/score credit_v1.0 · churn_v1.0 SHAP explainability
42ms
P95 Latency
2×
Models · Credit + Churn
100%
Decisions Explainable
demo · synthetic data
Why CRI

From decision in days to decision in milliseconds.

<50ms

Real-time scoring

Every request to the /v1/score endpoint returns a decision and its drivers in milliseconds. Ready for origination flows.

70% auto

Automated decisions

The engine resolves APPROVE and REJECT on its own. Only the ~30% borderline cases reach a human analyst for manual review.

100%

SHAP explainability

Every decision ships with the drivers that caused it. Audit, compliance, and analyst onboarding in a single response.

2 in 1

Credit + churn, unified

A single hybrid score combines default risk and churn risk. Approve customers who pay and who stay.

How it works

Three steps from request to decision.

01 / Ingest

POST /v1/score

Your system (CRM, core banking, loan originator) sends a JSON payload with the customer's data. The API responds in milliseconds.

02 / Score

Two ML models

XGBoost scores default (0.70) and churn (0.30). SHAP extracts the drivers.

03 / Decide

Decision + drivers

A JSON response with the decision, the score, and the top drivers that explain it.

Live Demo · Synthetic Data

Score a new customer right now.

Click Score new to watch the full flow: a request comes in, the models run, and the decision lands in the table with its explainable drivers.

streaming
POST/v1/score (simulated in-browser) · 200 OK latency
Total Scored
20
customers
Approved
55%
11 of 20
Manual Review
30%
6 of 20
Rejected
15%
3 of 20
CustomerCredit RiskChurn RiskHybrid ScoreDecision
API · One Endpoint

Plug it into your stack today.

A REST API. That's it.

No SDKs, no new infrastructure. Your system sends the customer's data and gets back the decision and its drivers. It fits any flow: loan origination, account opening, portfolio scoring, collections.

  • Real-time scoring — one POST, one response. No batches, no waiting.
  • Configurable — weights, thresholds, and business rules adapt to your risk policy.
  • Multi-language — explainability drivers in Spanish, English, or the language of your business.
  • On-prem or cloud — runs in your VPC or as a Docker container.
// illustrative — reference architecture, not a public endpoint
// POST https://api.example.com/v1/score
{
  "customer_id": "CUST-0042",
  "features": {
    "income_monthly": 85000,
    "debt_ratio": 0.34,
    "employment_years": 3.2,
    "credit_history_years": 5,
    "product_usage_score": 0.72,
    "complaints_last_90d": 0,
    "tenure_months": 48
  },
  "locale": "es"
}
// 200 OK · 42ms
{
  "customer_id": "CUST-0042",
  "decision": "APPROVE",
  "hybrid_score": 0.21,
  "credit_risk": 0.18,
  "churn_risk": 0.28,
  "drivers": {
    "credit": [
      { "feature": "Historial limpio", "impact": -0.13 },
      { "feature": "Ingreso estable", "impact": -0.09 }
    ],
    "churn": [
      { "feature": "Antigüedad: 4 años", "impact": -0.07 }
    ]
  },
  "model_versions": { "credit": "v1.0", "churn": "v1.0" }
}
# illustrative — reference architecture, not a public endpoint
curl "https://api.example.com/v1/score" \
  -H "Authorization: Bearer $NAPOLI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "customer_id": "CUST-0042",
    "features": { "income_monthly": 85000, "debt_ratio": 0.34 }
  }'
What powers this
Python· XGBoost· SHAP· FastAPI· PostgreSQL· Docker
Pilot

Wire it into your flow this month.

We stand up a sandbox in your environment, tune the models on your historical data, and you start a pilot in weeks — not months.