# Credit Risk Scoring

> Scores customer credit risk on payment behavior, concentration, and credit rating via a bundled calculator, and separately flags customers whose exposure concentration alone justifies a credit limit regardless of how well they've paid historically. Use whenever the user wants to assess counterparty or customer credit risk, is setting or reviewing credit limits, or has a credit risk process that scores payment history but never checks exposure concentration on its own.

- Skill: `natan-mohart/credit-risk-scoring` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add natan-mohart/credit-risk-scoring`
- Raw SKILL.md: https://api.skillmd.com/api/skills/natan-mohart/credit-risk-scoring/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: Natan-Mohart (https://skillmd.com/u/natan-mohart)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/natan-mohart/credit-risk-scoring

---


# Credit Risk Scoring

## When to use
Use whenever customer or counterparty default risk needs assessing — setting credit limits, reviewing exposure before extending more credit, or building a customer risk register. Especially use to replace a credit process that scores payment behavior alone and never separately checks concentration, since a customer with a great payment history can still represent unacceptable risk purely because of how much exposure sits with them.

## What it does
Scores each customer's credit risk via a bundled calculator blending payment behavior (days late relative to terms, frequency of late payments), concentration (percentage of total receivables tied to this one customer), and credit rating, then separately and explicitly flags any customer whose concentration alone (over 20% of total AR) justifies a credit limit regardless of their individual risk score.

## Method
1. **Gather exposure, payment behavior, and rating per customer**: current exposure, average days to pay against their stated terms, count of late payments over the past year, and an external or internal credit rating if available.
2. **Run the bundled calculator** (`scripts/credit_risk.py`) to get a blended risk score per customer (weighted across payment behavior, concentration, and rating) and the concentration percentage of total AR.
3. **Treat concentration as its own risk category, not folded silently into the blended score.** A customer with excellent payment history but 25% of total receivables represents real risk purely from concentration — if they ever do default, the impact is outsized regardless of how reliably they've paid so far.
4. **Read the blended risk score for customers below the concentration threshold** as the primary signal — payment behavior and rating are what actually predict default risk for a customer whose exposure isn't already large enough to be a structural concern on its own.
5. **Set credit limits based on both flags, not just one.** A high-risk-score customer needs tighter terms or reduced exposure regardless of size; a large-but-low-risk customer still needs a stated concentration cap, since concentration risk doesn't depend on how well they've behaved historically.
6. **Revisit scores on a regular cadence**, not just at onboarding — a customer's payment behavior and financial health can deteriorate well before a formal rating downgrade or an actual missed payment makes it obvious.
7. **Use the flags to drive specific actions**: tighter payment terms, required deposits or prepayment, formal credit limit reductions, not just a risk label with no follow-through.

## Inputs
- Total accounts receivable
- Per customer: current exposure, average days to pay, stated payment terms, count of late payments in the past year, credit rating if available
- Config saved as JSON matching the format documented at the top of `scripts/credit_risk.py`

## Output format
Ranked customer table with exposure, percentage of total AR, days late, rating, and blended risk score; explicit concentration flags for any customer over 20% of total AR; explicit high-risk-score flags with recommended actions.

## Example
MegaBuy Inc carries $1.1M of exposure, both the highest risk score (8.1/10, driven by consistently late payments and a B rating) and the highest concentration (26% of total AR). Both flags fire independently — even if their payment behavior improved and the risk score dropped, the concentration flag alone would still justify a stated credit limit, a distinction a single blended score would have collapsed into one number.

## Common pitfalls
- Folding concentration into a blended score without also flagging it separately, hiding a structural risk behind a merely mediocre overall number.
- Scoring credit risk once at onboarding and never revisiting it as payment behavior or financial health changes.
- Treating a good payment history as sufficient justification for unlimited exposure, ignoring what concentration alone means if that customer ever does default.

