The team I mentioned in my blog “Using Yammer for a business process” had difficulty tracking all conversations and actions in their Yammer groups. Their groups knew heavy traffic, and conversations went up and down on the page, depending on latest posts. It was easy to miss a reported issue when it had been open for a few days.
So the team asked if it was possible to give them a report of the data, so they could better
- track questions, issues and especially resolutions
- keep track of the people who had joined the conversation (posting in the groups was an objective for all sales people)
I do not know if any of you will ever need this, but as I am also keeping this blog as a reminder to myself, let me share it – you never know 🙂
What is available?
As far as I know, there are four options for reporting:
You can find this on the right-hand column of the group. This gives you some data about the number of people, messages and views. However, this does not give any information about the content, so this was not of interest to them.
I am not an expert on PowerBI, but I have seen some reports for Yammer which look pretty good. It is also possible to show the content of each message. However, as we did not have this available for end users, (for reasons of licence costs + the preference for other BI tooling) it was not a suitable option for this purpose at that time.
“When a message is posted in a group on Yammer” is a trigger on Flow. You can send data to a SharePoint list, although I do not know if you can sort or group on conversation. Flow could have been an option, but with their post volumes, they might have needed a premium plan and we did not want to risk that.
BTW, an interesting use of Flow and Yammer is this “Sentiment analysis of Yammer posts” by Chris Bortlik.
Exporting the network data
This option allows a Yammer Network Admin to make an extract of all conversations, dates, people and what not between two dates. This was a suitable answer to their question so we set about to make this happen.
It is not possible to export the conversations of one group only, so it took some figuring out if and how we could do this in a responsible way:
- Data security concerns in general – as this option exports all conversations from all groups, the Network Admin could also see conversations from private groups. Of course any network admin is supposed to be a responsible and trustworthy person and has likely signed an NDA when joining the organization. Besides, they can give themselves access to private groups anyway, so after some discussion this was approved.
- Privacy concerns for the members of the groups in scope – but everyone had agreed to this way of doing their business and was aware of and OK with the export and the data – in fact, the report was shared with all concerned.
- Cleansing and presenting data – how could the substantial amount of data be processed quickly as this was going to be a weekly task for the Yammer Network Admin.
So, let me share how to work with the data.
How to export the data
A Yammer network Admin can make an export of data, as described here.
Following the instructions, you will get a zip file with several data sheets, of which you need the one called Messages.
Here’s some group conversations I made earlier 🙂. There are some updates, replies, replies to replies, and an announcement, in a random post order. I have numbered them to make it easier to see how things are displayed in the export.
When exporting the data and opening the “Messages” file I get a file looking like this:
I have created an Excel in which I go from the raw data to the final sorted data in several steps / tabs. You can view or download it here.
Cleansing the data
The raw file contains many columns which are not relevant for this purpose. The following ARE important:
- group_name (if you have multiple groups to manage)
- sender_name (and/or sender_email)
Please remove the other columns to make your file a bit more manageable.
The result is shown in tab “Correct columns” in the Excel sample.
As I said you will export all conversations in the network in the given time interval. You will now need to sort on “group_name” and then remove every line item that is not in one of the groups in scope.
There is little activity in my one-person Yammer tenant so there was only one group and one person in my export. I have removed those columns to make the file less cluttered. This is the “Work data” tab.
Interpreting the data
Now, let’s see how they belong together:
- Every message gets a number, the “id”. A higher “id” means that the message has been posted later than a lower “id”.
- The raw export sorts the messages by “id”, ascending (earliest message on top).
- Every thread (conversation / series of messages) has a number, the “thread_id”. It is the “id” of the first message of the thread. For the first thread (Message 1) this is 1197762641. So, all messages that have 1197762641 under “thread_id” belong to Message 1. In the tab “Colour-coded work data” each number has its own colour, providing they are/have a reply or a thread_id.
- Every reply has the “id” they replied to, in the “replied_to_id” column.
- Every new thread has an empty box in “replied_to_id”
It looks like this:
Presenting the data
This team wanted to be able to quickly scan through all conversations, to see if they had been addressed. They were looking for messages in the “body” that said something like “This complaint has been registered in CRM with number 123” or “We have discussed this with management and added this to our wish list for 2020” or similar. These messages would typically be at the end of a conversation. Anything that showed that the message had been read, processed and entered into the appropriate system.
So, we sorted the messages on “thread_id” first and then on “id”. This gave them the info they needed. You can see that in the “Sorted data” tab.
Additionally, they sorted on “sender_email” to count the number of entries for each Sales person.
- We all sometimes reply to the original and sometimes to a reply. You can sort that out in the data export if you want, but in this case all threads needed to end with a resolution. So in general, the last updates in time were the most relevant.
- Please select your date range carefully or you will end up with an unworkably large file, not only in number of line items, but also in GB’s. And remember to turn off the attachment downloads!
- The “title” field is useful only when you want to make a distinction between normal updates and Announcements. Every reply to an announcement is treated as a normal update.
- Please make sure your users do not use paragraphs or hard returns in their messages as only text before the hard return is exported into the “body” field.
Have you ever used the data export option for Yammer? Please let me know!
Why not use Teams?
If they were to start this project now, I would probably advise Teams rather than Yammer. But I have not been able to find any way to export the data, nor is a new Teams post a trigger for Flow at this moment. So I am not sure if Teams would have met their reporting requirements.