Skip to main content

Credit Improvement Guide

Help customers improve their creditworthiness and unlock better terms.

Overview​

The credit improvement system provides actionable recommendations based on the customer's financial behavior and verification status.

Get Improvement Recommendations​

recommendations = client.credit_risk.recommendations(
customer_id="cust_abc123"
)

print(f"Current Score: {recommendations['current_score']}")
print(f"Target Score: {recommendations['target_score']}")
print(f"Timeline: {recommendations['timeline_months']} months")

for rec in recommendations['recommendations']:
print(f"\n{rec['title']}")
print(f"Impact: {rec['impact']}")
print(f"Description: {rec['description']}")

Improvement Actions​

1. Complete KYC Verification​

Completing KYC adds +20 points to the credit score:

# Check KYC status
kyc = client.kyc.get_status(customer_id="cust_abc123")

if kyc['status'] != 'verified':
print("KYC not complete. Required steps:")
for step in kyc['steps']:
if step['status'] != 'completed':
print(f" - {step['step']}")

Bank verification adds +30 points:

# Check bank verification
user = client.users.get_me()

if not user.get('bank_verified'):
print("Bank not verified. Link a bank account:")

# Link bank
result = client.kyc.link_bank({
"customer_id": user['id'],
"bank_name": "First National Bank",
"account_name": user['company_name'],
"account_number": "XXXX1234",
"routing_number": "021000021",
"account_type": "checking",
"verification_method": "plaid"
})

3. Maintain On-Time Payments​

Each on-time payment adds +10 points:

# Check payment history
subscription = client.subscriptions.get("sub_abc123")

payments = subscription.get('payment_history', [])
on_time_count = sum(1 for p in payments if p['status'] == 'completed')

print(f"On-time payments: {on_time_count}")
print(f"Potential credit boost: +{on_time_count * 10} points")

4. Reduce Credit Utilization​

Keep utilization below 30%:

# Check credit utilization
credit = client.credit_risk.get_score(customer_id="cust_abc123")

current_limit = credit['max_credit_limit']
utilization = (credit.get('current_balance', 0) / current_limit) * 100

if utilization > 30:
suggested_reduction = (utilization - 30) / 100 * current_limit
print(f"Current utilization: {utilization:.1f}%")
print(f"Reduce balance by: ${suggested_reduction:.2f}")
print(f"Target utilization: 30%")

Complete Credit Improvement Workflow​

#!/usr/bin/env python3
"""
Credit Improvement Workflow Example
"""

from huntrecht import HuntrechtClient
import os

def improve_credit(customer_id):
client = HuntrechtClient(
client_id=os.environ.get("HUNTRECHT_CLIENT_ID"),
client_secret=os.environ.get("HUNTRECHT_CLIENT_SECRET")
)

# Get current credit status
print("=== Credit Status ===")
credit = client.credit_risk.get_score(customer_id=customer_id)
print(f"Score: {credit['score']}")
print(f"Risk Level: {credit['risk_level']}")
print(f"Max Credit: ${credit['max_credit_limit']}")

# Get recommendations
print("\n=== Recommendations ===")
recs = client.credit_risk.recommendations(customer_id=customer_id)
print(f"Target Score: {recs['target_score']}")
print(f"Timeline: {recs['timeline_months']} months\n")

# Check KYC status
print("=== KYC Status ===")
kyc = client.kyc.get_status(customer_id=customer_id)
print(f"Status: {kyc['status']}")

if kyc['status'] != 'verified':
print("\nTo improve credit:")
for step in kyc['steps']:
if step['status'] != 'completed':
print(f" [ ] Complete {step['step']}")
else:
print(" ✓ KYC verified")

# Check bank linking
print("\n=== Bank Account ===")
user = client.users.get_me()
if user.get('bank_verified'):
print(" ✓ Bank account linked")
else:
print(" [ ] Link bank account (+30 points)")

# Check payment history
print("\n=== Payment History ===")
subscriptions = client.subscriptions.list(
customer_id=customer_id,
status="active"
)

if subscriptions['data']:
sub = subscriptions['data'][0]
payments = sub.get('payment_history', [])
on_time = sum(1 for p in payments if p['status'] == 'completed')
print(f"On-time payments: {on_time}")
print(f"Potential boost: +{on_time * 10} points")
else:
print("No active subscriptions")

return credit

# Run workflow
result = improve_credit(customer_id="cust_abc123")

Webhook Events​

EventDescription
credit.updatedCredit score updated
credit.improvedSignificant score increase
credit.limit_increasedCredit limit upgraded

Next Steps​