I have been asked many times by clients to provide fixed price estimates for large Machine Learning (ML) projects. This is really tricky. Requirements often change midway through a project as a result of feature creep, development slippage, integration headaches, user acceptance, and many other factors. I advise clients not to fight requirements changes in their first ML project, which is the exact opposite from traditional software development principles. Machine learning is not regular programming. It is basically applied data science, and rolls out very differently in an organization that already has a non-machine learning infrastructure as compared to a start-up with a clean slate.