I want to estimate the following model: $Y_{ismr} = \alpha + \gamma O_{sm}+\beta X_{smr} + \epsilon_{ismr}$ , where $Y_{ismr}$ is customer $i$'s reported level of satisfaction at store $s$ in market $m$ in region $r$, $O_{sm}$ is the number of competitors faced by store $s$ in market $m$ , and $X_{smr}$ is a vector of market-level and region-level controls for the market and region that the store $s$ is in.
The parameter I'm interested in estimating is $\gamma$. It says, all else equal, how much a customer's satisfaction rating at a store will improve if that store faces an additional competitor.
My question is: When I run this regression, should I cluster my standard errors by store or by market?
Note 1: I am not worried about endogeneity here as I have reason to believe that, in the specific context I'm studying, the level of competition is exogenously determined.
Note 2: To be clear, there are several different regions of the geographic area I'm studying, each of which has multiple different local markets, in which there can be multiple stores. Each store has been reviewed by a few hundred customers.