How dynamic pricing works