Gilles Crofils

Gilles Crofils

Hands-On Chief Technology Officer

Tech leader who transforms ambitious ideas into sustainable businesses. Successfully led digital transformations for global companies while building ventures that prioritize human connection over pure tech.1974 Birth.
1984 Delved into coding.
1999 Failed my First Startup in Science Popularization.
2010 Co-founded an IT Services Company in Paris/Beijing.
2017 Led a Transformation Plan for SwitchUp in Berlin.
November 2025 Launched Nook.coach. Where conversations shape healthier habits

Smoothing freelance income with rolling-average models

Abstract:

The article addresses the challenge of irregular income faced by tech freelancers, where fluctuating project loads and unpredictable payments make traditional static budgeting ineffective—comparing it to wearing a raincoat in a heatwave. As a solution, it explains how rolling-average models can help smooth out these income swings, enabling freelancers to track trends, budget realistically, and prepare for leaner months. The article offers a detailed, step-by-step guide to building a rolling-average model, from organizing payment data—emphasizing the importance of standardizing records, reconciling accounts, and handling multiple currencies—to choosing appropriate time windows (such as 3, 6, or 12 months) based on individual needs. It explores popular tools like Google Sheets, Notion, and Airtable, listing relevant templates and plugins, and provides automation tips using tools like Zapier and Tiller Money Feeds to keep records up to date with minimal manual effort. Unique examples highlight how contractors and indie developers can tailor these models to manage gaps between contracts or unpredictable product launches, respectively. The article further guides freelancers on using rolling averages to detect early warning signs, plan savings buffers, and avoid pitfalls like overreacting to outliers or seasonal trends. Emphasizing simplicity, it recommends minimalist routines and lean toolsets for sustainability, supplemented by links to practical templates and automation resources. Ultimately, the article presents rolling-average models as a pragmatic way for freelancers to gain stability, reduce financial stress, and focus more on their work instead of constantly worrying about cash flow.

For tech freelancers like me, income rarely follows a smooth or predictable pattern. One month, I might juggle several projects; the next, my inbox is eerily quiet. Sometimes invoices are paid late, and there’s always that slow August. Trying to stick to a set budget can feel as odd as wearing a raincoat during a heatwave—it just doesn’t fit. This feast-and-famine rhythm makes planning tough, and I’ve felt that anxiety firsthand.

I’ve found that rolling-average models are a simple solution that actually works. These models help me even out my freelance income, making it easier to budget, spot trends, and save up for leaner times. In this guide, I’ll walk you through how I set up my own rolling-average model—from collecting payment data and picking a time window, to using tools like Google Sheets, Notion, or Airtable. I’ll also share routines for updating your model, tips on avoiding mistakes, and ideas for keeping things as simple as possible.

Whether you’re a contractor dealing with gaps or an indie developer facing unpredictable launches, a rolling-average model can bring more order to your finances. I’ll include template and plugin suggestions, and advice on tweaking the model for your own needs—so you can focus more on your work and less on cash flow worries.

Why rolling averages work

The challenge of unpredictable income

If you’ve freelanced in tech across Europe, you know income isn’t steady. Projects can stack up one month, then vanish the next. I’ve seen this myself—especially after moving from Berlin to Lisbon, where project cycles and client habits were even less predictable. Clients pay late, holidays slow things down, and sometimes the market just shifts. The end result? Cashflow that’s always up and down, making planning a headache.

Even with good day rates, I’ve watched my calendar empty out between contracts. Unlike a salaried job, freelance work means handling both the busy times and the pauses, often without warning. It’s not just about projects—market changes, demand swings, and late payments all add to the unpredictability. Static budgets just aren’t built for this.

Why static budgets fall short

If you try to stick to a fixed monthly budget, expecting the same income each month, you’ll probably end up frustrated. When work slows down, that kind of budget can mean overspending and stress. When there’s a wave of projects, it can feel needlessly tight—like wearing a winter coat on a hot day. I’ve tried this approach, and it left me unprepared for both the good and bad months.

Ignoring these income swings can mean running short in slow months or not knowing what to do with a big payment after a major gig. Static budgets just don’t match the reality of freelancing.

That’s where rolling-average models come in. They adjust as your income changes, letting you make smarter decisions about spending and saving. It’s a more flexible way to manage money in this unpredictable world.

How rolling averages help

A rolling-average model acts like a financial forecast that updates constantly. Instead of focusing on just one month, it averages your income (or expenses) over a chosen period—maybe six or twelve months. As new payments come in, the average updates, smoothing out the highs and lows. This gives a steadier, less stressful view of your finances, which I’ve found essential during uncertain times.

This model also makes it easier to spot trouble early. For example, when I noticed my 3-month rolling average dipped below my 12-month average during a quiet summer in Lisbon, it was a clear sign to tighten spending. A rolling average shows these changes in time to respond, set better budgets, and plan your next move.

Building your rolling-average model

Collecting and organizing payment data

Start by organizing your payment data. When I first started freelancing after moving from Berlin to Lisbon, my invoices were scattered across emails, folders, and even a few paper copies. It was a mess until I set up a simple Google Sheet. Now, I collect every record—PDF invoices, receipts, payment notices—and keep them together. If you have both paper and digital copies, scan or photograph them so everything is digital. When all your records are in one place, it’s much easier to check for missing info later.

Next, standardize your data. I use a simple table with columns like date, amount, client, and currency. Consistency from the start means fewer mistakes and much easier analysis later on.

If you work across borders, keep an eye on currencies. For every payment in a different currency, note the original amount, which currency it’s in, and the exchange rate you used. This is especially helpful when dealing with taxes or multiple bank accounts.

Monthly reconciliation is crucial. Once a month, I compare my records with my bank statement to catch errors or missed payments. Setting a monthly reminder for this is a small effort that saves bigger problems down the road.

Once your records are organized and checked, it’s time to pick the right time window for your model.

Choosing your time window

  • 12 months: Great for seeing the big picture and smoothing out big swings. I use this when planning long-term or when my work is seasonal. For example, if big projects come in spring and autumn but summers are slow, a 12-month view shows a steadier average.
  • 6 months: A good balance if 12 months feels too slow to respond to changes. It helps spot new patterns without getting distracted by every small bump. I often use this when I want to catch trends but not overreact.
  • 3 months: Responds quickly to changes, like when launching something new. Just be aware this can make your numbers swing more, so check for real patterns before making big changes.

Once you’ve chosen your window, you can set up your system.

Setting up your model in Google Sheets, Notion, or Airtable

Here’s how I’ve set up my own models, step by step:

Google Sheets
- Enter payment data in columns: date, amount, client, currency, and notes.
- Use formulas like =AVERAGE() or rolling-average templates (many are free online).
- Automate with add-ons like Tiller Money Feeds or Sheetgo.
- I like Google Sheets because it’s easy to tweak and automate, and I can access it from anywhere.

Notion
- Create a table for payment info.
- Use simple formulas or linked databases to calculate rolling averages.
- Notion2Sheets can sync data with Google Sheets if you want more advanced calculations.
- I keep my notes, invoices, and analysis all in one place, which helps me stay organized.

Airtable
- Add payment data as entries.
- Use built-in formulas or templates for rolling averages.
- On2Air plugin keeps data synced.
- I used Airtable when I wanted a more visual dashboard and quick customization—especially when switching from client work to launching my own product.

Ready-made templates
- Microsoft Office, Smartsheet, and Vertex42 offer templates with rolling-average formulas.
- Download, plug in your data, and start tracking right away.

Breaking it down into steps or bullet points like this helped me avoid overwhelm and get started quickly.

Automating data imports and updates

Automation saves time and reduces errors. Here’s what’s worked for me:
- Zapier, Google Apps Script, IFTTT: Bring payment data from PayPal or Stripe straight into your sheet or database. For example, Zapier adds each new PayPal payment to my Google Sheet automatically.
- Plugins: Tiller Money Feeds for Google Sheets, Notion2Sheets for Notion, On2Air for Airtable—all keep data synced as payments arrive.
- Manual CSV imports: Export transactions from your platform, import them into your system, and let the rolling-average formulas do the math.

With automation, I spend less time on admin and more on actual work.

Making your rolling-average model work

Spotting trends and early warnings

Rolling averages don’t just smooth numbers—they help you spot problems early. For instance, when I noticed my 3-month rolling average dipped below my 12-month average during a quiet summer in Lisbon, it was a clear sign to tighten spending. That early warning let me adjust before things got stressful.

You can also:
- Compare short and long rolling averages (e.g., 3 vs. 12 months) to see when trends shift.
- Use control charts for normal income, or z-scores for bigger swings. If income falls outside expected lines, it’s time to act.
- Watch for seasonal patterns. If earnings always drop in August, that’s expected. But if they fall in November when things are usually busy, that’s worth noticing.

Scenario analysis is another tool I use: I’ll ask, “What if I lose my biggest client next month?” By adjusting the numbers in my model, I can see how long my buffer would last and what expenses I’d need to cut. This kind of planning has saved me from panic more than once.

Customizing for your freelance role

Freelancers have different needs. Contractors may get steady work but have gaps between jobs. For them, rolling averages help plan for breaks and for setting aside money for taxes so there’s always enough when tax bills come. Indie developers have more variable income—big spikes after product launches and quiet periods after. Their models need to handle big swings, with bigger buffers and planning for both plenty and dry spells.

I remember a dry spell after a big project in Berlin. My rolling-average model showed my buffer shrinking, and the anxiety was real. But seeing the numbers helped me plan: I cut back on non-essential spending, and I knew exactly how long I could last before needing new work. The relief when the next project landed—and my buffer started growing again—was huge.

Some advice fits everyone:
- Set money aside for taxes.
- Track buffer months (how many months of expenses you can cover).
- Pick tools that fit your income pattern, not just what’s trendy.

Rolling averages help track these essentials and make financial planning less stressful.

Linking rolling averages to buffer planning

With a rolling-average model, you get a good baseline for your safety buffer. I aim to keep three to six months of average expenses set aside. When my rolling average changes, my buffer goal changes too, so my safety net always fits my current needs.

Seeing my buffer grow after a busy spring always gives me peace of mind. I check my buffer just like checking the weather—regularly, so I’m ready for anything.

Keeping your model minimalist and sustainable

Simple routines for staying on track

For most freelancers, a monthly update keeps a rolling-average model accurate and simple. Here’s my routine:
1. Add the latest payments.
2. Check the averages.
3. Review the trends.
This takes just a few minutes. If income is especially unpredictable, try weekly updates. I connect this habit to sending invoices or checking my bank account, so it becomes automatic.

A single-page template or checklist is enough to keep reviews quick and regular. Scheduling reviews alongside everyday tasks helps the habit stick. Even when routines run smoothly, mistakes can still happen.

Avoiding common pitfalls

Here are a few traps I’ve fallen into:
- Overreacting to small shifts: Too short a window makes your model very sensitive; too long hides real changes. Find the right middle ground for your work.
- Seasonality: If August is always slow, your model should help you expect that, not hide it. Knowing these patterns lets you plan for slow months confidently.
- Outliers: A one-time big payment can throw off your math. Flag these or adjust your average, so you don’t get a false sense of security.
- Lack of context: Numbers alone don’t tell the whole story. I always add a note next to a big change—like “client paid late” or “launched new product”—to make my data more useful.

Minimalist tools and templates

Keep it simple. My favorites:
- Google Sheets (with Tiller Money Feeds or Sheetgo)
- Notion (with Notion2Sheets)
- Airtable (with On2Air)

Plugins like these keep data updated with little effort. Templates help you get started quickly—download one, then personalize it. Always adapt a template to your style, not the other way.

A lean setup—just one or two tools that do what you want—saves time and brainpower. In the end, a system you use is better than something complicated that you avoid.

Practical resources and next steps

Quick-start templates and guides

Ready-made templates make setting up fast. For Google Sheets, Excel, or Airtable, look for downloadable cash flow templates with rolling-average formulas built in. Step-by-step video guides also help, breaking things down in clear language. These resources helped me get started, even when spreadsheets weren’t my thing.

Recommended plugins and automation scripts

Manual entry isn’t needed. Plugins like Tiller Money Feeds and Sheetgo for Google Sheets, Notion2Sheets for Notion, and On2Air for Airtable all sync payment data automatically. If you want to go further, tools like Zapier and IFTTT can connect payment platforms with your spreadsheets or databases. These save work and help keep your numbers right.

Where to go from here

A rolling-average model is just the first step. With it, you can build dashboards, test “what if” scenarios, and plan how many buffer months you need for safety. As you get more comfortable, these extras give you better control over freelance money, so you can be proactive instead of always reacting.

Freelancing means unpredictable income, but rolling-average models add calm to the mess. Instead of fighting with budgets that never fit, this approach smooths things out and makes it easier to see what’s really going on. With the right setup—Google Sheets, Notion, or Airtable—tracking income and spending is less effort. Add automation and basic habits, and you’ll keep everything up to date. The real power of rolling averages is their flexibility: you can spot changes early, plan for lean times, and make better decisions without drowning in endless numbers. For me, it’s a practical solution that lets me spend less time worrying about cash flow and more time on the work I actually enjoy.

You might be interested by these articles:


25 Years in IT: A Journey of Expertise

2025-

Nook
(Lisbon/Remote)

Product Lead
Building the future of health coaching. Leading product development and go-to-market strategy for a platform that makes personal wellness accessible through natural dialogue.
Making health coaching feel like talking to a friend who actually gets you.

2024-

My Own Adventures
(Lisbon/Remote)

AI Enthusiast & Explorer
As Head of My Own Adventures, I’ve delved into AI, not just as a hobby but as a full-blown quest. I’ve led ambitious personal projects, challenged the frontiers of my own curiosity, and explored the vast realms of machine learning. No deadlines or stress—just the occasional existential crisis about AI taking over the world.

2017 - 2023

SwitchUp
(Berlin/Remote)

Hands-On Chief Technology Officer
For this rapidly growing startup, established in 2014 and focused on developing a smart assistant for managing energy subscription plans, I led a transformative initiative to shift from a monolithic Rails application to a scalable, high-load architecture based on microservices.
More...

2010 - 2017

Second Bureau
(Beijing/Paris)

CTO / Managing Director Asia
I played a pivotal role as a CTO and Managing director of this IT Services company, where we specialized in assisting local, state-owned, and international companies in crafting and implementing their digital marketing strategies. I hired and managed a team of 17 engineers.
More...

SwitchUp Logo

SwitchUp
SwitchUp is dedicated to creating a smart assistant designed to oversee customer energy contracts, consistently searching the market for better offers.

In 2017, I joined the company to lead a transformation plan towards a scalable solution. Since then, the company has grown to manage 200,000 regular customers, with the capacity to optimize up to 30,000 plans each month.Role:
In my role as Hands-On CTO, I:
- Architected a future-proof microservices-based solution.
- Developed and championed a multi-year roadmap for tech development.
- Built and managed a high-performing engineering team.
- Contributed directly to maintaining and evolving the legacy system for optimal performance.
Challenges:
Balancing short-term needs with long-term vision was crucial for this rapidly scaling business. Resource constraints demanded strategic prioritization. Addressing urgent requirements like launching new collaborations quickly could compromise long-term architectural stability and scalability, potentially hindering future integration and codebase sustainability.
Technologies:
Proficient in Ruby (versions 2 and 3), Ruby on Rails (versions 4 to 7), AWS, Heroku, Redis, Tailwind CSS, JWT, and implementing microservices architectures.

Arik Meyer's Endorsement of Gilles Crofils
Second Bureau Logo

Second Bureau
Second Bureau was a French company that I founded with a partner experienced in the e-retail.
Rooted in agile methods, we assisted our clients in making or optimizing their internet presence - e-commerce, m-commerce and social marketing. Our multicultural teams located in Beijing and Paris supported French companies in their ventures into the Chinese market

Cancel

Thank you !

Disclaimer: AI-Generated Content for Experimental Purposes Only

Please be aware that the articles published on this blog are created using artificial intelligence technologies, specifically OpenAI, Gemini and MistralAI, and are meant purely for experimental purposes.These articles do not represent my personal opinions, beliefs, or viewpoints, nor do they reflect the perspectives of any individuals involved in the creation or management of this blog.

The content produced by the AI is a result of machine learning algorithms and is not based on personal experiences, human insights, or the latest real-world information. It is important for readers to understand that the AI-generated content may not accurately represent facts, current events, or realistic scenarios.The purpose of this AI-generated content is to explore the capabilities and limitations of machine learning in content creation. It should not be used as a source for factual information or as a basis for forming opinions on any subject matter. We encourage readers to seek information from reliable, human-authored sources for any important or decision-influencing purposes.Use of this AI-generated content is at your own risk, and the platform assumes no responsibility for any misconceptions, errors, or reliance on the information provided herein.

Alt Text

Body