Southwest Card Analysis — Methodology
How the Southwest card analysis is generated and the rules applied.
Source Data
- File:
/Users/chrisyoung/Documents/transactions-new.csv - Format: Copilot CSV export with columns: date, name, amount, status, category, parent category, excluded, tags, type, account, account mask, note, recurring
- Account filter: Southwest Rapid Rewards Priority Credit Card (mask 4956)
- Date filter: 2025-01-01 onward
- Known balance anchor: $9,780.06 on 1/12/2025 → calculated starting balance of $8,935.93 on 1/1/2025
- Balance tracking: Monthly end balances use ALL transactions (including payments, interest, excluded items), not just spending
Transaction Filtering
Transactions are excluded from the spending analysis if:
excludedistruetypeisinternal transferorincome- Tags contain
Credit Card PaymentorInterest(these are finance charges/payments, not spending)
Bucketing Rules
Transactions are bucketed by person tags into three groups:
| Bucket | Rule | Meaning |
|---|---|---|
| Chris | Tag contains Chris | Chris's individual spending |
| Jen | Tag contains Jen | Jen's individual spending |
| Kids | Tag contains Joint or Kids | Family and kid-related spending |
| Untagged | No person tag assigned | Needs review and tagging |
Precedence
- If a transaction has both Joint/Kids AND a parent tag (Chris/Jen), it goes to Kids and is flagged in the report for review
- Joint and Kids are treated the same — both go to the Kids bucket (rationale: joint family spending is effectively "for the kids/household")
- Chris and Jen are kept as separate buckets
What "Joint + Parent" means
If a transaction is tagged both Joint and Chris (or Jen), it means the tagger was unsure or it genuinely straddles both. These get flagged so you can review and decide.
Analysis Sections
- Flagged Transactions — Joint + parent combos that need review
- Overall Summary — Total charges, credits, and net by bucket
- Spending by Category — Category breakdown per bucket, sorted by amount (descending)
- Monthly Breakdown — Month-by-month totals per bucket
- Monthly Detail — Full month x category matrix per bucket
- Untagged Transactions — Individual transactions with no person tag
How to Regenerate
python3 /tmp/sw_analysis.py > docs/analysis/southwest-card-analysis.md
Or ask Claude to regenerate using:
- Source:
/Users/chrisyoung/Documents/transactions-new.csv - These bucketing rules
- Start date: 2025-01-01
Notes
- Amount is positive for charges, negative for credits/refunds
- Categories come from the Copilot export (not from scripts/categories.csv)
- The analysis script is at
/tmp/sw_analysis.py(ephemeral — regenerate if needed)