Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Machine learning contractors, how much do you charge hourly?
94 points by reiinakano on Mar 30, 2019 | hide | past | favorite | 40 comments
Also, how many years of experience do you have? What are your credentials? Where do you live?

Okay. I’ll throw in. I live in the Pacific Northwest and have been in tech a long time, about the last 4/5 years with a heavy focus on data science and ML with a particular focus on cyber security (and robotics/IOT (think like datacenter energy system monitoring). Not a PhD. Pretty much self taught. Worked for one of the big tech companies for many years, which gave me a lot of cred to build on (and a great platform/environment to focus on learning).

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.

The robotics/iot stuff is a pretty heavy interest for me. Where did you start, being self-taught, to get into the field? Or was working at a tech co enough already

It’s been said numerous time here on HN and elsewhere (read patio11’s kalzumeus.com) but just to repeat what others and myself have found to work best: dont charge per hour. Charge per day/week or month.

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.

Pros of charging hourly:

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.

How can you work less AND get it done faster?

That's what "efficiently" means. More of the task completed per unit of work performed.

This makes no sense mathematically - changing the unit of measurement (and perhaps rounding) cannot make a real difference unless substantially all of your results are between 0.5 and 1.5 unit.

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.

Another way of putting this might be "charge by the sprint".

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.

Can you explain more how this works? So you get paid upfront for a e.g. two week sprint where you say what you think you'll get done in that sprint and the client picks if they want to renew for the next sprint based on a progress review at the end?

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?

You're assuming that in order to bill one day, you have to work 8 hours, which is more or less how hourly billing works, particularly in the cases you cite where the actual billing unit is 15 minutes. But a day rate works differently; it basically says that for the duration of the contract, you will get paid each day you're on contract, regardless of the actual number of hours worked. You might work more than 8 hours a day, you might work less. Either way, you get paid for the day.

> But a day rate works differently; it basically says that for the duration of the contract, you will get paid each day you're on contract, regardless of the actual number of hours worked. You might work more than 8 hours a day, you might work less. Either way, you get paid for the day.

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?

If you get a stream of tiny tasks from your client, maybe hourly billing is the way to go.

I'd they present you with a project that you agree to deliver in 6 weeks and then mostly leave you alone in the interim, it's probably a different story.

In the 6 weeks scenario, when would you consider fixed price over weekly? With fixed price, there's a large incentive to be efficient and you can juggle more than one project at a time if you want to.

A day rate can certainly work against you, in the same way that salary can work against you, if there's more work to be done than can be fit into X number of days at 8 hrs/day. You may end up working 12 hour days for the duration. I think the convenience of a day rate is more about not having to track work at a tight level of granularity, and having a guaranteed minimum per day, than it is about pocketing efficiencies.

One of the core benefits I think of fixed price is you have a large incentive to be efficient, which you don't have so much with hourly, daily or weekly billing. Do you know any other payment structures that encourage efficiency in the same way? There's milestone based billing which is similar to fixed price but requires more planning.

How does that make a difference if you don't exhaust the work-available-to-do?

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.

I think you've answered your own question. Between working one hour out of the day, or ten minutes out of each hour, which is actually more feasible and likely?

In a day rate situation, if you're blocked by client inaction, they're still paying you daily. In an hourly situation, that is generally not the case. And if you can truly satisfy client obligations working only an hour a day (very unlikely), then yes, you'd still get paid for the days and there would be nothing unethical about it.

Yes, I answered it - and in my experience, and I do have relevant experience, it’s not acceptable unless (a) blocking and (b) properly agreed and documented in the agreement that downtime waiting for client is billed at full rate. YMMV - either way, unless blocking is common, the day rate vs hourly rate is just a change of unit. Blocking is not common in well run projects I’ve been involved in, and not even in those that were badly run (though more than the well run)

250. Never had a client tell me it was too much. East Coast. PhD. 10yrs in semi-related industry before.

Commenting so I can find this thread easily later... as I'm also curious :).

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.

My experience at a very high level:

- 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

Interesting regarding the 70% - do they actually you bring you in as a consultant to help them map out their ML strategy?

I'm wondering how one converts to a data scientist or ML engineer from a pure web development background without going back to school? I've been a backend developer for many years and I'm already a bit bored with working on software-only products. Would love to move on with my career to a point where I could have some more influence on what's happening in the real world off the web. Where did you start?

I went from Cybersecurity (Infosec) to Data Science/ML. If you have interest/passion, it's totally doable. I get asked this kind of question a lot, so I created a listing of the stuff I've found most useful (books, online classes, etc). You can find it at


If you have stuff you think I should add, please let me know! (jan @ghostbytes.com)

Good stuff, thanks.

You're probably going to get significant selection bias here. Few people are going to admit to a rate they're afraid is low, and other people who respond may be doing a bit of humble bragging. In my experience both contracting and hiring, $100-150/hr is typical for an experienced person.

This seems WAY low to me. I ran many projects for companies. $150 is the rate they pay for 3-4 years experience from consulting firms. You should start at ~ $240 and let them negotiate you down.

Never be afraid of letting them pay you more!

So after "letting them negotiate you down" -- what's the actual, final, median rate we're talking about here, please?

I would say $180-$200.

I would agree with this. I have a number of friends doing Data Science consulting (PowerBI/Tableau/etc), and it seems like they average out around the $180-200 range. I think they're undercharging, and I've had no problems getting business/repeat business up to around $250. Beyond that and you're in the bailiwick of the Accentures and their ilk.

The more projects you do, the more repeat business, the better you get, and the more you learn to not underprice you work (which helps you focus on the good projects where you can have the most impact). It pretty much compounds.

For the hourly stuff, I've had very little pushback until I get much above $250. Most of that work is break/fix. As above, I much prefer to do project based work and bid on a project by project basis. (Gives me incentive to work harder/faster, and gives the customers a predictable price. I've found a lot of them are wary of open-top ended contracts).

What's your effective day rate using on an average project based price if you don't mind sharing?

Ooo. Good question. I will admit I haven't run the numbers recently. Will do so and post.

Noted, thanks.

I stand by the range. There are certainly gigs where you can charge more, and it's undoubtedly also location dependent. But those are on the edges of the bell curve. Most people in the field will encounter rates comparable to what I've described.

As a follow up - how do you all find work? ML engineer here, working in Toronto for four years.

You're welcome to drop me an email. We do some work in Canada (I'm a displaced Canadian myself): jan @ghostbytes.com

A good percentage of our work is remote (save for the robotics stuff, which is very hands on).

What kind of work are you looking for?

Regular short contracts, less than 8 week projects.

Contractor or freelancer? To me a contractor does short gigs 3-12 months with a daily rate and are usually being hired by a technically knowledgeable person, who says I need x,y,z tech skills.

I charge $10,000 per day. It would be silly to charge per hour.. Never really understood that approach - but that's just me

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact