Current context-aware adaptation techniques are limited in their support for user personalisation. Complex codebases, a reliance on developer modification and an inability to automatically learn from user interactions hinder their use for tailoring behaviour to individuals. To address these problems we have devised a personalised, dynamic, run-time approach to adaptation. The approach provides techniques for selecting the relevant information from a user’s behaviour history, for mining usage patterns, and for generating, prioritising, and selecting adaptation behaviour. Our evaluation study shows that the proposed mining approach is more accurate than rule-based and neural network methods when compared to actual user choices.