Britons are expected to spend £24.6bn on Christmas this year, representing an increase of 3.5% on a year ago, data suggests.