The number of people out shopping in the UK in the first two weeks of December fell "significantly" compared to last year, retail researchers say.
Analysis firm Springboard found a 4.9% decrease in footfall at shopping centres, retail parks and high streets.
Bad weather and rise in online shopping were both factors in the decline, according to Diane Wehrle.
The figures come as a retail analyst said it expected shops to make big discounts in the week before Christmas.
Consultancy firm Pricewaterhouse Coopers (PwC) said it was anticipating more retailers to be discounting in the week leading up to Christmas than during the Black Friday weekend.
Springboard's analysis for this month - up to 14 December - showed that the number of people visiting shops compared to the same period last year fell by 4.9% - almost three times the 1.7% decrease in 2016.
Ms Wehrle said last week's snow had a "clear impact" on footfall, but was just one of a number of factors.
She said: "The reasons are associated with budgetary constraints, due to inflation and the recent interest rate rise, but also due to the heavy discounting in November.
"Black Friday pulled spending forward, thereby impacting on customer activity in December. And of course all of this is set against a backdrop of a continuing rise in online spending."
She added that while online spending accounts for about 15% of total retail spending, it is rising approximately 10% year on year.
Meanwhile, PwC said it expected retailers to make big discounts in the final week before Christmas to convince shoppers to keep spending throughout the festive period.
The firm has analysed the number of promotions advertised in shops and online during November and December for the past seven years.
It found that many of the retailers offering promotions during the Black Friday weekend in late November returned to full price sales by the beginning of December, before relaunching discounts in the lead up to Christmas.
Lisa Hooker, consumer markets leader at PwC, said: "As we rapidly approach Christmas itself, we are already seeing an uptick in promotional activity as retailers try to attract customers through their doors and clear festive stock."
Earlier this week it was revealed that Black Friday helped retail sales to grow by 1.1% last month - despite average prices rising faster than average wages.
By BBC business correspondent Joe Lynam
The six weeks from the end of November to the start of January account for up to half of any major retailer's annual profits.
Have a bad Christmas, and you'll have a bad year.
Add in falling real incomes because inflation is high and wage growth is modest, and retailers are especially nervous this year.
So that's why some of them are offering decent discounts in the very fortnight before Christmas that they need to maximise their margins (profits). And the reason? Competition.
The rivalry on - and offline - between retailers is intense. No flash sale by a large company, will go unmatched by its rivals.
And consumers, thanks to the internet, are now increasingly aware of sudden discounting. So bargains don't go a-begging.