A recommender controller (16, 22) arranged to control the operation of a recommender system in a communications system, the communications system including a client device associated with a user to which the recommendations are provided, the recommender controller comprising: a reference receiver for receiving a predetermined reference performance metric (y ref) for said recommender system; a measurement receiver for receiving a measured performance metric for said recommender system derived from a combination of one or more recommendations previously provided by said recommender system to the user and usage data from the client device associated with the user to which the recommendations were provided; a processor operable to iteratively compare the received measured performance metric of a previous iteration (y(t i-1)) with the received predetermined reference performance metric (y ref) to determine a difference value of the previous iteration (e(t i-1)), and being further operable to generate a value or values of a control parameter or parameters (u(t i)), using a closed loop control algorithm having the difference value of the previous iteration (e(t i-1)) as an input, for controlling the operation of the recommender system in such a way as to cause the difference value in a subsequent iteration to tend towards zero by specifying an amount of training data to be provided to the recommender system in the subsequent iteration, wherein there is a positive correlation between the amount of training data specified by the control parameter and the measured performance metric received in the subsequent iteration (y(t i)), such that the measured performance metric of the recommendation system in the subsequent iteration (y(t i)) tends towards the predetermined reference performance metric (y ref); wherein the processor is further operable to derive, in the subsequent iteration, training data from the usage data from the client device associated with a user to which the recommendations are provided, wherein the amount of training data derived from the usage data is based on the generated value or values of the control parameter or parameters (u(t i)); and a transmitter adapted to, in the subsequent iteration and following the derivation of the training data, provide the derived training data to the recommender system via the communications system. a reference receiver for receiving a predetermined reference performance metric (y ref) for said recommender system; a measurement receiver for receiving a measured performance metric for said recommender system derived from a combination of one or more recommendations previously provided by said recommender system to the user and usage data from the client device associated with the user to which the recommendations were provided; a processor operable to iteratively compare the received measured performance metric of a previous iteration (y(t i-1)) with the received predetermined reference performance metric (y ref) to determine a difference value of the previous iteration (e(t i-1)), and being further operable to generate a value or values of a control parameter or parameters (u(t i)), using a closed loop control algorithm having the difference value of the previous iteration (e(t i-1)) as an input, for controlling the operation of the recommender system in such a way as to cause the difference value in a subsequent iteration to tend towards zero by specifying an amount of training data to be provided to the recommender system in the subsequent iteration, wherein there is a positive correlation between the amount of training data specified by the control parameter and the measured performance metric received in the subsequent iteration (y(t i)), such that the measured performance metric of the recommendation system in the subsequent iteration (y(t i)) tends towards the predetermined reference performance metric (y ref); wherein the processor is further operable to derive, in the subsequent iteration, training data from the usage data from the client device associated with a user to which the recommendations are provided, wherein the amount of training data derived from the usage data is based on the generated value or values of the control parameter or parameters (u(t i)); and a transmitter adapted to, in the subsequent iteration and following the derivation of the training data, provide the derived training data to the recommender system via the communications system.