Your goal is to work efficiently and fast. When you do this, it means you get to make more money for less time and the client gets the benefit of getting work done faster.
1. You penalize people who are wasting your time with trivial work like testing or not refactoring.
2. You can part time, or do a major project in parallel. E.g. work on the train, or while teaching classes.
3. Suitable for work where there's a lot of time consuming back and forth and experimentation, like working with APIs, CSS, copywriting, UX design.
4. You simply want to do other things the rest of the day - go to the bank, play video games.
Pros of charging daily:
A. If you have a lot of non billable hours. For example, you do a lot of hard work and need lots of rest.
B. Works better where there's less trust in the contractor. Sometimes when you don't trust yourself either.
C. Suited for deep work, which is hard to get into under pressure of hourly billing.
D. More room to research, where you don't want to feel guilty spending a lot of time researching something.
E. Less switching costs because your whole day is dedicated to only one thing.
For stuff like machine learning as opposed to front end web dev, perhaps daily rate is best.
If you said “charge by project/milestone”, your reasoning makes sense.
The people who charge a lot by hour (lawyers, tax specialists etc) will often charge in 15 minute increments. Even if you charge by day, tou’ll find you have to charge in 0.25 day increments or so.
You don't track your time specifically, you do report back on your progress each week/two, and the company makes renewal decisions off of that. The point is to not subdivide the week.
How does this work out if you finish all the tasks in the sprint really quickly or barely finish any in terms of client happiness? What are the benefits over charging per day or week?
Can you explain the advantages daily billing has overly hourly billing when the client has a constant stream of work to keep you busy?
Sounds like the main benefit is if a client interrupts your day with only a single hour of work to do, you can bill them more? Apart from that, doesn't it still have the downsides of having to keep timesheets, having to justify your hours and working faster means you earn less?
You could work just 1 hour a day; but you can similarly just work 10 minutes out of every hour you bill. If you're saying "well, yes, but it's not considered ethical on hourly rates and considered ethical on daily rates" - then our experience differs.
Never be afraid of letting them pay you more!
A good percentage of our work is remote (save for the robotics stuff, which is very hands on).
I would also ask if you have a rough idea how much of the ML work is implementing basic models to production versus actual data scientific work in coming up with/tuning the underlying models themselves.
- 1% true research / original ML
- 29% figuring out clever ways to apply existing approaches to new problems, understanding how clients business works and thinking of new twists on old ideas to solve those unique problems, etc
- 70% helping the customer understand what ML can do, how to manage their data and how to convince the rest of the company and IT to let them actually do it
If you have stuff you think I should add, please let me know! (jan @ghostbytes.com)
When I bill hourly, it’s somewhere around the 200-250 USD range, but I much prefer to bid by the project. I also do a fair number of talks around machine learning/security, AI and the future of work, and consult with policy makers on the impact of tech (esp. AI) to jobs and rural workforces. The latter generates me significantly more revenue than the hourly billing.
As to the projects themselves, to use the adage, ML is probably less than 10% (maybe even 5%) of the actual projects. Most of the work is finding the data, cleaning, and doing things like figuring out how to get their IOT devices regularly reporting to the cloud or Messing with things like SNMP and monitoring infrastructure.
Hope that helps. Feel free to ping if questions.