But standing in the shadow of the west German city's imposing cathedral, on the same square where the attacks happened, students Sarah and Laura say the aftershocks are still being felt.
“Since then, all refugees are viewed with suspicion. That's too bad, but that's how it is,” 25-year-old Sarah told AFP, bundled up against the winter chill with a thick woolly scarf.
Her friend Laura, 20, nods and says the events had shaken her own sense of safety. “It happened and you can't forget that. There's a lot more hatred against foreigners now.”
Hundreds of women that night described running a gauntlet of theft, groping and lewd insults in a crush of mainly Arab and north African men. Other German cities reported similar incidents during their end of year festivities.
Cologne police reports later revealed that of some 1,200 complaints filed about the incidents, over 500 were for sexual assault. Most of the perpetrators were never caught.
The assaults, which made global headlines, triggered a backlash against Chancellor Angela Merkel's open-door refugee policy and heightened concerns about how to integrate a record number of mostly Muslim newcomers into German society.
They were also followed by a disturbing spike in attacks on refugee homes, with 800 reported in the first nine months of the year.
Meanwhile Germans rushed to obtain small arms licences, with the number of applications in Bavaria in the first three months of 2016 equaling that for the whole of the previosu year.
As the country readies for a general election in 2017, the shadow of Cologne looms large, with the ruling parties toughening their stance on immigration.
For Merkel, who had won praise for opening Germany's borders to those fleeing conflict and persecution, it was a nightmare start to the year.
Her popularity plummeted as the anxiety that had been bubbling about the refugee influx burst into the open, leading to angry protests and a surge in support for the anti-Islam, anti-immigrant Alternative for Germany (AfD) party.
“The events on New Year's Eve did not lead to a paradigm shift on their own, but they accelerated a trend that was already happening,” said Claus-Ulrich Proelss, director of the Cologne Refugee Council aid group.
“The mood changed completely,” added Syrian Sakher al-Mohamad, 27, who set up a campaign called Syrians Against Sexism after the assaults “to show solidarity with German women”.
Under fire, Merkel moved to toughen asylum laws, vowing to speed up deportations and tighten rules for family reunification.
“The political reflex was a blanket punishment for refugees and asylum seekers,” said Proelss.
The public mood in Germany turned darker over the summer, after an axe attack on a train and a suicide bombing at a music festival left 15 people injured.
Though not on the scale of the terror attacks that have struck France and Belgium, both were carried out by asylum seekers and claimed by Isis.
Voters punished Merkel by handing her conservative party a series of defeats in regional elections, whereas the populist AfD gained ground.
The once untouchable chancellor admitted in September she wished she could “turn back time” to better prepare for the refugee crisis, and promised there would be no repeat of the unprecedented influx.
“Yes, you should help refugees. But enough is enough,” a 35-year-old Cologne resident told AFP as she took a cigarette break a stone's throw from the cathedral.
“German culture is slowly disappearing,” the mother of two said, declining to give her name.
'We are really worried'
Yet despite groups of protesters holding up a “Rapefugees not welcome” banner, many more have volunteered to help refugees or have made donations.
German schools have accommodated huge numbers of refugee pupils, while the government has set up initiatives to encourage firms to hire refugees.
And despite being politically weakened over the refugee crisis, Merkel is tipped to easily win a fourth term next year.
In part, that's because there are no real contenders to challenge Europe's most powerful woman. But her approval ratings have also been bolstered by a slowdown in new arrivals.
Some 300,000 asylum seekers are estimated to have arrived in Germany this year, compared to 890,000 in 2015, largely thanks to a deal with Turkey and a series of border closures on the Balkan route.
But the arrest this month of an Afghan teen suspected of the rape and murder of a German student sparked fresh vitriol, with the AfD blaming the crime on the “uncontrolled” influx of young Muslim men.
Looking ahead to 2017, the Cologne Refugee Council's Proelss said he was bracing for a campaign he fears will further whip up anti-migrant sentiment.
“I expect the tone will harden in the run-up to the vote,” he said. “We are really worried.”
Sakher, the Syrian living in Cologne, said for the refugees themselves, the priority in the coming year would be to “work hard, learn the language and find a job”.
“But integration has to come from two sides,” he added.
“German society has to deal with the refugees that are here now. They are part of real life in Germany.”
By Michelle Fitzpatrick, edited by The Local