Financial Persona – Bank Balance Trajectories

25 real users sampled from 5 financial personas. Each chart shows the pay period where the user's cash flow most clearly matches their persona pattern (not necessarily the most recent cycle). Cashout events are marked on the chart as triangles and detailed in the side panel.

Persona Sample Count (1/32) Estimated Full Count % of Classified Profile
In the Red 15,067~482,00033.0% Frequently negative balance; overdrafts in 3+ pay periods
Tightrope Walkers 6,897~221,00015.1% Median balance near $0–$150; rely heavily on cashouts
Roller Coasters 5,894~189,00012.9% Wild swings (σ > $300), dip below $200, rarely go negative
Payday Surfers 3,947~126,0008.6% Balance peaks after payday then steadily drains near $0
Steady Savers 3,452~110,0007.6% Min balance stays above $200 across nearly all pay periods
Unclassified 10,899~349,00023.8% Does not clearly match any single pattern

Month-to-Month Retention by Persona

Cohort: users classified in January 2026 (active login + valid bank connection + ≥3 completed cycles). Retention = % who cashed out at least once that month. 1/32 hash sample.

Persona Jan Cohort Feb Ret % Mar Ret % Feb→Mar Δ
Tightrope Walkers 8,084 90.4% 81.8% -8.6pp
Roller Coasters 5,880 76.4% 70.9% -5.5pp
Payday Surfers 4,429 72.1% 65.9% -6.2pp
Steady Savers 3,197 68.9% 64.3% -4.6pp
In the Red 18,183 64.8% 60.0% -4.8pp

Sorted by Feb retention (highest → lowest). Δ = percentage-point decrease from Feb to Mar.

Data Attribution Logic

Step 0 — Eligible Population

Start with users who logged in within the last 30 days (main_prod.dbo.logindetails), then exclude:

  1. Dead bank connection — both is_upbc_active and is_bfpbc_active = false.
  2. Stale/dormant balance — same non-zero value for 10+ consecutive days.

Step 1 — Cycle Selection for Visualization

Only weekly/biweekly cycles (5–16 days) from earningscycle are considered — monthly and anomalous long cycles are excluded. For each sampled user, we select the most recent completed cycle that best matches their persona (not necessarily the latest cycle). Per-cycle persona matching rules:

Step 2 — Classification Rules (Priority Order, across last 5 cycles)

1. In the Red
cycles_2plus_neg ≥ 3 OR cycles_deep_neg ≥ 3
2. Tightrope Walkers
cycles_tight_median ≥ 3 AND avg_cashouts ≥ 2
3. Roller Coasters
cycles_volatile_dip ≥ 2 AND cycles_any_negative ≤ 1
4. Payday Surfers
cycles_surfer ≥ 2 AND cycles_min_above_200 < MIN(4, num_cycles)
5. Steady Savers
cycles_min_above_200 ≥ MIN(4, num_cycles)

Data Sources

Purpose Table
Login activitymain_prod.dbo.logindetails
Bank connectionmain_prod.bank_dm.fact_user_bank_connection
Daily balancemain_prod.bank_balance.user_bank_balance
Pay periodsmain_prod.earnings.earningscycle
Cashoutsmain_prod.finance_dm.fact_transactions_all

Sizing: 1/32 hash sample ×32. Classification requires ≥3 completed pay periods in last 120 days. Visualization shows the most recent cycle matching the persona pattern. Data as of March 2026.