Offer-Ready Publisher

By Adrian Smith24 Dec 2012700 words3 mins to read

At Offer-Ready, we allow companies to find their optimal mobile phone tariff. We've developed a bunch of proprietary algorithms to search over millions of potential combinations of base tariffs and optional packs in under a tenth of a second.

We need to store which tariffs are available, and what they cost, in a format that's easy for us to maintain. However, the calculation process needs it in a format which makes the calculation as quick as possible. Transformation from the first form to the second involves quite a few different steps, quite a lot of pre-calculation, and potentially quite a few hours of computer work.

Recently I created the "publisher" front-end software, which ties all these transformation steps together and makes them accessible via a GUI. The requirements were roughly this:

A further advantage of storing the configuration in a version control system is that after a calculation has occurred, we know what version of the configuration it executed against. If a customer rings up and says "this calculation chose the wrong tariff!" we know which configuration that calculation was executed against. We can check the VCS logs: perhaps there was an error in the configuration which has already been corrected?

Here's a screen shot of the publish screen:

I designed and implemented the software for this publishing process. It works like this:

This is the next generation of the algorithm described in the article Atomic operations over filesystem and database.

This article was written by Adrian Smith on 24 Dec 2012

Follow me: Facebook | Twitter | LinkedIn | Email

More on: Algorithms | Offer-Ready | Work & Customers | Things I've Released | Web