Oh yes, alfaman, you are correct (sorry Tim), indeed a user variable has the highest priority in the parsing order, so it can't contain any other variables in its name (not even the names of other user variables). But Tim is right in saying that you can create a user variable individually for each market. In that case it does not make sense to put market_id in it.
Here is the order of parsing variables, just in case (you can find it in the manual):
1. User variables and Constants. For this reason you cannot include any other variable in the name of a user defined variable when executing a trigger with the "set user variable" action.
2. Market variables starting with the winplace_ prefix.
3. Win/Lose History variables.
4. General Variables.
5. Matching Selection Variables.
6. Market variables starting with the mr_ prefix.
7. Market Variables and Market Prefixes.
8. Selection variables starting with the prefixes s_, r_ and pw_.
9. Remembered Selections variables.
10. Selection Variables.
11. Excel-Bound Variables.
12. Operators and functions.