Two clients can ask for the same thing: “Build a monthly performance dashboard.”
Client A has a reliable warehouse, agreed definitions, and one decision-maker. Client B sends CSV exports from three tools, has never reconciled revenue, and introduces a new stakeholder after the first review. The finished dashboards may contain the same six charts. They are not the same project.
Take an illustrative $3,000 fixed-fee engagement. You remember 20 hours spent writing queries, checking the model, and building the dashboard, which looks like $150 an hour. Then you count the less visible work:
The real total is 42 hours. The illustrative effective rate is about $71 an hour.
This does not mean fixed-fee analytics work is a mistake. It means “analysis” is too broad to price without knowing where your time goes.
Scope creep often enters through a question that sounds harmless: “Can we also segment this by region?” The segmentation may take ten minutes. Or it may expose inconsistent location data, require a new mapping table, and change every chart. The request is not the problem. Agreeing before checking its cost is.
A running project total gives you a factual pause. You can say the new cut fits, trade it for something else, or add it to scope. Without the record, the clean dashboard makes the extra work disappear.
Organize discovery, access setup, data review, cleaning, modeling, visualization, QA, documentation, and handoff under the engagement they belong to. When several requests are moving at once, the work does not dissolve into one generic “analysis” bucket.
Start a timer for data cleaning, SQL work, modeling, dashboard building, meetings, or revisions. Auto-stop protects against a forgotten timer after a long focus block. Mark billable and non-billable time separately so internal experiments and client work stay honest.
Before adding another data source, metric, slice, or revision, look at the running project total. If the work is already near the estimate, you have evidence for a useful conversation instead of a vague feeling that the client is asking too much.
Compare your estimate with actual time at the end. If dashboard projects with clean data average 24 hours for you but multi-source cleanup pushes them toward 45, that distinction belongs in the next proposal. If you need $100 an hour and expect 45 hours, the illustrative minimum is $4,500. Your math, not a market claim.
Move approved time into clear invoice lines without rebuilding the month from browser history and calendar events. Apply the right client rate, issue a branded PDF, and keep paid, unpaid, and overdue status visible.
Tympi gives you a record that can answer:
The value is not more surveillance of your day. It is a cleaner feedback loop between the work you performed, the fee you charged, and the next estimate you make.
Track one real engagement from the first data review through the final handoff. Include the calls, cleanup, validation, analysis, charts, documentation, and revisions. At the end, compare your original estimate with the full project. Then invoice from the record that produced the result.
Free plan - 5 clients, 5 projects, 50 time logs, and 3 invoices per month. No card.




.png)