The detect_recurring_amounts tool analyzes bills to identify which amounts recur and how often they recur. The CSV output contains two orthogonal dimensions of analysis:
- Amount Consistency - How consistent are the dollar amounts?
- Timing Cadence - How regular are the dates/timing between bills?
Measures how consistent the dollar amounts are across recurring bills.
Values:
fixed: Amounts are essentially identical (variance < 0.01)- Example: All bills are exactly $5,560.00
variable: Amounts vary slightly (variance 0.01 - 0.10)- Example: Bills are $5,500, $5,600, $5,550 (small variations)
trending: Amounts vary significantly or show a trend (variance ≥ 0.10)- Example: Bills are $5,000, $6,000, $7,000 (increasing trend)
Measures how regular the dates/timing are between bills.
Values:
monthly: Bills come roughly every 28-35 daysbi-weekly: Bills come roughly every 14-21 daysweekly: Bills come roughly every 6-10 daysquarterly: Bills come roughly every 85-95 daysirregular: Timing doesn't match any standard pattern
occurrence_count: How many times did this amount recur?amount_variance: Coefficient of variation (stddev/mean) - lower = more consistent amountsavg_days_between: Average days between occurrencesdays_variance: Standard deviation of days between bills - lower = more regular timingamount_min/max/avg/median: Statistics about the recurring amountsfirst_seen/last_seen: Date range when this pattern was observed
bill_id: Database ID of the billbill_number: Vendor's bill numberbill_date: When was this bill issued?due_date: When is payment due?amount: How much was this specific bill?currency: Currency code (e.g., USD)payment_status: paid, open, payment_not_foundpaid_date: When was this bill paid (if applicable)days_since_prev: Days since the previous bill in this pattern
Row from CSV:
amount_consistency = "fixed"
inferred_cadence = "irregular"
occurrence_count = 22
amount_variance = 0.0
avg_days_between = 7.67
days_variance = 3.45
Interpretation:
- ✅ Amounts are fixed: All bills are exactly the same amount ($5,560)
- ❌ Timing is irregular: Bills come every ~7.67 days on average, but variance is 3.45 (doesn't match weekly/monthly patterns)
This is a recurring amount but with irregular timing.
Filter for patterns that have both:
amount_consistency = "fixed"ANDinferred_cadence = "monthly"(orbi-weekly,weekly)
These are bills with fixed amounts and regular timing - perfect for accrual accounting.
amount_consistency = "fixed": Find recurring amounts that are consistentinferred_cadence = "monthly": Find bills that come monthlyoccurrence_count >= 4: Find patterns with sufficient historydays_variance < 3: Find patterns with very regular timing
These are orthogonal (independent) dimensions:
| Amount Consistency | Timing Cadence | Use Case |
|---|---|---|
fixed |
monthly |
✅ Ideal for accrual - Fixed amount, regular timing |
fixed |
irregular |
|
variable |
monthly |
|
variable |
irregular |
❌ Hard to predict - not good for accrual |
- One row per bill with pattern context repeated
- Pattern-level columns are the same for all bills in the same pattern
- Bill-level columns vary per bill
- Use Excel's Remove Duplicates on pattern columns to see unique patterns
- Use Pivot Tables to aggregate by vendor/account/consistency/cadence