Rulebooks
The following section displays the content of rulebooks_prod.yml.
Raw YAML Content
version: v1
title: "Production rulebooks"
rulebooks:
#### FLOAT RULEBOOKS
- rulebook_name: primary_rulebook_v1_0
priority: 100
apply_to: 100
type: floats
superseding: true
rules:
- rule_name: RuleCashAdvanceScore
name: cash_advance_score_200
ab_group: underwriting.rulebook.primary.ml.prod
custom_props:
min_cash_advance_score: 200
loan_amount_window: 20
- rule_name: RuleMLPaybackPrediction
name: ml_payback_prediction_0_8
ab_group: underwriting.rulebook.primary.ml.prod
custom_props:
min_prediction_score: 0.8
max_float_count: 1
deny_non_applicable: false
- rule_name: RuleLowTransactions
custom_props:
days_to_consider: 32
average_transactions: 1.6
float_rank: 1
- rule_name: RuleAgeOfAccount
custom_props:
min_age: 25
- rule_name: RuleMultipleAccounts
custom_props:
max_accounts: 2
- rulebook_name: rulebook_catch_all_v1_0
priority: 200
apply_to: 0
type: floats
superseding: false
rules:
- rule_name: RuleValidDebitCard
- rule_name: RuleGoodStanding
- rule_name: RuleSuspiciousHighBalance
custom_props:
high_account_balance: 1000000
min_age_of_account: 5
- rulebook_name: rulebook_balance_catch_all_v1_1
priority: 300
apply_to: 100
type: floats
superseding: false
rules:
- rule_name: RuleBalanceRequirement
name: balance_requirement_1000
custom_props:
min_available: 100000
min_current: 2000
- rule_name: RuleGoodStanding
- rule_name: RuleValidDebitCard
- rule_name: RuleSuspiciousHighBalance
custom_props:
high_account_balance: 1000000
min_age_of_account: 5
- rulebook_name: rulebook_balance_catch_all_v1_2
priority: 250
apply_to: 100
type: floats
superseding: false
rules:
- rule_name: RuleBalanceBetweenBounds
custom_props:
max_float_rank: 3
min_balance: 1
max_balance: 100
- rule_name: RuleBalanceRequirement
name: balance_requirement_100
custom_props:
min_available: 10000
min_current: 40000
min_num_of_floats: 1
- rule_name: RuleGoodStanding
- rule_name: RuleValidDebitCard
- rule_name: RuleSuspiciousHighBalance
custom_props:
high_account_balance: 1000000
min_age_of_account: 5
- rulebook_name: rulebook_existing_balance_bypass_v1_0
priority: 8000
apply_to: 30
type: floats
superseding: false
rules:
- rule_name: RuleGoodStanding
- rule_name: RuleValidDebitCard
- rule_name: RuleLowTransactions
name: low_transactions_6_25
custom_props:
days_to_consider: 32
average_transactions: 6.25 # 200+ transactions in 32 days
float_rank: 1
- rule_name: RuleCollectionsErrors
name: collection_errors_0_2
custom_props:
max_error_ratio: 0.2
- rule_name: RuleFloatRank
name: float_rank_1
custom_props:
min_float_rank: 1
- rulebook_name: rulebook_core_v1_8
priority: 9900
apply_to: 100
type: floats
superseding: false
rules:
- rule_name: RuleBalanceRequirement
name: balance_requirement_0
custom_props:
min_available: 0
min_current: 0
- rule_name: RuleInstitutionCheck
custom_props:
min_balance: 500
institution_list: [ins_35, ins_115640, ins_129229, ins_132289]
- rule_name: RuleBalanceBetweenBounds
custom_props:
max_float_rank: 3
min_balance: 1
max_balance: 100
- rule_name: RuleValidDebitCard
- rule_name: RuleGoodStanding
- rule_name: RuleRecurringDepositsAndHighTransfer
custom_props:
min_income: -14900
transfer_ratio: 0.8
- rule_name: RuleCollectionsErrors
custom_props:
max_error_ratio: 1.5
- rule_name: RuleAverageBalance
custom_props:
available_threshold: 0
- rule_name: RuleSpendVelocity
custom_props:
min_income: -14900
spend_percentage: 0.8
days_after_income: 4
allowed_high_spend_instances: 2
- rule_name: RuleSuspiciousHighBalance
custom_props:
high_account_balance: 1000000
min_age_of_account: 5
- rulebook_name: rulebook_core_v1_9
priority: 9850
apply_to: 10
type: floats
superseding: false
rules:
- rule_name: RuleBalanceRequirement
name: balance_requirement_0
custom_props:
min_available: 0
min_current: 0
- rule_name: RuleInstitutionCheck
custom_props:
min_balance: 500
institution_list: [ins_35, ins_115640, ins_129229, ins_132289]
- rule_name: RuleBalanceBetweenBounds
custom_props:
max_float_rank: 3
min_balance: 1
max_balance: 100
- rule_name: RuleValidDebitCard
- rule_name: RuleGoodStanding
- rule_name: RuleRecurringDepositsAndHighTransfer
custom_props:
min_income: -14900
transfer_ratio: 0.8
- rule_name: RuleCollectionsErrors
custom_props:
max_error_ratio: 1.5
- rule_name: RuleAverageBalance
custom_props:
available_threshold: 0
- rule_name: RuleSuspiciousHighBalance
custom_props:
high_account_balance: 1000000
min_age_of_account: 5
- rulebook_name: rulebook_cash_advance_v1_0
priority: 9600
apply_to: 100
type: floats
superseding: false
rules:
- rule_name: RuleCashAdvanceScore
name: cash_advance_score_500
custom_props:
min_cash_advance_score: 500
loan_amount_window: 20
max_float_rank: 0
deny_for_float_rank: true
- rule_name: RuleValidDebitCard
- rule_name: RuleSuspiciousHighBalance
custom_props:
high_account_balance: 1000000
min_age_of_account: 5
- rulebook_name: rulebook_cash_advance_v2_0
priority: 9650
apply_to: 100
type: floats
rules:
- rule_name: RuleCashAdvanceScore
name: cash_advance_score_700
custom_props:
min_cash_advance_score: 700
loan_amount_window: 20
- rule_name: RuleValidDebitCard
- rule_name: RuleGoodStanding
- rule_name: RuleSuspiciousHighBalance
custom_props:
high_account_balance: 1000000
min_age_of_account: 5
- rulebook_name: rulebook_ml_cash_advance_v1_0
priority: 9800
apply_to: 100
type: floats
rules:
- rule_name: RuleValidDebitCard
- rule_name: RuleGoodStanding
- rule_name: RuleFloatRank
name: float_rank_0
custom_props:
max_float_rank: 0
- rule_name: RuleMLPaybackPrediction
name: ml_payback_prediction_0_35
custom_props:
min_prediction_score: 0.35
max_float_count: 0
deny_non_applicable: true
- rule_name: RuleSuspiciousHighBalance
custom_props:
high_account_balance: 1000000
min_age_of_account: 5
- rulebook_name: rulebook_float_checks_a
priority: 9750
apply_to: 100
type: floats
superseding: false
rules:
- rule_name: RuleFloatRank
name: float_rank_5
custom_props:
min_float_rank: 5
- rule_name: RuleRecentFloat
name: recent_float_10
custom_props:
max_days: 10
- rule_name: RuleGoodStanding
- rulebook_name: rulebook_float_checks_b
priority: 9700
apply_to: 100
type: floats
superseding: false
rules:
- rule_name: RuleFloatRank
name: float_rank_3
custom_props:
min_float_rank: 3
- rule_name: RuleRecentFloat
name: recent_float_5
custom_props:
max_days: 5
- rule_name: RuleGoodStanding
- rulebook_name: rulebook_competitor_ewa_dollar_amount
priority: 9500
apply_to: 100
type: floats
superseding: false
rules:
- rule_name: RuleEWADollarAmount
custom_props:
days_to_consider: 32
required_min_borrow_amount: 35000
required_min_repayment_amount: 35000
min_advance_amount: -2000
- rule_name: RuleValidDebitCard
- rule_name: RuleGoodStanding
- rule_name: RuleFloatRank
name: float_rank_0
custom_props:
max_float_rank: 0
- rulebook_name: competitor_ewa_rulebook_v1_0
priority: 9500
apply_to: 100
type: floats
superseding: false
rules:
- rule_name: RuleCompetitorEwa
custom_props:
number_of_days: 32
min_inflows: 10
min_repayments: 10
min_advance_amount: -2000
- rule_name: RuleValidDebitCard
- rule_name: RuleGoodStanding
- rulebook_name: rulebook_ontime_float_repayment_v2_0
apply_to: 100
priority: 8700
type: floats
superseding: false
rules:
- rule_name: RuleValidDebitCard
- rule_name: RuleGoodStanding
- rule_name: RuleMLPaybackPrediction
name: ml_payback_prediction_0_47
custom_props:
min_prediction_score: 0.47
max_float_count: 1
deny_non_applicable: true
- rule_name: RuleSubscriptionRank
name: subscription_rank_2_50
custom_props:
min_rank: 2
paid_within_days: 50
- rule_name: RuleOnTimeFloatPayback
name: on_time_float_payback_3_1_1
custom_props:
days_after_float_on_time: 3
required_last_floats_on_time: 1
required_float_rank: 1
- rule_name: RuleFloatRank
name: float_rank_must_be_1
custom_props:
min_float_rank: 1
max_float_rank: 1
- rulebook_name: rulebook_ontime_float_repayment_v3_0
apply_to: 50
priority: 8600
type: floats
superseding: false
rules:
- rule_name: RuleValidDebitCard
- rule_name: RuleGoodStanding
- rule_name: RuleOnTimeFloatPayback
name: on_time_float_payback_3_2_3
custom_props:
days_after_float_on_time: 3
required_last_floats_on_time: 2
required_float_rank: 3
- rulebook_name: rulebook_ontime_float_repayment
apply_to: 100
priority: 8800
type: floats
superseding: false
rules:
- rule_name: RuleValidDebitCard
- rule_name: RuleGoodStanding
- rule_name: RuleOnTimeFloatPayback
custom_props:
days_after_float_on_time: 7
required_last_floats_on_time: 3
required_float_rank: 4
- rulebook_name: rulebook_essential_spend_groceries
apply_to: 100
priority: 9400
type: floats
superseding: false
rules:
- rule_name: RuleValidDebitCard
- rule_name: RuleGoodStanding
- rule_name: RuleTransferRatio
name: transfer_ratio_groceries
custom_props:
max_transfer_percentage: 30
required_number_of_transactions: 1
days_to_consider: 32
transfer_categories: ["TRANSFER_IN", "TRANSFER_OUT"]
- rule_name: RuleEssentialSpend
name: essential_spend_groceries
custom_props:
required_float_rank: 0
required_dollar_amount: 500
required_number_of_transactions: 6
essential_categories: ["FOOD_AND_DRINK_GROCERIES"]
days_to_consider: 32
- rulebook_name: rulebook_essential_spend_bookstore
apply_to: 0
priority: 8900
type: floats
superseding: false
rules:
- rule_name: RuleValidDebitCard
- rule_name: RuleGoodStanding
- rule_name: RuleTransferRatio
name: transfer_ratio_bookstore
custom_props:
max_transfer_percentage: 20
required_number_of_transactions: 1
days_to_consider: 32
transfer_categories: ["TRANSFER_IN", "TRANSFER_OUT"]
- rule_name: RuleEssentialSpend
name: essentialspend_bookstore
custom_props:
required_float_rank: 0
required_dollar_amount: 500
required_number_of_transactions: 1
essential_categories:
["GENERAL_MERCHANDISE_BOOKSTORES_AND_NEWSSTANDS"]
days_to_consider: 32
- rulebook_name: rulebook_essential_spend_medical
apply_to: 0
priority: 9100
type: floats
superseding: false
rules:
- rule_name: RuleValidDebitCard
- rule_name: RuleGoodStanding
- rule_name: RuleTransferRatio
name: transfer_ratio_medical
custom_props:
max_transfer_percentage: 20
required_number_of_transactions: 1
days_to_consider: 32
transfer_categories: ["TRANSFER_IN", "TRANSFER_OUT"]
- rule_name: RuleEssentialSpend
name: essential_spend_medical
custom_props:
required_float_rank: 0
required_dollar_amount: 500
required_number_of_transactions: 1
essential_categories: ["MEDICAL_OTHER_MEDICAL"]
days_to_consider: 32
- rulebook_name: rulebook_essential_spend_transportation_parking
apply_to: 0
priority: 9000
type: floats
superseding: false
rules:
- rule_name: RuleValidDebitCard
- rule_name: RuleGoodStanding
- rule_name: RuleTransferRatio
name: transfer_ratio_parking
custom_props:
max_transfer_percentage: 20
required_number_of_transactions: 1
days_to_consider: 32
transfer_categories: ["TRANSFER_IN", "TRANSFER_OUT"]
- rule_name: RuleEssentialSpend
name: essential_spend_transportation_parking
custom_props:
required_float_rank: 0
required_dollar_amount: 500
required_number_of_transactions: 1
essential_categories: ["TRANSPORTATION_PARKING"]
days_to_consider: 32
- rulebook_name: rulebook_essential_spend_music
apply_to: 0
priority: 9200
type: floats
superseding: false
rules:
- rule_name: RuleValidDebitCard
- rule_name: RuleGoodStanding
- rule_name: RuleTransferRatio
name: transfer_ratio_music
custom_props:
max_transfer_percentage: 20
required_number_of_transactions: 1
days_to_consider: 32
transfer_categories: ["TRANSFER_IN", "TRANSFER_OUT"]
- rule_name: RuleEssentialSpend
name: essential_spend_music
custom_props:
required_float_rank: 0
required_dollar_amount: 500
required_number_of_transactions: 1
essential_categories: ["ENTERTAINMENT_MUSIC_AND_AUDIO"]
days_to_consider: 32
- rulebook_name: rulebook_payroll_spend_v1_0
apply_to: 0
priority: 7900
type: floats
superseding: false
rules:
- rule_name: RuleValidDebitCard
- rule_name: RuleGoodStanding
- rule_name: RulePayrollSpend
custom_props:
lookback_days: 60
days_after_payroll: 2
spend_cap_multiplier: 1.05
min_qualifying_payroll_amount: 40000
max_single_txn_percentage: 20.0
min_qualifying_inflows: 4
#### LOAN RULEBOOKS
- rulebook_name: primary_rulebook_loan_v1_0
priority: 100
apply_to: 100
type: loan
superseding: true
rules:
- rule_name: RuleCashAdvanceScore
name: cash_advance_score_200
custom_props:
min_cash_advance_score: 200
loan_amount_window: 20
- rule_name: RuleLowTransactions
custom_props:
days_to_consider: 32
average_transactions: 1.6
float_rank: 1
- rule_name: RuleAgeOfAccount
custom_props:
min_age: 25
- rule_name: RuleMultipleAccounts
custom_props:
max_accounts: 2
- rulebook_name: rulebook_loan_test_v1_0
priority: 300
apply_to: 100
type: loan
superseding: false
rules:
- rule_name: RuleGoodStanding
- rule_name: RuleValidDebitCard
- rule_name: RuleSuspiciousHighBalance
custom_props:
high_account_balance: 1000000
min_age_of_account: 5