Our robotWe’ve been researching ways to help our clients automate reporting. We’ve made progress and we’re now able to write short reports that are generated by a robot.

To do this, we create a program to respond to events or triggers. Here is a simple example of how this works. Imagine if we had a database full of values for weather for three different cities, London, Paris and New York.


Temperature (°C)


Wind speed (mph)









New York





To create an automated daily report for one or all of the cities above, you would need an formula to structure the data. Initially, you could have:

‘In (Location) it’s (conditions), with a temperature of (temperature) (units) and wind speeds of (wind speed) (units).’

This would give us:

‘In London it’s cloudy, with a temperature of 14 C and wind speeds of 0 miles an hour.’

The phrase ‘wind speeds of 0 miles an hour’ doesn’t sound right. We need to add a conditional here so that if the wind speed is zero, the system returns ‘no wind’.The formula now reads:

‘In (Location) it’s (conditions), with a temperature of (temperature) (units) and (if wind speed =0, “no wind”, if wind speed >0, “wind speeds of (wind speed) (units)).’

This translates as ‘In London it’s cloudy, with a temperature of 14C and no wind.’

If we try the same with Paris this formula would return the phrase ‘In Paris it’s rain, with temperatures of 16C and wind speeds of 18 mph’.

This phrase doesn’t sound right either. In order to make this phrase make sense we need to develop a dictionary which can offer more appropriate replacements. In this example we can add “rain=raining” and “sun=sunny” to our dictionary and try again.

The formula now returns ‘In Paris it’s raining, with temperatures of 16C and wind speeds of 18 mph.’

In just a few iterations we can take a relatively simple formula and expand it to:

‘In (Location) it’s (dictionary search(conditions)), with a temperature of (temperature) (units) and (if wind speed=0, “no wind”, if wind speed >0 “wind speeds of (wind speed)(units)”).’

Now we have a single formula that creates readable English for each entry in the database. While this is a relatively simple example, every sentence in an automated report requires considerable attention to grammar, structure and wording if it is to make any sense. A dictionary of terms of automated reports can end up being incredibly lengthy to make sure that reports make sense.

We think innovation in this area could be really helpful for clients that need to generate specific and informative reporting – whenever an event occurs within a certain locale, for example – and for those clients that are short of time and resources.

Automated reports could be especially useful in frontier regions, or high threat countries where there are lots of incidents such as natural disasters and terrorism. It could also be used to identify company specific events like dangerous driving.