Data processing
It is not enough to merely find the best algorithm. An algorithm must also have the right data available to train itself, make predictions or discover connections. The form of that data is very important: in fact, several data operations must be carried out before the algorithm can start processing and interpreting the data. Again, there are an almost infinite number of processing options: just think about merging different data sources, transforming, generating derivatives and variations or denormalising.
Choices about what operations should be carried out on which data, can get complicated and depend on the selected application and algorithm.