  We introduce profile matching, a multivariate matching method for randomized
experiments and observational studies that finds the largest possible
unweighted samples across multiple treatment groups that are balanced relative
to a covariate profile. This covariate profile can represent a specific
population or a target individual, facilitating the generalization and
personalization of causal inferences. For generalization, because the profile
often amounts to summary statistics for a target population, profile matching
does not always require accessing individual-level data, which may be
unavailable for confidentiality reasons. For personalization, the profile
comprises the characteristics of a single individual. Profile matching achieves
covariate balance by construction, but unlike existing approaches to matching,
it does not require specifying a matching ratio, as this is implicitly
optimized for the data. The method can also be used for the selection of units
for study follow-up, and it readily applies to multi-valued treatments with
many treatment categories. We evaluate the performance of profile matching in a
simulation study of the generalization of a randomized trial to a target
population. We further illustrate this method in an exploratory observational
study of the relationship between opioid use and mental health outcomes. We
analyze these relationships for three covariate profiles representing: (i)
sexual minorities, (ii) the Appalachian United States, and (iii) the
characteristics of a hypothetical vulnerable patient. The method can be
implemented via the new function profmatch in the designmatch package for R,
for which we provide a step-by-step tutorial.
