  In this paper we investigate the problem of quantifying the contribution of
each variable to the satisfying assignments of a Boolean function based on the
Shapley value.
  Our main result is a polynomial-time equivalence between computing Shapley
values and model counting for any class of Boolean functions that are closed
under substitutions of variables with disjunctions of fresh variables. This
result settles an open problem raised in prior work, which sought to connect
the Shapley value computation to probabilistic query evaluation.
  We show two applications of our result. First, the Shapley values can be
computed in polynomial time over deterministic and decomposable circuits, since
they are closed under OR-substitutions. Second, there is a polynomial-time
equivalence between computing the Shapley value for the tuples contributing to
the answer of a Boolean conjunctive query and counting the models in the
lineage of the query. This equivalence allows us to immediately recover the
dichotomy for Shapley value computation in case of self-join-free Boolean
conjunctive queries; in particular, the hardness for non-hierarchical queries
can now be shown using a simple reduction from the #P-hard problem of model
counting for lineage in positive bipartite disjunctive normal form.
