Frequent travellers penalised under proposed Opal fare changes

Commuters travelling more than 10 journeys per week will pay on average $255 more per year.

In a classic pre-Christmas news dump, the Independent Pricing and Regulatory Tribunal (IPART) released its draft report into the review of public transport fares in Sydney and surrounds.

The review’s aims were clear — to remove the penalty commuters currently endure when switching between different modes of transport.  In doing so, the revenue will decline and to plug this revenue hole — a raft of changes about fare caps and rewards have been introduced.

After reading the “thrilling” 106 page report, what becomes immediately apparent after reading the report is that it’s not easy for your average Joe to compare fares and see how it may affect them.

So, knowing me, you’d probably guess that I’d build some fandangled app to do it… and I did:

The rest of this blog post will be split into two main sections, for different audiences:

  • a findings (based on some 12 thousand calculations done by visitors) section
  • a technology section (on how the app was built)


During the short time since the launch of Opal Compared, it had accumulated over 12,000 weekly journey calculations.  Through this, a few interesting trends had started to emerge:

(A small note: the statistics are based on a snapshot of around 12,000 Adult Opal fare calculations made on Opal Compared up till about 27th December 2015)

Travellers with over 10 journeys per week will have the highest fare increase

Probably summed up perfectly in this chart below, the more journeys you take on a weekly basis — the higher the average fare increase.  The less journeys you take, the more you save.

Source: Opal Compared (

The point where the average crosses over is at exactly the 10 journey mark.  Commuters who travel more than 10 journeys per week will on average pay $4.90 more per week (or $254.80 per year — if you budget on an annual basis).  Those who travel less will likely pocket a healthy discount of $3.49 per week on average.

This baffles me.  The proposed Opal fares seem counter-intuitive since the proposed fare changes will disincentivise people from using public transport.

It simply doesn’t make sense to reward those commuters who contribute the least to revenue.  Shouldn’t IPART be looking on setting fare structures that reward those commuters who travel the most, encouraging more people to use more public transport thus increasing revenue?

Around 68% of journeys entered by users will cost more

The impact of the fare changes are a mixed bag, but according to this “survey of sorts” — 68% will pay more each week.  Having said that, commuters who needs to switch between the different modes of transport could save quite a bit with the proposed changes.

On average, commuters who have to switch between two modes of transport save around $9.24 per week.  Commuters who switch between three modes of transport or more will save on average $11.66 per week.

Number of modes traversed Average weekly savings under proposed fares
1 -$1.69 (increase)
2 $9.24 (saving)
3 $11.66 (saving)

Source: Opal Compared (

The ‘hackathon’ that was Opal Compared

On the 23rd December, I set myself a typical hackathon-style challenge.  I needed to build a tool in 24 hours which compared the currently weekly fares and proposed weekly fares based on the journeys entered by users.

I realise that the logic can be handled without building a backend.  Google Maps API can provide a good enough transit directions from which I can make fare calculations from.  My recent love for AngularJS helped me greatly with getting a working user interface (sorry IE8).

But man… implementing the fare logics were an absolute nightmare.  The intricacies of the current and proposed fare rules were immensely complex.

As an example, for all journeys (which can consist of multiple trips) calculated based on the proposed changes — both a multi-mode fare and a single-mode fare is calculated throughout the journey.  If any single-mode fare trip costs more than the combined multi-mode fare, then the most expensive single-mode fare is used instead.

Good grief!  What else, you ask?

  • Peak and off-peak fares? — God forbid, intercity stations have different peak times?!
  • Straight-line distance? — Nah, we currently use track length for trains (but not in the future)!
  • Switching modes? or transferring on the same mode? — Muhaha! Fares reset when you switch modes!
  • Daily caps? Weekly caps? — You bet you are, you bet I am!

By 5pm that day, I had the bulk of the fare logic completed (weekly calculations had yet to be completed).  I registed the domain and set it up it the usual manner.

By 11pm, a working weekly calculator for Opal Adult fares was finally ready to launch… and the web app went live on the early hours of Christmas Eve.

Case studies

A few sample public transport use scenarios have been calculated using the Opal Compared website to demonstrate how particular types of users will be affected by the changes:

Weekly fare increase

Case study – Daily traveller (Single-mode, fare increase)
Mary lives in Kensington.  She travels to Town Hall on the bus (M50) every morning to get to work and returns at night.

Currently, Mary pays $28 per week after reaching the weekly travel reward at the end of Thursday.  Under the proposed fares, Mary will pay $5.40 more per week ($33.40) as there are no caps or rewards applicable for Mary.


Case study – NSW Seniors Card holder
John is a NSW Seniors Card holder who lives in Wollongong.  He travels to Hurstville every weekday to help look after his grandchildren and for a weekly doctor’s appointment.

In the morning, John travels on the South Coast Line train during peak hour and returns in the opposite direction during peak hour as well.

Currently, John pays $12.50 per week after reaching the Gold Opal card’s daily cap ($2.50) on his first trip every day.  John does not currently reach the weekly travel reward as he has only paid for 5 journeys in a week.

Under the proposed fares, Mark will pay $25.25 more per week ($37.75) as he is no longer eligible for the Gold opal card and will pay concession fares for all journeys taken.  Mark will not reach any daily or weekly caps under the proposed fare structure.

Weekly fare saving

Case study – Daily traveller (Multi-mode, fare savings)
Sarah lives in Newtown.  She travels to Norwest Business Park to work every day (T2 → T1 → T65) during peak hour and returns home during peak hour (T64 → T1 → T2).

Currently, Sarah pays $60 per week after reaching the weekly travel reward on Thursday.  Under the proposed fares, Mary will save $3 per week ($57) because she is no longer penalised for changing modes.


Case study – Infrequent traveller (fare savings)
Norman lives in Eastwood.  As a part-time worker, he works Mondays and Tuesdays at Macquarie Shopping Centre (nr Macquarie University) and catches the 545 to and from work.

Currently, Norman pays $8.40 per week for bus fares.  Under the proposed fares, Norman will save $0.48 per week ($7.92) because the bus trip falls under a lower distance band and bus single-mode fares have reduced slightly.


Kenneth Tsang

I'm the author of jxeeno™ blog and co-founder of I'm a bit of an #NBN and public transport geek. You can normally find me juggling work and my studies at UNSW where I'm currently completing a degree in Geospatial Engineering.