Caspase Demo · Underwater

A demonstration on invented data

 

    Sample data, invented for this page. No real client is in it. Method & limitations

    Run it on

    Sample data, invented for this page Time entries CSV Agreements CSV

    Why these agreements.

    How it decides, in four steps →

    What this could mean.

    How this was calculated

    Client by client.

    ClientSizeCharged /moPrice each Cost eachHours eachMargin A yearWhat to do

    The whole book, on one axis.

    Every client by what the agreement earns once the work is costed. The dashed line is the margin the agreements were priced at. Anything left of the solid line is paid for by somebody else on this list.

    The number you already have.

    22%

    Run it on your own book.

    Two things. A time export with a client name and hours on each row, and the monthly value of each agreement. Both exist already. They live in different systems, which is why nobody has put them together.

    Neither leaves this page. No upload, no server. The reading happens in your browser and is gone when you close the tab.

    client, hours, and ideally a date, a role and a cost rate

    no account, no signup

    Method & limitations.

    There is no model here. It is one division that nobody does, because the top and bottom of it live in different systems.

    • 1
      Cost the work at what it costs. Every logged hour carries the loaded cost of whoever delivered it. An engineer's hour and a helpdesk hour are not the same money, and averaging them hides the clients this is looking for.
    • 2
      Add what you carry for them. Licenses and tooling are real delivery cost and scale with the client, so they belong here, not in overhead.
    • 3
      Divide by what the agreement charges. That is one client's gross margin, a number almost no small firm has, because the time is in one system and the agreement in another.
    • 4
      Add up two different things, and keep them apart. Gap to target is what the below-target agreements would have earned at the margin the book is priced at, less what they did earn. A client at 30% against a 50% target adds to it while making money. Lost outright is narrower: only the clients whose delivered cost is more than they pay. Lost outright is the figure above, because it is the size of the bleeding. Gap to target sits beside it, because it is the size of the pricing question.
    • 5
      Give both levers, and say which one is available. For a client a little under, the answer is a price. For one far under, the price that would fix it is one nobody accepts, so the honest answer is the other lever: how many hours a month the agreement pays for, against how many are delivered. A recommendation you cannot carry out is not a recommendation.

    Where this does not work.

    Worth knowing before anybody builds on it. The first one is the big one.

    Time entries have to be honest

    Where people log eight round hours on a Friday, the cost side is soft, and so is everything built on it. That is why the same idea fails in agencies. Check it before trusting a number.

    Gross, not net

    This costs delivery only. Sales, admin and the owner's own time are not in it, so a client at the target line is not making money overall.

    A bad quarter is not a bad client

    One migration or one flood makes a good client look terrible for a year. Twelve months smooths some of that. It does not remove it.

    Some are worth it anyway

    A reference client, a foot in a sector, a favor owed. The number tells you what that costs. Whether it is worth paying is still your call.

    This took a day.

    It is a demonstration, not a product. The version that matters reads the time system and the agreements directly, runs the morning of a renewal, and knows a client who had one bad month from one who has been like this for two years.

    If you want to know what this would say about your book, send me the question.

    [email protected]

    Caspase LLC · Virginia · caspase.ai