Budget fears and unseasonably warm weather led to consumers spending far less than expected last month, according to official figures.