49 lines
1021 B
Plaintext
49 lines
1021 B
Plaintext
def Calculate(sample):
|
|
|
|
score = 0
|
|
|
|
match sample["RevolvingUtilizationOfUnsecuredLines"]:
|
|
|
|
case x if x < 0.115: score += 180.0
|
|
|
|
case x if x < 0.215 and x >= 0.115: score += 148.0
|
|
|
|
case x if x < 0.495 and x >= 0.215: score += 126.0
|
|
|
|
case x if x < 0.775 and x >= 0.495: score += 90.0
|
|
|
|
case x if x >= 0.775: score += 48.0
|
|
|
|
match sample["NumberOfTimes90DaysLate"]:
|
|
|
|
case x if x < 0.5: score += 119.0
|
|
|
|
case x if x >= 0.5: score += -1.0
|
|
|
|
match sample["NumberOfTime60-89DaysPastDueNotWorse"]:
|
|
|
|
case x if x < 0.5: score += 98.0
|
|
|
|
case x if x >= 0.5: score += 8.0
|
|
|
|
match sample["NumberOfTime30-59DaysPastDueNotWorse"]:
|
|
|
|
case x if x < 0.5: score += 134.0
|
|
|
|
case x if x < 1.5 and x >= 0.5: score += 68.0
|
|
|
|
case x if x >= 1.5: score += 25.0
|
|
|
|
match sample["Age"]:
|
|
|
|
case x if x < 33.5: score += 67.0
|
|
|
|
case x if x < 42.5 and x >= 33.5: score += 74.0
|
|
|
|
case x if x < 56.5 and x >= 42.5: score += 82.0
|
|
|
|
case x if x < 63.5 and x >= 56.5: score += 101.0
|
|
|
|
case x if x >= 63.5: score += 124.0
|
|
|
|
return score |