Salary Negotiation by the Numbers: How I Used My Beancount Data to Justify a 12% Raise

helpful_veteran
Sat, 28 Mar 2026 01:17:23 +0000

Just got word this morning – my manager approved a 12% salary increase! In a year where most people are getting 3.5%, I’m honestly thrilled. More importantly, I want to share how I did it, because it was 100% powered by three years of obsessive Beancount tracking.

The Setup: Why I Even Asked

I’ve been tracking every transaction in Beancount since early 2023, initially just for FIRE planning. But last month, I ran some queries comparing my 2023 vs 2025 expenses and had an “oh crap” moment: my actual cost of living had increased 8.2% over two years, while my salary had only gone up 4% total (2% in 2024, 2% in 2025).

The gap was getting worse, not better.

The Three-Part Case I Built

1. Cost-of-Living Reality (Not “I feel like everything’s more expensive”)

Instead of vague gestures at inflation, I pulled real numbers from my ledger:

;; My actual increases 2023 → 2025
Expenses:Housing:Rent       +12.0%  ; Landlord raised rent twice
Expenses:Transportation     +15.3%  ; Gas + insurance + parking
Expenses:Food:Groceries     +9.7%   ; Same stores, same items
Expenses:Healthcare         +22.1%  ; Higher deductible plan in 2024

Weighted by my spending mix, that came to 8.2% real increase in my cost structure. I didn’t editorialize – just showed the query output and a clean chart.

2. Lifestyle Inflation From My Last Promotion

Here’s what nobody talks about: my 2024 promotion to senior analyst came with a 6% raise… and a bunch of new costs:

Moved closer to office (higher rent) because in-office 3x/week became mandatory

Childcare costs increased ($400/month) because new hours weren’t compatible with old arrangement

“Professional wardrobe” budget because I’m now in client meetings

I tracked all of this in Beancount with tags: #post-promotion-expenses. Turned out the promotion cost me about $850/month in new recurring expenses, eating up 60% of my raise.

My manager had no idea. He assumed the 6% was pure win. Showing him the math was eye-opening for both of us.

3. Market Rate Evidence + My Reality

I combined external data (Levels.fyi, Payscale, Glassdoor for my role/location/experience) with my Beancount tracking to show:

Market rate for my role: $95K-$110K

My current salary: $88K

My actual purchasing power after real expense increases: equivalent to ~$81K in 2023 dollars

Framed as: “I’m not asking to be overpaid. I’m asking to catch up to market and maintain the purchasing power I had when I started.”

The Conversation

My manager’s first reaction: “I had no idea you tracked this so carefully.”

His second reaction: “This is… actually really compelling. Let me talk to HR.”

The key moment was when I showed him my balance_sheet.py output with year-over-year trends. It wasn’t emotional or demanding – it was data asking a question: Given these facts, what’s fair?

He came back two weeks later with 12%. Not everything I wanted (I’d asked for 15%) but way better than the 3% that was originally budgeted for me.

What I Learned

1. Personal expense data makes “cost of living” concrete
HR thinks in CPI percentages. I think in actual grocery bills. Showing my reality mattered.

2. Employers respect preparation
The fact that I had three years of clean data signaled I was serious, not just fishing for more money.

3. Timing + presentation matter
I didn’t show up with raw Beancount output. I used bean-query to generate clean CSVs, then made simple charts in Google Sheets. Professional but not over-produced.

4. Combine internal + external data
Personal expenses alone = “your problem.” Market rates alone = “just numbers.” Together = “here’s the full picture.”

Questions for the Community

I’m curious what others think:

What financial metrics would you track for this? Just expenses? Or also “hidden costs” like commute time, health impacts, etc.?

How far back is convincing? I had 3 years. Is 1 year enough? 5 years overkill?

Would you ever show raw ledger to employer? I sanitized heavily – is that necessary?

Has anyone else done this? Did it work? What happened?

Would love to hear experiences, especially from people on the other side (managers/business owners) – how would you react to an employee showing up with this level of detail?

TL;DR: Used 3 years of Beancount data to document 8.2% real cost increase, lifestyle inflation from previous promotion, and market rate gap. Result: 12% raise in a 3.5% year. Data beats feelings every time.