Coproduction systems, in which multiple products are produced simultaneously in a single production run, are prevalent in many industries. Such systems typically produce a random quantity of vertically differentiated products. This product hierarchy enables the firm to fill demand for a lower-quality product by converting a higher-quality product. In addition to the challenges presented by random yields and multiple products, coproduction systems often serve multiple customer classes that differ in their product valuations. Furthermore, the sizes of these classes are uncertain. Employing a utility-maximizing customer model, we investigate the production, pricing, downconversion and allocation decisions in a two-class, stochastic-demand, stochastic-yield coproduction system. For the single-class case, we prove that downconversion will not occur if prices are set optimally. In contrast, we prove that downconversion can be optimal in the two-class case even if prices are set optimally. W...