a system for collaborative processing , comprising a controlling module with access to at least one relational database capable of performing a first set of functions on the data in the database and at least one external analytical engine , the external analytical engine being external to the relational database and being capable of a second set of functions on the data in the database . the controlling module is capable of iteratively processing a multi - step calculation including generating sql statements to the relational database , passing preliminary results to an external analytical engine and saving data back into the relational database for further processing until the multi - step calculation is performed .