Tableau is arguably the best Enterprise Business Intelligence platform on the planet, and it has a following to back it up. But is your Tableau Server environment being used to its potential? Tableau suggests an 8 core node for every 50-100 expected concurrent users (read white paper here). The concept of concurrent users is easy enough to understand (it is the number of users logged in and active at any given time), but how would one go about measuring that once Tableau server is up and running, to see if it is being used at, above or below capacity?

Luckily, Tableau makes the source data for this calculation available in the Postgres database that manages Tableau server. Among other things, Tableau captures two key pieces of information every time a user accesses a dashboard. First, it captures when a user “session” is started – this effectively is when the user logs in. Second it captures each “http request” – in other words, every page, dashboard or click that requires a response from the server back to the user’s browser, along with how long the request took.

With this mass of data, the number of users logged in, and active, at any given point in time the past can be calculated. This requires some specific SQL acrobatics between the session and http request tables. Luckily you have a tool at your disposal to query, calculate and analyze these data!

Once the results are obtained, they can be compared to the capacity recommendations from Tableau. If the number of concurrent users is greater than the recommendations, it may be worth considering additional core. But what if it is less? Even significantly less? This is a clear signal that your Tableau environment is being under utilized relative to how it was sized. The most likely reason for this is a lack of user adoption.

Traditional adoption cures such as training, “Tableau Days” and intranet portals can help, but all still require that users leave their workflow to visit a dashboard, and measuring effectiveness of these programs is difficult.

A complement to these approaches is to employ an “intelligent agent” that can monitor dashboards on behalf of a user, and send notifications via traditional messaging apps (email, SMS, IM) or directly into their workflow applications (CRMs, ERPs, Project Management) via RESTful APIs. What’s more is that these notification contain links back to the dashboard – or somewhere else entirely – so that action can be taken, tracked and measured.

Tableau starts to scratch the surface with the native alerting functionality found in Tableau Server v10.3+, but is limited to “group” alerts to email, and does not allow for a human readable context to accompany the notification explaining why it was sent.

Winnow Analytics natively offers these capabilities, and more, on top of your already existing Tableau dashboards. This allows business stakeholders to get the information that they need, when they need it, right in their workflow. This has the added benefit of delivering more value from your existing Tableau investment.

In future posts, we will discuss the ROI associated with “intelligent agents” for your dashboards. To learn more about Winnow Analytics and try it for free, please visit