AbstractModern software systems are continuously seeking for adaptability realizations, to generate better fit behaviours in response to domain changes. Requirements variability motivates adaptability; hence, understanding the influence of the domain changes, i.e. context variability, to requirements variability is necessary. In this paper, we propose an approach for context-based requirements variability analysis in the goal-oriented requirements modelling. We define contextual goals and contextual preferences to specify the relationships of contexts with requirements and preferences, respectively. Given a requirements problem represented through a goal model, we use the contextual goals to derive applicable solutions at a given situation. Then, from those applicable solutions, we use the contextual preferences as criteria for evaluating and selecting the ones that would best satisfy stakeholder priorities. To support our variability analysis, we develop a tool to automate the derivation and evaluation of the solutions. We further demonstrate the use of our approach in detecting modelling errors and validating the impact of prioritizations, leading to improvements in the requirements specifications. Our approach broadens the scope of requirements variability by weaving context variability with both stakeholder goals and preferences, in order to sufficiently represent the adaptability needs of software systems where contextual changes are commonplace.