Let's cut to the chase. Turnout was down from 61% to 48%, not unremarkable in itself given it was outside of a general election and the Labour vote in may accordingly should have fallen from 14,186(61% turnout) back down to 11,160.
Labour polled 14,718 in last nights by election, some 600 more or a rise of 32% proportionally from the notional 11,160 to actual 14,718.
Listening to LibDems claiming 'their vote' held up was implausible and embarrassing. Squirm factor 8 on a scale of 10 for the vast majority of casual observers will have noted the total collapse of the Tory vote totally out of kilter with every national opinion poll since May.
Three reasons may account for Labour's rise, one a better Labour turnout in Labour areas which is bad news for the Lib Dems as it means there voters were more disillusioned in areas of high concentrations of LibDem support.
Worryingly this would override the voter apathy found in inner urban Labour areas where transient, disaffected or people who are to busy just getting by live. Thirdly the inter Asian politics with the Conservative's fielding local Oldham boy done good Kashif Ali.
From my time there, I left at 4.00-pm it would appear turnout was predictable. Lower in labour areas, much higher in LibDem/Tory areas as you would expect. It was therefore not turnout of known Labour voters 'cheesed off' but rather voters switching from Liberal to Labour that accounted for the Labours rise from a notional 11,160.
Turnout in each area would support the argument that Labour's traditional core voters in Labour areas are still disillusioned and a vicious and almost eternal protest vote occurred taking in the comments of former betrayed LibDem voters.
Crudely Labour had 3,600 switchers, one or two directly form the Conservatives who probably fooled by the cheap Tory line in May, 'time for change' but who are unpleasantly and unwittingly the victims of that change.
Possibly less than a third? That would mean around 3000 Liberals voted Labour reducing the actual LibDem voters voting LibDem from a notional 11,100 to around 8,000. I believe a further 1000 or so Lib Dems stayed at home or switched to minor parties and that only 7,500 voters voted LibDem as first choice in a Liberal stronghold where they run Oldham Council.
Bare in mind this was not only a 'stop Labour campaign' for the Tories, but 'stop Labour campaign' for right wing Liberals in what was effectively a two horse race.
The remaining 4,500 Lib Dems voters are part of the 7,000 Tory voters who did not vote Tory. Who switched to the Liberals mainly, stayed at home or were ex-Labour deceived into 'voting for change' in May.
In other words only 60% of LibDem voters voted Liberal at this by-election and that would be consistent with national opinion polling.
Two final points. Labour's majority on a lower 48% turnout was higher by 169 votes than any other win including Labour's 1997 landslide when turnout in the identical constituency was 74%.
Finally all this fails to add the subtlety of the Tory campaign. Fielding a local Asian candidate done good, voting patterns in Oldham amongst asian voters was distorted away from Labour to Conservative whilst conversely, some traditional Tories may have found it hard to identify with Kashif Ali given that immigration has been a hot issue for the Conservatives particularly.
I would ask whether part of Labour's majority came from the asian community returning from a personal Conservative vote in May to Labour which wouldn't show up in the turn out.