We present an approach for forming sensitivity maps (or sensitivites) using ensembles. The method is an alternative to using an adjoint, which can be very challenging to formulate and also computationally expensive to solve. The main novelties of the presented approach are: 1) the use of goals, by weighting the perturbation to help resolve the most important sensitivities, 2) the use of time windows, which enable the perturbations to be optimised independently for each window and 3) re-orthogonalisation of the solution through time, which helps optimise each perturbation when calculating sensitivity maps. The novel application of these methods, to the generation of sensitivity maps through ensembles, greatly reduces the number of ensemble members required to form the sensitivity maps as demonstrated in this paper.As the presented method relies solely on ensemble members obtained from the forward model, it can therefore be applied directly to forward models of arbitrary complexity arising from, for example, multi-physics coupling, legacy codes or model chains.We demonstrate the efficiency of the approach by applying the method to advection problems and also a non-linear heterogeneous multi-phase porous media problem, showing, in all cases, that the number of ensemble members required to obtain accurate sensitivity maps is relatively low, in the order of 10s.