  We consider a dynamic mechanism design problem where an auctioneer sells an
indivisible good to two groups of buyers in every round, for a total of $T$
rounds. The auctioneer aims to maximize their discounted overall revenue while
adhering to a fairness constraint that guarantees a minimum average allocation
for each group. We begin by studying the static case ($T=1$) and establish that
the optimal mechanism involves two types of subsidization: one that increases
the overall probability of allocation to all buyers, and another that favors
the group which otherwise has a lower probability of winning the item. We then
extend our results to the dynamic case by characterizing a set of recursive
functions that determine the optimal allocation and payments in each round.
Notably, our results establish that in the dynamic case, the seller, on the one
hand, commits to a participation reward to incentivize truth-telling, and on
the other hand, charges an entry fee for every round. Moreover, the optimal
allocation once more involves subsidization in favor of one group, where the
extent of subsidization depends on the difference in future utilities for both
the seller and buyers when allocating the item to one group versus the other.
Finally, we present an approximation scheme to solve the recursive equations
and determine an approximately optimal and fair allocation efficiently.
