This dissertation presents three essays in economics. Firstly, I study the problem of allocating an indivisible good between two agents under incomplete information. I provide a characterization of mechanisms that maximize the sum of the expected utilities of the agents among all feasible strategy-proof mechanisms: Any optimal mechanism must be a convex combination of two fixed price mechanisms and two option mechanisms. Secondly, I study the problem of allocating a non-excludable public good between two agents under incomplete information. An equal-cost sharing mechanism which maximizes the sum of the expected utilities of the agents among all feasible strategy-proof mechanisms is proved to be optimal. Under the equal-cost sharing mechanism, when the built cost is low, the public good is provided whenever one of the agents is willing to fund it at half cost; when the cost is high, the public good is provided only if both agents are willing to fund it. Thirdly, I analyze the problem of matching two heterogeneous populations. If the payoff from a match exhibits complementarities, it is well known that absent any friction positive assortative matching is optimal. Coarse matching refers to a situation in which the populations into a finite number of classes, then randomly matched within these classes. The focus of this essay is the performance of coarse matching schemes with a finite number of classes. The main results of this essay are the following ones. First, assuming a multiplicative match payoff function, I derive a lower bound on the performance of n-class coarse matching under mild conditions on the distributions of agents' characteristics. Second, I prove that this result generalizes to a large class of match payoff functions. Third, I show that these results are applicable to a broad class of applications, including a monopoly pricing problem with incomplete information, as well as to a cost-sharing problem with incomplete information. In these problems, standard models predict that optimal contracts sort types completely. The third result implies that a monopolist can capture a large fraction of the second-best profits by offering pooling contracts with a small number of qualities.