Compartmental models are valuable tools for investigating infectious
diseases. Researchers building such models typically begin with a simple
structure where compartments correspond to individuals with different
epidemiological statuses, e.g., the classic SIR model which splits the
population into susceptible, infected, and recovered compartments. However, as
more information about a specific pathogen is discovered, or as a means to
investigate the effects of heterogeneities, it becomes useful to stratify
models further -- for example by age, geographic location, or pathogen strain.
The operation of constructing stratified compartmental models from a pair of
simpler models resembles the Cartesian product used in graph theory, but
several key differences complicate matters. In this article we give explicit
mathematical definitions for several so-called ``model products'' and provide
examples where each is suitable. We also provide examples of model
stratification where no existing model product will generate the desired
result