Cash Flow Analysis#

Cash Flow Analysis provides detailed financial attributes derived from a tenant's connected bank account data. These attributes power the cash flow score and provide granular insights for manual review.

Attribute Categories#

Attributes are organized into three nodes:

INCOME Attributes#

AttributeDescription
monthly_incomeAverage monthly income
income_stability_scoreIncome consistency over time (0–1)
income_source_countNumber of distinct income sources
pay_frequencyDetected pay frequency
rent_to_income_ratioProposed rent as ratio of income
income_trendIncome trend direction (positive/negative/stable)

EXPENSES Attributes#

AttributeDescription
monthly_expensesAverage monthly expenses
expense_volatilityExpense variation coefficient
recurring_obligationsTotal recurring monthly obligations
debt_to_income_ratioTotal debt payments as ratio of income
discretionary_spendingNon-essential spending ratio
gambling_activityDetected gambling transactions flag

ASSETS Attributes#

AttributeDescription
net_monthly_cash_flowIncome minus expenses
savings_balanceCurrent savings balance
average_daily_balanceAverage daily balance over period
minimum_balance_30dLowest balance in last 30 days
overdraft_frequencyNumber of overdraft occurrences
nsf_countNon-sufficient funds count

Retrieving Cash Flow Attributes#

Cash flow attributes are included in the Score Report:

curl https://api.casapay.com/v1/score_reports/scrpt_xyz789 \
  -H "Authorization: Bearer sk_test_4eC39HqLyjWDarjtT1zdp7dc"

Filter attributes by node:

const report = await casapay.scoreReports.retrieve('scrpt_xyz789');

const incomeAttrs = report.attributes.filter(a => a.node === 'INCOME');
const expenseAttrs = report.attributes.filter(a => a.node === 'EXPENSES');
const assetAttrs = report.attributes.filter(a => a.node === 'ASSETS');