  We consider dynamic pricing with many products under an evolving but
low-dimensional demand model. Assuming the temporal variation in
cross-elasticities exhibits low-rank structure based on fixed (latent) features
of the products, we show that the revenue maximization problem reduces to an
online bandit convex optimization with side information given by the observed
demands. We design dynamic pricing algorithms whose revenue approaches that of
the best fixed price vector in hindsight, at a rate that only depends on the
intrinsic rank of the demand model and not the number of products. Our approach
applies a bandit convex optimization algorithm in a projected low-dimensional
space spanned by the latent product features, while simultaneously learning
this span via online singular value decomposition of a carefully-crafted matrix
containing the observed demands.
