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']}")
2. Link Bank Account
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
| Event | Description |
|---|---|
credit.updated | Credit score updated |
credit.improved | Significant score increase |
credit.limit_increased | Credit limit upgraded |