Natural Language Generation Engine(NLG)

One of the main problems the analytics department in corporate business faces is the sheer volume of incoming and outgoing data, meaning the analysts have to write LOTS of text (most of which is never read). This is particularly painful for writing monthly or quarterly reports, especially if they are intended to be actually useful. We came up with a solution that lowered the quantity of human errors by 58% and provided a 71% faster report writing.

One of our customers needed a NLG solution to simplify the process of report creation. The main obstacle was that corporate business has to process a myriad of reports from underlying departments that do not have unified form and structure. We designed a PoC (proof of concept) — a tool that transforms MS Excel spreadsheets into text.

The spreadsheets can be of different length or width and can contain the data in varying cells, yet the algorithm must recognize and mark all the parameters.

It begins with data normalization and processing in order to allocate all the important data in incoming spreadsheets. Then the data is uploaded into the Template generator that works by Yes/No/Equal principle:

  1. if the new value is bigger than the previous, use the template “xxx increased”
  2. if the new value is lower use the template “xxx decreased”, etc.
  3. if the new value is essentially the same use the template “xxx is equal”, etc.

Creating such simple templates and building the trees of them allows to describe a huge variety of situations with a handful of simple parts that can be combined in any construction.


This helps create the a custom-tailored multilayer report automatically with all the details already filled in. This simple tool helps deliver diverse and informative reports in minutes and ensures 58% decrease in human-errors with 71% faster report preparation.