CLIENT PROFITABILITY TIME ANALYZER · RUNS IN YOUR BROWSER · NOTHING UPLOADED

Which of your clients actually pay you well per hour?

Load a time export (a client, a duration, and ideally a billable flag and an amount or rate) and get each client's effective hourly rate against your target, the clients to reprice or drop, flat-fee work that is creeping, your non-billable share and how concentrated your hours are.

The file is read in this browser tab and never leaves your device. Independent of Toggl, Clockify, Harvest and every other time-tracking product: not affiliated with or endorsed by any of them. Results use a target rate you type, which is an assumption.

1. Your time entries

Needs a Client and a Duration (or Hours): decimal hours, 1:30:00 or 1h 30m. Used when present: Date, Billable (yes/no), and an Amount (or Billable Rate, which is multiplied by the hours). Comma, tab and semicolon files, quoted fields, US and day-first dates and UTF-16 exports are read. Rows that cannot be read are listed with a line number and reason.

Choose a file or paste the text, then click Analyze.

The model, and what it leaves out

Common questions

How do I find out which clients are actually profitable?

Export your time entries from Toggl, Clockify, Harvest or your own sheet with a client, a duration and, if you have them, a billable flag and an amount or rate, then drop the file here. The tool divides what each client paid by the hours you spent on them and compares that effective hourly rate with the target rate you type. Nothing is uploaded; the file is read in your browser.

What is an effective hourly rate?

It is total revenue from a client divided by every hour you tracked for them, billable or not. A client billed at $120 an hour who also takes ten unbilled hours of calls and revisions for every forty billed is really paying $96. Flat-fee and retainer clients only show up honestly this way.

How do flat-fee and retainer clients work here?

Type one line per client, such as Harbor Dental, 6000, in the flat-fee box for the period the export covers. That revenue is added to whatever the export already attributes to the client, and divided by all their hours. If the fee did not change while their monthly hours did, the tool flags scope creep.

Which columns does the file need?

A client and a duration (hours as a decimal, 1:30:00, or 1h 30m). Optional and used when present: a date, a billable yes/no column, and either an amount or an hourly rate. Column names are matched by alias; rows that cannot be read are listed with a line number and reason.

Is the $-upside figure a forecast?

No. It is the extra revenue the below-target clients would have paid at your target rate for the same hours, which assumes those clients would accept it. It shows how large the gap is, not what you will get.

Is this financial or business advice?

No. It applies arithmetic to the file you supply and a target rate you type. It is independent of every time-tracking product named on this page and is not affiliated with or endorsed by any of them. Whether to reprice, scope or drop a client is your decision.