You can check out Charles Richardson’s original election predictions here and the following is his post mortem of his predictions and the final result:
Well, first of all, mea culpa. I picked the winner, but nothing like
the strength of the Coalition vote. At least I was not alone. Most
commentators, confronted with two reputable polls (Newspoll & AC
Nielsen) that said opposite things, went with the one that agreed with
our instincts. We were wrong.

This was a bad result for Labor, but it was not a train wreck. Labor
has suffered a swing of about 2% and a net loss of probably four or
five seats: it is still well within range if things go wrong for the
government in the next term. But one lesson of this election is that
the pendulum does not swing automatically, and governments do not lose
office just because they have been there a long time.

Although I was surprised at the swing to the Coalition, there were few
surprises in its pattern. Labor did relatively well in New South Wales
and South Australia, much less so in Tasmania, Victoria and Western
Australia. That was expected, although the fact that Labor went
backwards in Queensland was more of a surprise (another failure for
Newspoll).

As to the relative outcomes in particular seats, there were no real
shocks, and very little that I had not flagged as possible. The solid
swings to the government in McMillan and Solomon were perhaps the most
unexpected. (For Solomon I can plead lack of acquaintance with the
area; for McMillan I manifestly cannot.)

As minor achievements I could mention the fact that I correctly called
Richmond and Parramatta as Labor’s two best seats in NSW, and Bonner as
the most likely Liberal gain in Queensland. (And in my defence I might
point out that it was Mr Crikey, not I, who headlined one of my pieces
last week “Why Braddon is safe for Labor.”)

For the Senate, I underestimated the Coalition’s performance, but my
estimate of the relative strengths of other parties was almost spot on.
Family First is winning its one seat in Victoria, just as I said; the
Democrats are missing out entirely, but closest in South Australia
(just as I said); and Shayne Murphy is an even chance of holding his
seat in Tasmania.

What does it all mean? We all crave simple explanations, and simple
explanations are usually wrong. But if I had to explain it in one line,
I would say this is the election that showed Australians had forgiven
John Howard for the GST.

It has been more than 7 years since the GST was proposed and more than
4 years since it was implemented: people’s political memories just
don’t run that long (unless they are carefully stoked, which Labor
failed to do). So we have returned to the status quo of 1996, before
the GST & the other disasters of Howard’s first five years.

In fact, Labor’s position is slightly better than in 1996; its
two-party-preferred vote is more than half a percentage point ahead.
Although it has lost ground over that time in a number of outer
suburban seats in Sydney and Melbourne, it has gained in other regions.
Small consolation for Mark Latham, but maybe better than nothing.

That shifts the question back: how to explain the 1996 result, and I
confess that I cannot. It mystified me at the time, and it still does.
All I can say is that Australia is basically a conservative country,
and at federal level the right is the natural party of government –
that is why Labor has only won one election decisively (1983) in two
generations. But I am aware that I have just restated the question, not
answered it.

Sol Lebovic of Newspoll has a different, or perhaps complementary,
explanation. Like me, he is not disinterested; he is trying to explain
away failure, in his case the final Newspoll that recorded a 50-50
two-party-preferred split. In yesterday’s Australian, he says “it was
one of our closest primary vote predictions in a federal election ever.”

He blames the flow of preferences, which was significantly worse for
Labor than the 70-30 Newspoll had expected – apparently due to the
emergence of Family First. But the actual flow from the different minor
parties will not be revealed until we have complete statistics, so that
debate should probably wait until then.