Curl Budget
Budgeting

Implied Budgets

Implied Budgets

When you filter your transactions by account, category, or tag, Curl Budget intelligently calculates how your budgets apply to the filtered view. This feature—called implied budgets—ensures your budget tracking stays accurate and meaningful even when you're looking at a subset of your spending.

The Challenge

Consider this scenario:

  • You have a $600/month "Food & Dining" budget
  • You filter to show only transactions from your "Chase Card"
  • Some food purchases are on Chase, some on other cards

What should the budget show? The full $600 doesn't make sense because you're only seeing part of your food spending. But Curl Budget can't always know exactly how much of that $600 applies to Chase.

How Implied Budgets Work

Curl Budget uses smart logic to determine budget relevance:

Direct Matches

When filters directly relate to budgets, Curl Budget calculates exact amounts:

Category filter + Category budget:

  • Filter: "Restaurants" category
  • Budget: "Restaurants" $200/month
  • Result: Full $200 budget applies (exact match)

Tag filter + Tag budget:

  • Filter: "Business Expense" tag
  • Budget: "Business Expense" $500/month
  • Result: Full $500 budget applies (exact match)

Orthogonal Dimensions

Some filters don't affect certain budgets because they're independent:

Category filter doesn't affect tag budgets:

  • Filter: "Restaurants" category
  • Budget: "Business Expense" tag $500/month
  • Result: Business Expense budget contribution depends on historical data (restaurants may or may not be business expenses)

Tag filter doesn't affect category budgets:

  • Filter: "Business Expense" tag
  • Budget: "Restaurants" $200/month
  • Result: Restaurants budget contribution depends on historical data

Account Filters

Filtering by account creates uncertainty for all budgets:

  • Filter: "Chase Card" account
  • Budget: "Food & Dining" $600/month
  • Result: Curl Budget estimates based on historical Chase spending in Food & Dining

Budget Ranges

When Curl Budget can't determine exact budget amounts, it shows a range:

Lower Bound

The conservative estimate—assumes uncertain portions contribute $0:

  • "At minimum, $X of your budget applies to this filter"

Upper Bound

The optimistic estimate—assumes uncertain portions contribute 100%:

  • "At most, $X of your budget applies to this filter"

Exact vs. Range Display

Exact (solid line in charts):

  • Direct filter-to-budget matches
  • 100% certainty about the amount

Range (dashed line in charts):

  • Uncertainty exists
  • Shown as a band between lower and upper bounds

Visual Representation

In the Cash Flow report, implied budgets appear as:

Solid Budget Line

When Curl Budget knows exactly how a budget applies:

  • Clear, solid line showing the budget limit
  • Typically when filters match budget dimensions

Dashed/Banded Budget Line

When there's uncertainty:

  • Dashed line(s) showing the range
  • Upper bound = optimistic scenario
  • Lower bound = conservative scenario
  • Actual budget likely falls somewhere between

Common Scenarios

No Filter Applied

When viewing all transactions:

  • All budgets show at their full amounts
  • No uncertainty—all spending is visible
  • Budget lines are solid

Category-Only Filter

Filtering to one category (e.g., "Restaurants"):

Budget TypeResult
Same category budgetFull budget applies (exact)
Different category budgetDoesn't apply ($0)
Tag budgetDepends on historical overlap

Tag-Only Filter

Filtering to one tag (e.g., "Business Expense"):

Budget TypeResult
Same tag budgetFull budget applies (exact)
Different tag budgetDoesn't apply ($0)
Category budgetDepends on historical overlap

Account Filter

Filtering to one account (e.g., "Chase Card"):

Budget TypeResult
Category budgetRange based on historical account usage
Tag budgetRange based on historical account usage

Multiple Filters

Combining filters increases complexity:

  • More filters = more uncertainty
  • Curl Budget calculates ranges based on all applicable historical data

Historical Proration

When Curl Budget needs to estimate budget portions, it uses historical data:

How It Works

  1. Looks at past transactions matching the filter
  2. Calculates what percentage fell into each budget category/tag
  3. Applies that percentage to the budget amount

Example

For a "Chase Card" filter and "Food & Dining" budget:

  • Historical data shows 60% of Food & Dining spending is on Chase
  • $600 monthly Food & Dining budget
  • Implied budget for Chase: ~$360 (60% Ɨ $600)

Uncertainty from No History

If there's no historical data for a filter-budget combination:

  • Lower bound: $0 (assume no contribution)
  • Upper bound: Full budget (assume 100% contribution)

This creates the widest possible range, indicating high uncertainty.

Practical Applications

Understanding Your Spending

Implied budgets help you understand:

  • How much of your budget "belongs" to each account
  • Whether a specific card is carrying more of certain spending
  • How your budgets break down across different views

Accurate Reporting

When generating reports with filters:

  • Budget lines adjust to match the filtered view
  • Comparisons remain meaningful
  • You're not comparing $300 spending to a $600 budget that doesn't fully apply

Account-Based Insights

Filter by account to see:

  • Which accounts carry which budget categories
  • Whether you're concentrating certain spending
  • How budget pacing looks per payment method

Tips for Reducing Uncertainty

Use Direct Filters

Filter by the same dimension as your budgets:

  • Have category budgets? Filter by category for exact matches
  • Have tag budgets? Filter by tag for exact matches

Build History

Over time, Curl Budget learns your patterns:

  • More transactions = better estimates
  • Uncertainty ranges narrow as data accumulates

Accept Ranges

Some uncertainty is natural when:

  • Filtering across dimensions
  • Looking at new accounts
  • Spending patterns are variable

The range still provides useful bounds for decision-making.

Technical Details

Calculation Method

For each budget, Curl Budget:

  1. Identifies the filter type (category, tag, account, mixed)
  2. Checks if the filter directly matches the budget dimension
  3. If direct match: applies 100% or 0% (exact)
  4. If no direct match: calculates historical proration
  5. If no history: uses full range (0% to 100%)

Handling Unbudgeted Transactions

Transactions in categories/tags without budgets:

  • Don't contribute to any budget
  • May affect uncertainty in mixed scenarios
  • Are tracked separately for reporting

Uncategorized Transactions

Uncategorized transactions create additional uncertainty:

  • Could be income (positive)
  • Could be refunds (reduce expenses)
  • Curl Budget accounts for this in range calculations

On this page