# Credit Card Comparison Skill

## Purpose
Automatically scrape and compare Velocity frequent flyer credit cards to find best value per bonus point.

## When to use
- Quarterly credit card comparison refresh (scheduled cron)
- Manual trigger when user asks for credit card comparison update
- When checking if current card is still best value

## User Context
- Current card: ANZ Rewards Platinum (Velocity)
- Annual spend: $24,000
- Always paid in full (no interest)
- Velocity Frequent Flyer member (Virgin Australia)
- Metric: $/bonus point (lowest wins)

## Data Sources
1. velocityfrequentflyer.com/frequent-flyer-credit-cards (primary)
2. finder.com.au credit card comparisons
3. Direct issuer sites (ANZ, Westpac, Amex, NAB, Virgin)
4. Point Hacks velocity credit cards guide

## Scoring Formula

### Year 1 Cost Per Point
```
$/point (Y1) = Annual fee (Y1) ÷ Bonus points (Y1)
```

### Year 2 Cost Per Point (if applicable)
```
$/point (Y2) = Annual fee (Y2) ÷ Bonus points (Y2 only, not cumulative)
```

### Two-Year Average (preferred metric)
```
Avg $/point = (Fee Y1 + Fee Y2) ÷ (Bonus Y1 + Bonus Y2)
```

## Data to Extract Per Card

For each Velocity-earning credit card:
- Card name
- Issuer
- Bonus points (Year 1)
- Bonus points (Year 2, if multi-year offer)
- Annual fee (Year 1, including rewards program fee)
- Annual fee (Year 2+, ongoing)
- Minimum spend requirement
- Timeframe to meet spend
- Retention requirement (must hold X months)
- Ongoing earn rate (pts per $1)
- Additional perks (lounge access, travel credit, etc.)
- Eligibility restrictions (new customers, 24-month rule, etc.)

## Conversion Rates
- ANZ Reward Points → Velocity: 2:1
- NAB Rewards Points → Velocity: 2:1
- Westpac Altitude Points → Velocity: 2:1
- Amex Velocity: 1:1 (direct earn)

## Exclusions
- Qantas frequent flyer cards
- Business/corporate cards
- Cards without Velocity earn
- Store cards
- Debit cards

## Output Format

Create/update `/comparisons/credit-cards.md`:

```markdown
# Velocity Credit Cards Comparison
Last updated: [timestamp]
Next update: [+3 months]

## Your current card
[Current card details + cost per point]

## 🏆 WINNERS — Best Value Per Point

### 1. [Card Name] — CHAMPION
| Metric | Value |
|---|---|
| Bonus points (Year 1) | X |
| Bonus points (Year 2) | X |
| Annual fee (Year 1) | $X |
| Annual fee (Year 2) | $X |
| $/point (Year 1) | $X |
| $/point (Year 2) | $X |
| Total 2yr | X pts |
| Avg $/pt | $X ✅ |

[2-3 sentence explanation why it wins]

## Full Comparison Table
[Top 8-10 cards in table format]

## Recommendation
[Specific action: switch, stay, or wait]

## Methodology
[Brief explanation of scoring]

## Data Sources
[List of URLs scraped]
```

## Telegram Notification

After update, send summary:
```
🔄 Credit Card Comparison Updated

🏆 Winner: [Card name]
📊 Best value: $[X]/point (2yr avg)
💰 vs. Your ANZ: [better/worse] by $[X]/point

[Switch now / Stay put / Review in X months]

Full report: /comparisons/credit-cards.md
```

## Automation Schedule
- Frequency: Quarterly (every 3 months)
- Cron: systemEvent = "Run credit card comparison update"
- Delivery: announce to Telegram

## Error Handling
- If a source fails to load: log it, continue with other sources
- If conversion rate changes: flag immediately for manual review
- If top card changes: highlight in notification
- If scraping completely fails: alert user, show last successful data with age warning

## Notes
- Bank promotions change frequently — quarterly refresh catches most changes
- Bonus offers usually run 1-3 months before changing
- User must manually apply (Oliver cannot submit applications)
- 24-month eligibility rule means some cards may be temporarily unavailable
