How do you size an engagement when you do not know exactly what is going to be delivered?
Very often companies wanting to outsource something wants to specify exactly what is going to be delivered and how, simply because they think that is the best way to make sure they do not get fooled or tricked by a vendor. This behavior works when you can specify exactly what is going to be delivered and how, like in traditional Waterfall projects. In an Agile engagement it is different, so instead focus should be on making a functional capacity available to the customer which can be specified and controlled. The output can not be controlled in the same way, but the assumption, based on mutual trust, is that utilizing the right capacity will produce the optimal output i.e. working code.

So, when buying Agile services focus should be on sizing the relevant capacity to adress the business problem, NOT sizing the estimated effort to create a predefined solution.