3  Budgeting


Most people hate budgeting because they’re approaching it with some bad assumptions. Traditional budgets typically fail because they assume humans will robotically track every penny and restrict every joy, all with a kind of mindless automation. But a good budget shouldn’t make you feel constrained; it should make you feel intentional about where your money goes.1

3.1 The Budget Mindset Shift

A good budget builds in flexibility, not rigidity. When you’re just getting started, budgeting can be overwhelming.

“A budget is telling your money where to go instead of wondering where it went.” (Dave Ramsey)

Just to be clear: building a budget (especially the first time) is time-consuming. As with most time-consuming tasks, you might find yourself wondering if you really need a budget. Trust me: you do. Everyone does. Reframe the following thoughts that might interfere with your budgeting practice:

Thought Reframe as
I have to spend a [relatively large amount] on [thing(s) I need]. My needs cost [amount].
I can only spend [relatively small amount] on [thing(s) I really want]. My wants cost [amount].
I spent [unexpectedly large amount] on [thing(s) I really want]. I chose to spend more on my wants this month, so I need to adjust my other categories.
I spent [unexpectedly large amount] on [thing(s) I don’t really need or want]?!? I need to adjust my other categories and figure out how to avoid this spending in the future.

Morgan Housel’s insight is powerful here: “room for error is the most underrated financial concept.”

3.2 Expense Categories

The first skill in budgeting is correctly categorizing your money. Most people lump everything together and then get overwhelmed by how to allocate or account for their spending. Generally, expenses can all fit into one of three categories:

Category Definition Strategy
Fixed Costs that remain the same each month, such as rent, a car payment, or subscription services. Lock these in and forget them (make them as small as you can once, then automate). Housing is usually the biggest, so it’s where a good decision saves the most.
Variable Costs that change from month to month, such as groceries, utilities, and entertainment. This is the category where most budgeting efforts fail. Use categories with limits, not line-by-line tracking.
Periodic Costs that occur less frequently than monthly, such as insurance you pay once or twice a year, holiday gifts, or car maintenance. These are silent budget killers. Set aside 1/12 of the annual cost for these each month.

How to approach expense categories

The math is the same, but the psychology differs. Fixed expenses reward ruthlessness. John Bogle’s principle of low-cost simplicity2 applies here. Find the lowest cost you can for each one (housing is usually the biggest), then automate the payment and stop thinking about it. This creates room for error elsewhere, as Morgan Housel emphasizes: the less mental energy you waste on fixed costs, the more cushion you have to recover from unexpected swings.

Variable expenses demand a different discipline. Ramit Sethi’s Conscious Spending Plan3 teaches us that guilt-free spending on categories works better than line-by-line scrutiny. Instead of tracking every grocery receipt, set a monthly limit for groceries and let yourself spend freely within it. Ben Felix points to research showing that sticking with a plan matters more than having the perfect plan.4

Periodic expenses are the outliers. Because they’re lumpy and personal (one person budgets for pet care, another for annual car maintenance) you can’t borrow someone else’s number. The 1/12 rule (setting aside one-twelfth of the annual cost each month) transforms an invisible crisis into visible planning. Money you set aside each month for a known future expense like this is called a sinking fund.

%%{init: {'theme': 'neutral', 'themeVariables': { 'fontFamily': 'monospace', "darkMode":false, "fontSize":"16px"}}}%%

flowchart LR

    Expenses(["Monthly<br>Expenses"])
    
    subgraph Fixed["<strong>FIXED EXPENSES</strong>"]
        Rent("Rent")
        Insurance("Insurance")
        Subs("Stable<br>Subscriptions")
        Loans("Loan<br>Payments")
    end
    
    subgraph Variable["<strong>VARIABLE EXPENSES</strong>"]
        Groceries("Groceries")
        Utilities("Utilities")
        Gas("Gas/Transport")
        Dining("Dining<br>Out")
    end

    subgraph Periodic["<strong>PERIODIC EXPENSES</strong>"]
        Taxes("Car<br>Registration")
        CarMaint("Car<br>Maintenance")
        Gifts("Gifts/Holidays")
        Medical("Medical Costs")
    end
    
    Expenses --> Fixed  
    Expenses --> Variable 
    Expenses --> Periodic
    
    style Expenses fill:#48a56a,color:#F5F2E8,stroke:#1C1C1E,stroke-width:2px
    
    style Fixed fill:#0e9aa7,color:#F5F2E8,stroke:#1C1C1E,stroke-width:2px
    style Rent fill:#86ddcd,color:#1C1C1E,stroke:#1C1C1E,stroke-width:2px
    style Insurance fill:#86ddcd,color:#1C1C1E,stroke:#1C1C1E,stroke-width:2px
    style Subs fill:#86ddcd,color:#1C1C1E,stroke:#1C1C1E,stroke-width:2px
    style Loans fill:#86ddcd,color:#1C1C1E,stroke:#1C1C1E,stroke-width:2px
                        
    style Variable fill:#F5F2E8,color:#1C1C1E,stroke:#1C1C1E,stroke-width:2px
    style Groceries fill:#F5F2E8,color:#1C1C1E,stroke:#1C1C1E,stroke-width:2px
    style Utilities fill:#F5F2E8,color:#1C1C1E,stroke:#1C1C1E,stroke-width:2px
    style Gas fill:#F5F2E8,color:#1C1C1E,stroke:#1C1C1E,stroke-width:2px
    style Dining fill:#F5F2E8,color:#1C1C1E,stroke:#1C1C1E,stroke-width:2px
    
    style Periodic fill:#f44242,color:#F5F2E8,stroke:#1C1C1E,stroke-width:2px
    style Taxes fill:#f44242,color:#F5F2E8,stroke:#1C1C1E,stroke-width:2px
    style CarMaint fill:#f44242,color:#F5F2E8,stroke:#1C1C1E,stroke-width:2px
    style Gifts fill:#f44242,color:#F5F2E8,stroke:#1C1C1E,stroke-width:2px
    style Medical fill:#f44242,color:#F5F2E8,stroke:#1C1C1E,stroke-width:2px
    
    

Fixed vs. Variable Expenses

Example periodic expense: car insurance

If your car insurance is $1,200/year, don’t get blindsided every six months. Save $100/month into a “Car Insurance” sub-account. When the bill arrives, the money is already there. Repeat for every periodic expense:

  • Christmas/gifts: $600/year → $50/month
  • Car maintenance: $1,200/year → $100/month
  • Annual vacation: $2,400/year → $200/month

This single technique eliminates 80% of budget emergencies.

3.3 Types of Budgets

Two dominant frameworks exist: zero-based and percentage. Either one will work; just pick the one that matches your personality. Zero-based budgets offer tight control and focus on details, making them ideal for anyone getting out of debt or with a paycheck that changes from month to month. Percentage budgets are for big-picture thinkers, stable income earners, and people who hate detailed tracking.

Zero-Based Budgeting

Every dollar gets a job. Your income minus everything you assign it to equals zero. Assume you take home $3,200 a month (the first job example from Income):

Zero-Based Budgeting
Category Amount
Rent $960
Groceries $350
Transport $300
Investments $320
Savings $320
Fun Money $450
Other $500
Total $3,200
Remaining $0

Zero-based budgets provide maximum awareness, make every dollar spent/saved/invested intentional, and immediately expose leaks. However, these are high-maintenance, can feel a little restrictive, and require monthly re-budgeting.

Percentage-Based Budgeting

Allocate by percentages, not dollars. This is the foundation of Sethi’s Conscious Spending Plan5 and another popular framework (50/30/20).

Percentage-Based Budgeting
Bucket Conscious Spending Plan (Sethi) 50/30/20 Rule
Fixed Costs 50% to 60% 50% Needs
Investments 10% or more 20% Savings/Debt
Savings Goals 5% to 10% (combined above)
Guilt-Free Spending 20% to 35% 30% Wants

Percentages are great because they’re the proportion of your earnings assigned to each category, which means they scale to any income and, after you’ve categorized your expenses, they are low maintenance. However, they are also less granular, can mask overspending in certain categories, and require you to be brutally honest about the category boundaries.

The two plans disagree on how much to save, and other experts give different numbers again. The Financial Goals chapter compares them; for now, pick one plan and start.

Which Should You Choose?

A hybrid approach uses percentages for the big buckets and zero-based tracking for one or two categories you want to watch closely (like dining out).

%%{init: {'theme': 'neutral', 'themeVariables': { 'fontFamily': 'monospace', "darkMode":false, "fontSize":"16px"}}}%%

flowchart TD
    Choose(["I Need<br>A Budget"]) --> Question1{"In Debt or<br/>Just Starting?"}
    Question1 -->|"Yes"| ZeroBased("Zero-Based<br/>for 2 to 3 months")
    Question1 -->|"No"| Question2{"Love Spreadsheets<br/>& Details?"}
    Question2 -->|"Yes"| Hybrid["Hybrid Approach"]
    Question2 -->|"No"| Percentage["Percentage-Based<br/>Conscious Spending"]
    ZeroBased --> Eventually["Graduate to Percentage<br/>Once Stable"]
    
    
    style Choose fill:#48a56a,color:#F5F2E8,stroke:#1C1C1E,stroke-width:2px
    style Question1 fill:#f0cfcf,color:#1C1C1E,stroke:#1C1C1E,stroke-width:2px
    style Question2 fill:#f0cfcf,color:#1C1C1E,stroke:#1C1C1E,stroke-width:2px
    style ZeroBased fill:#0e9aa7,color:#F5F2E8,stroke:#1C1C1E,stroke-width:2px
    style Hybrid fill:#86ddcd,color:#1C1C1E,stroke:#1C1C1E,stroke-width:2px
    style Percentage fill:#86ddcd,color:#1C1C1E,stroke:#1C1C1E,stroke-width:2px
    style Eventually fill:#86ddcd,color:#1C1C1E,stroke:#1C1C1E,stroke-width:2px

Which Budget To Choose?

TipMy recommendation

Start with zero-based for 2 to 3 months to truly understand your spending. Then transition to a percentage-based system with automation. You get the awareness without the long-term burden.

3.4 Build a Budgeting Tool

Applications like Microsoft Excel or Google Sheets offer tools and templates to customize each sheet/tab to fit your needs (search for “budget template”). Most personal finance blogs also offer a free downloadable classic envelope spreadsheet. For hands-on work with a real bank export, see Tracking Spending.

Using Spreadsheets

The bank_statement dataset introduced in Tracking Spending is the foundation for the examples that follow. A well-structured spreadsheet maps those transactions into tabs that mirror your budget categories:

%%{init: {'theme': 'neutral', 'themeVariables': { 'fontFamily': 'monospace', "darkMode":false, "fontSize":"16px"}}}%%

flowchart LR
    Spreadsheet(["Budget<br>Spreadsheet"]) --> Tab1("Tab 1: Income")
    Spreadsheet --> Tab2("Tab 2: Fixed Expenses")
    Spreadsheet --> Tab3("Tab 3: Variable Expenses")
    Spreadsheet --> Tab4("Tab 4: Sinking Funds")
    Spreadsheet --> Tab5("Tab 5: Net Worth Tracker")
    Spreadsheet --> Tab6("Tab 6: Summary Dashboard")

    Tab6 --> Metrics("Key Metrics:<br/>Savings Rate<br/>Fixed Cost %<br/>Monthly Cash Flow")
    style Spreadsheet fill:#48a56a,color:#F5F2E8,stroke:#1C1C1E,stroke-width:2px
    style Tab1 fill:#0e9aa7,color:#F5F2E8,stroke:#1C1C1E,stroke-width:2px
    style Tab2 fill:#0e9aa7,color:#F5F2E8,stroke:#1C1C1E,stroke-width:2px
    style Tab3 fill:#0e9aa7,color:#F5F2E8,stroke:#1C1C1E,stroke-width:2px
    style Tab4 fill:#0e9aa7,color:#F5F2E8,stroke:#1C1C1E,stroke-width:2px
    style Tab5 fill:#0e9aa7,color:#F5F2E8,stroke:#1C1C1E,stroke-width:2px
    style Tab6 fill:#0e9aa7,color:#F5F2E8,stroke:#1C1C1E,stroke-width:2px
    style Metrics fill:#86ddcd,color:#1C1C1E,stroke:#1C1C1E,stroke-width:2px

Spreadsheet

Three of these terms come up again in later chapters. Your net worth is everything you own minus everything you owe. Your savings rate is the share of your take-home pay that you save. Your monthly cash flow is the money that comes in minus the money that goes out.

What Actually Matters

Don’t overthink this. The best budgeting tool is the one you’ll actually use.

Features that matter:

  1. Automatic transaction imports (saves hours per month)
  2. Easy categorization (you’ll do this weekly)
  3. A clear summary view (your dashboard)
  4. Goal tracking (motivation matters)

Features that don’t matter as much: fancy graphs, AI insights, social features. Substance over style.

3.5 Budgeting Math

Here’s the secret most personal finance content avoids: budgeting requires only middle-school math. Each calculation below pairs a visual with a formula and code so the idea, the rule, and the implementation are always together.

Percentages (Your Most-Used Skill)

Think of your monthly income as a single horizontal bar. Every category of spending is a labeled slice of that bar. Asking “what percentage is rent?” is just asking: how wide is the rent slice compared to the whole bar?

Rent ($960) as a share of $3,200 take-home pay

Rent ($960) as a share of $3,200 take-home pay

Rent ($960) as a share of $3,200 take-home pay

Rent ($960) as a share of $3,200 take-home pay

The formula follows directly from the bar: divide the slice width by the total bar width, then multiply by 100 to express it as a percentage.

Formula: (Expense ÷ Income) × 100

  • Where: Expense = what you spend on one category each month, and Income = your monthly take-home pay.

Example: Rent is $960, take-home pay is $3,200. → (960 ÷ 3,200) × 100 = 30% of income on rent.

Check: 30% of $3,200 is 0.30 × $3,200 = $960, which matches the rent.

Practice until you can do this in your head for the big categories.

Two more syntax differences become visible the moment you write a function with a body.

Code block structure

R wraps the body in curly braces {}. Indentation is purely stylistic.

Python uses a colon and an indented body. Indentation is part of the syntax (inconsistent indentation raises IndentationError).

percent_of_income <- function(expense, income) {
  (expense / income) * 100
}
def percent_of_income(expense, income):
    return (expense / income) * 100

Return values

R automatically returns the last evaluated expression. The return() function is optional.

Python requires an explicit return statement; otherwise the function returns None.

double_fun <- function(x) x * 2
def double_fun(x):
    return x * 2

Assuming Expense is in cell B2 and Income is in cell C2:

=(B2 / C2) * 100

Or, more simply, enter =B2 / C2 and format the cell as a Percentage using the button in the toolbar.

The Python version of percent_of_income() works the same way:

def percent_of_income(expense, income):
    return (expense / income) * 100

Rent of $960 against $3,200 take-home pay

percent_of_income(expense=960, income=3200)
#> 30.0

In R, percent_of_income() divides an expense by income and multiplies by 100.

percent_of_income <- function(expense, income) {
  (expense / income) * 100
}

Rent of $960 against $3,200 take-home pay

percent_of_income(expense = 960, income = 3200)
#> [1] 30

Annualizing and Monthly-izing

A $5 daily coffee doesn’t feel expensive. The chart below makes the annual version visible: the same habit at four different time scales.

The same $5/day habit across four time periods

The same $5/day habit across four time periods

The same $5/day habit across four time periods

The same $5/day habit across four time periods

Each bar is the previous bar scaled by the number of periods it contains. The annual bar is 365× the daily bar; the monthly bar is ≈ 4.33× the weekly bar. Those multipliers are the formula.

Formula: Cost over a longer period = Cost per period × Number of periods it contains

  • Where: Cost per period = what one daily, weekly, or monthly purchase costs, and Number of periods it contains = how many of those periods fit in the longer one (7 days in a week, 4.33 weeks in a month, 12 months or 365 days in a year).

Daily habit → Weekly: Multiply by 7

Weekly → Monthly: Multiply by 4.33 (not 4)

Monthly → Annual: Multiply by 12

Or you can directly convert a daily habit into the total cost per year:

Daily habit → Annual: Multiply by 365

See how much an annual subscription is costing per month:

Annual → Monthly: Divide by 12

Example: A $5 daily coffee → $5 × 365 = $1,825/year. Suddenly it’s a real number you can evaluate.

Check: $1,825 ÷ 365 = $5, which takes you back to the daily cost.

Let’s start with the daily value in cell A1, then convert it to the cost per week in cell A2:

=A1 * 7

Next we can convert the week to the monthly cost in cell A3:

=A2 * 4.33

Finally, we get the annual cost in cell A4:

=A1 * 365

Format cells A1 through A4 as Currency or Accounting.

To convert a weekly value in cell A1 to a monthly value, place the following formula in cell A2:

=A1 * 4.33

To convert the monthly cost to an annual cost, enter the following in cell A3:

=A2 * 12

Format cells A1 through A3 as Currency or Accounting.

The Python version of to_annual() works the same way:

def to_annual(amount, period="daily"):
    factors = {"daily": 365, "weekly": 52, "monthly": 12}
    return amount * factors[period]
def to_monthly(amount, period="daily"):
    factors = {"daily": 30.44, "weekly": 4.33, "annual": 1 / 12}
    return amount * factors[period]

$5/day coffee over the course of a year:

print(to_annual(amount=5,period="daily"))    
#> 1825

$150 per week on groceries over the course of a month.

print(to_monthly(amount=150,period="weekly"))   
#> 649.5

In R, to_annual() multiplies a recurring amount by the number of times it happens each year.

to_annual <- function(amount, period = c("daily", "weekly", "monthly")) {
  period  <- match.arg(period)
  factors <- c(daily = 365, weekly = 52, monthly = 12)
  amount * factors[[period]]
}
to_monthly <- function(amount, period = c("daily", "weekly", "annual")) {
  period  <- match.arg(period)
  factors <- c(daily = 30.44, weekly = 4.33, annual = 1 / 12)
  amount * factors[[period]]
}

$5/day coffee over the course of a year:

to_annual(amount = 5, period = "daily")    
#> [1] 1825

$150 per week on groceries over the course of a month.

to_monthly(amount = 150, period = "weekly")   
#> [1] 649.5

Opportunity Cost Math

This is Felix’s signature framework. Every dollar spent isn’t just that dollar; it’s what that dollar could have become.

The chart below shows what happens when you choose the used car ($15,000) over the new one ($40,000) and invest the $25,000 difference at 7% per year. Each bar is the previous one grown by one year’s return.

$25,000 invested at 7%: value at each checkpoint

$25,000 invested at 7%: value at each checkpoint

$25,000 invested at 7%: value at each checkpoint

$25,000 invested at 7%: value at each checkpoint

Each bar is the previous one multiplied by (1 + 0.07). After n multiplications, the pattern becomes the formula.

Formula: amount × (1 + r)^n

  • Where: amount = the dollars you spend instead of invest, r = the yearly return, and n = the number of years.

Example: $25,000 × (1.07)^30 = ~$190,000.

Check: at 7%, money doubles about every 10 years (72 ÷ 7), so 30 years is about three doublings: $25,000 × 8 = $200,000, close to the answer.

Assuming the initial amount is in cell A2, the annual rate (as a decimal, e.g., 0.07) is in B2, and the number of years is in C2:

=A2*(1+B2)^C2

Below is an opportunity cost function that takes the dollar amount, the rate of return, over a proposed number of years

def opportunity_cost(amount, rate, years):
    return amount * (1 + rate) ** years

$25,000 gap between two car choices, invested at 7% for 30 years

opportunity_cost(amount=25000, rate=0.07, years=30)
#> 190306.37606655105

Below is an opportunity cost function that takes the dollar amount, the rate of return, over a proposed number of years

opportunity_cost <- function(amount, rate, years) {
  amount * (1 + rate)^years
}

$25,000 gap between two car choices, invested at 7% for 30 years

opportunity_cost(amount = 25000, rate = 0.07, years = 30)
#> [1] 190306.4

That’s not a car payment difference; that’s a retirement chapter.

Break-Even and Payback Calculations

Useful for deciding whether something that costs money up front (a membership, a better phone plan, a used bike for commuting) pays for itself.

Each month, the cumulative savings bar grows by the monthly savings amount. Break-even is the first month that bar meets the upfront cost line.

$60/month savings accumulating toward a $500 upfront cost

$60/month savings accumulating toward a $500 upfront cost

$60/month savings accumulating toward a $500 upfront cost

$60/month savings accumulating toward a $500 upfront cost

The formula names the crossover point: the month when cumulative savings first equals the upfront cost.

Formula: Upfront cost ÷ Monthly savings = months to break even

  • Where: Upfront cost = what you pay once at the start, and Monthly savings = how much it saves you each month.

Example: $500 ÷ $60 = 8.3 months to break even.

Check: 8 months × $60 = $480 is just short of $500, and 9 months × $60 = $540 covers it, so you break even during month 9.

Assuming the upfront cost is in cell A2 and the monthly savings amount is in cell B2:

=A2 / B2

The Python version of months_to_break_even() works the same way:

def months_to_break_even(upfront_cost, monthly_savings):
    return upfront_cost / monthly_savings

A $500 membership that saves $60/month

months_to_break_even(upfront_cost=500, monthly_savings=60)
#> 8.333333333333334

In R, months_to_break_even() divides the upfront cost by the monthly savings.

months_to_break_even <- function(upfront_cost, monthly_savings) {
  upfront_cost / monthly_savings
}

A $500 membership that saves $60/month

months_to_break_even(upfront_cost = 500, monthly_savings = 60)
#> [1] 8.333333

That $500 membership is worth it if you’ll use it longer than 8.33 months.

3.6 Putting It All Together

%%{init: {'theme': 'neutral', 'themeVariables': { 'fontFamily': 'monospace', "darkMode":false, "fontSize":"16px", 'primaryColor':'#0e9aa7', 'primaryBorderColor':'#1C1C1E', 'secondBkgColor':'#f44242', 'tertiaryColor':'#48a56a'}}}%%

flowchart TD
    Start(["Start:<br>Build Your Budget"]) --> S1("<b>SETUP PHASE</b><br><br>i. Track Spending<br>ii. Categorize Expenses<br>iii. Calculate Savings Rate<br>iv. Choose Framework")

    S1 --> I1("<b>IMPLEMENTATION PHASE</b><br><br>v. Set Up Sinking Funds<br>vi. Automate Everything")

    I1 --> O1("<b>ONGOING PHASE</b><br><br>vii. Weekly Review<br>viii. Monthly Adjust<br>ix. Quarterly Recalibrate")

    O1 --> End(["Result:<br>Intentional Budget"])

    style Start fill:#48a56a,color:#F5F2E8,stroke:#1C1C1E,stroke-width:2px
    style S1 fill:#0e9aa7,color:#F5F2E8,stroke:#1C1C1E,stroke-width:3px
    style I1 fill:#f44242,color:#F5F2E8,stroke:#1C1C1E,stroke-width:3px
    style O1 fill:#86ddcd,color:#1C1C1E,stroke:#1C1C1E,stroke-width:3px
    style End fill:#48a56a,color:#F5F2E8,stroke:#1C1C1E,stroke-width:2px

Build Your Budget: Three Phases

3.7 Financial Order of Operations

A budget tells you how much money is left over each month. But it doesn’t tell you what to do with it. That’s where Brian Preston’s Financial Order of Operations (see more in Savings) comes in.

The FOO is a nine-step framework that answers: In what order should I allocate this money? It prioritizes ruthlessly. Each step must be funded before moving to the next. The upcoming chapters walk through the steps in depth, and the full sequence (with the reason each step comes where it does) is laid out in Section 1.

Your budget is the foundation. It shows you how much money you have to work with. The FOO is the map. It shows you where that money should go. The order matters because each step protects you from a specific financial risk. Don’t invest aggressively (step 7) before you’ve built an emergency fund (step 4) or captured your employer match (step 2). The chapters ahead will show you why.

3.8 Recap

A budget is just a plan for your money in advance. Good budgets:

  1. Match your personality. Don’t fight your nature; work with it.
  2. Automate the boring stuff. Investments, bills, sinking funds: set and forget.
  3. Leave room for joy. Sethi’s guilt-free spending isn’t optional; it’s what makes budgets sustainable.
  4. Track one number above all: the important number is your savings rate (which we will cover in Savings). Everything else is detail.
  5. Builds in margin for error. Housel’s principle, “reality is messier than spreadsheets.”

Budgeting math isn’t hard. The categories aren’t complicated. The tools are abundant. What’s actually required is the decision to be intentional, and the patience to let small, consistent allocations compound into a life of financial freedom.

As Bogle reminded us about investing, the same applies to budgeting: don’t do something, just stand there. Set up the system, then let it work.


  1. I’ve included frameworks from Sethi, Housel, Bogle, and Felix because they are designed for how humans actually behave.↩︎

  2. Bogle advocated for keeping investment costs and financial friction as low as possible. This principle extends directly to fixed expenses: minimize them once through comparison shopping and negotiation, then automate to avoid repeated mental costs. See Bogleheads.↩︎

  3. Sethi’s Conscious Spending Plan divides spending into fixed costs, savings, guilt-free spending (wants), and investments. The key insight is that tracking categories rather than individual transactions reduces decision fatigue and improves compliance. Learn more at the Conscious Spending Basics guide.↩︎

  4. Felix’s evidence-based approach to investing and personal finance emphasizes that behavioral factors (consistency, habit, and spending without guilt) matter more than finding the perfect plan. A budget you follow imperfectly beats one you abandon. See PWL Capital research.↩︎

  5. Conscious Spending Basics. Sethi, Ramit. 2024. Readers share their own versions in this Reddit post↩︎