CoolFace
Datasetpublic

metaphilabs/credit-underwriting-preview

Credit Underwriting Benchmark A 1387-task RL environment for financial document understanding. Agents are provided with business documents (bank statements), and asked to assess the risk associated by using a context-rich classification taxonomy for each transaction . The agent's output is programmatically graded against the ground truth labelled by domain epxerts with over 10+ years of experience in the risk assessment field. Scale 1387 qualifying cases… See the full description on the dataset page: https://huggingface.co/datasets/metaphilabs/credit-underwriting-preview.

sourceHugging Facemitupdated 6mo agoView on Hugging Face
1likes92downloads
Dataset Card

## Credit Underwriting Benchmark

A 1387-task RL environment for financial document understanding. Agents are provided with business documents (bank statements), and asked to assess the risk associated by using a context-rich classification taxonomy for each transaction . The agent's output is programmatically graded against the ground truth labelled by domain epxerts with over 10+ years of experience in the risk assessment field.

## Scale

  • 1387 qualifying cases (Businesses, loan-origination)
  • 5,607,517 total transactions
  • 1-73 PDFs per case (median: 4, mean: 6.4)

## Task Definition

Input1-73 bank statement PDFs per case, no PII information
OutputExtract Structured JSON: transactions (date, amount, balance, narration) and categorize transaction type, counterparty
RewardExtraction F1 (hash-based), categorization accuracy
GradingFully programmatic, instant (~seconds per case)

## Difficulty Distribution

### By PDF Count

PDFsCases% of Total
126919.4%
2-340629.3%
4-631722.9%
7-1015411.1%
10+24117.4%

### By Transaction count

TransactionsCases% of Total
<100110.8%
100-50015311.0%
500-2,00053538.6%
2,000+68849.6%

### Financial Data Analyst (Extraction)

Extracts structured transaction data from PDF bank statements.

ModelHarnessPass@195% CITasks
GPT-5.4Codex33.3%8.3 - 58.3%12
Claude Opus 4.6Claude Code31.3%12.5 - 56.3%16
Gemini 3.1 ProGemini CLI12.5%0.0 - 29.2%12

### Credit Analyst (Categorization)

Categorizes bank transactions by type, counterparty, and group.

ModelHarnessPass@195% CITasks
Claude Opus 4.6Claude Code31.3%12.5 - 56.3%16
GPT-5.4Codex16.7%0.0 - 41.7%12
Gemini 3.1 ProGemini CLI12.5%0.0 - 33.3%12

## For RL Training

  • Reward signal: Extraction F1 as scalar reward (0.0 to 1.0), fully programmatic
  • Rollout: Agent receives PDFs → produces structured JSON → verifier computes F1 in seconds
  • Parallelizable: Each case is independent — runs in an isolated container
  • Difficulty calibration: Easy (84% F1) to hard (43% F1) — significant headroom
  • No human evaluation needed: reward signal is instant and deterministic
  • Decomposed rewards available: extraction F1 + categorization accuracy + counterparty accuracy as separate signals

## Dataset Schema

json
    {
      "id": "case-000",
      "case_id": "uuid-based-case-identifier",
      "pdf_gcs_uris": ["gs://.../_scrubbed.pdf"],
      "pdf_filenames": ["fileid_scrubbed.pdf"],
      "extraction_ground_truth": "{...}",
      "categorization_ground_truth": "{...}",
      "description": "3 PDFs - 792 txns",
      "case_type": "Business Case",
      "gt_status": "clean"
    }