Score Range and Starting Point
These boundaries and the starting value are configurable by admins via
PUT /api/config (min_credit_score, max_credit_score, starting_credit_score). Scores are clamped to the configured range — they can never go below the minimum or above the maximum.
How the Score is Calculated
The score is computed from the starting value by applying a weight for each recorded event in the member’s history:Score Impact Events
Reliability Labels
The app also maps numeric scores to a human-readable reliability label used in the member dashboard:
Members with a score below 60 are also ineligible for loans.
API Endpoints
View your own credit score
GET /api/credit-scores/me — Any authenticated member
Returns the full credit score record for the currently logged-in user.
View all member rankings
GET /api/credit-scores/rankings — Admin only
Returns all active members sorted from highest score to lowest, along with their numeric rank. This is the same ordering used to build the payout queue when a new cycle starts.
View a specific member’s credit score
GET /api/credit-scores/{member_id} — Admin only
Returns the full credit score record for any member by their ID. Useful for investigating a specific member’s history before approving a loan.
CreditScoreResponse Fields
Configuring Score Weights
Admins can adjust any weight viaPUT /api/config. All weight fields are optional — only the fields you include are changed.
Weight changes take effect on the next score recalculation event. Existing scores are not retroactively adjusted until a new payment, loan event, or cycle completion is recorded for a member.

