We consider the problem of finding efficient trees to send information from k sources to a single sink in a network where information can be aggregated at intermediate nodes in the tree. Specifically, we assume that if information from j sources is traveling over a link, the total information that needs to be transmitted is f(j). One natural and important (though not necessarily comprehensive) class of functions is those which are concave, non-decreasing, and satisfy f(0) = 0. Our goal is to find a tree which is a good approximation simultaneously to the optimum trees for all such functions. This problem is motivated by aggregation in sensor networks, as well as by buy-at-bulk network design. We present a randomized tree construction algorithm that guarantees E[maxf Cf /C∗ (f)] ≤ 1+log k, where Cf is a random variable denoting the cost of the tree for function f and C∗ (f) is the cost of the optimum tree for function f. To the best of our knowledge, this is the first result ...