Examples of Shiny in use by Commercial Organizations

I would first mention that the last time I set this up (Tableau and Shiny), it was 3 years ago. It was Tableau Desktop and Tableau Online. I was implementing Shiny Server open-source edition.

Re: security

  • access and IAM
    I felt Tableaus authentication and IAM was pretty basic.
    Something that could easily be put in front of a shiny app.
    auth0 example
    I mean it's not glaringly bad, but I would have felt better in using something like Okta in front of Tableau.
  • data security and performance
    My guess is that you can't mess up the data source in Tableau, at least easily.
    But that's pretty straight-forward to do in a shiny app.
    Tableau queries are actually done pretty well, when you look at the underlying SQL.
    But at the same time, if you give you everyone access to all the data and fields, they can certainly take its toll on performance.

Re: costs

  • the nice thing about shiny is you are paying for hardware, essentially. In Tableau, you have to pay for seats, with the cheaper seats starting at 100 min viewers. I hated having to figure out how many seats we needed. I rather just worry about how our servers are scaling and getting how many ever people we wanted access.
  • One hidden cost of Tableau is the data engineering. Tableau makes it super easy to connect to a data source, almost too easy. I would recommend against connecting it to the raw data lake. You need to spend resources curating a data source: the right set of fields, fields encoded correctly, clean up any anomaly or bad data that can have adverse effects on viz ... etc. In my opinion, you need some dedicated resources to make self-service analytics work properly. In my mind, this isn't a cost usually in shiny apps because the people developing on shiny are already doing this.
  • Another hidden cost of Tableau is analysis support. Now you have to do this with a Shiny app but it is somewhat contained by what you choose to reveal on the app. In self-service analytics situation
    it felt like more people making bad inference or analysis. (Also telling people why their 1-2 statistics courses in college isn't sufficient training can be an awkward conversation)

That was longer than I wanted and it kind of takes away from the more important part - right tool for the use case. Is this really a self-service analytics use case? If I'm building something for an external client, I'm guessing it's not a self-service use case.

1 Like

Hi @lxy009. Many thanks for your wonderfully detailed response! If it is useful to anyone else following this conversation, here is some more background on why I am trying to get my company to adopt R Shiny in addition to Tableau:

Pre-cleaning/ETL:

  • The data that I am trying to analyze is very messy and complex. It requires a lot of pre-cleaning. I have already spent weeks cleaning the data so that it has a somewhat uniform structure. A colleague of mine (who is our in-house Tableau expert) showed me two things (a) how to duplicate the data-cleaning steps in Tableau and/or (b) how to visualize the pre-cleaned data in Tableau.

  • As expected, the data cleaning in Tableau involved a dizzying sequence of clicks that I am never going to remember. But I was surprised to find that even after connecting Tableau to the data pre-cleaned using R, there were a lot of customizations that required clicking specific points in a specific way. The whole process felt very clunky and fragile. The dashboard that I am building is actually quite basic. I have one data table from {DT} and a time series chart that can be edited by selecting an item from a drop down list.

Creating space for more dashboard features down the road:

  • In future, I want the users to see the relationships between variables using multi-variable linear regression. After viewing the overall model, I want to give users the ability to view individual explanatory variables in more detail. I have already done much of this work in my R projects. I am in the process of transferring some of these over to Shiny. After encountering lots of obstacles with transferring basic analysis from R to Tableau, I am afraid that porting more complex analysis will be extremely difficult.

  • At this point I am just using basic linear regression, haven't attempted any kind of fancy machine learning. I suspect that once I get to the machine learning phase, the gap between R Shiny and Tableau will get even wider.

The users:

  • For now, my analysis is being shared with colleagues. These colleagues take screenshots/downloads of the analysis and share with clients via email/phone/zoom. I want to make this more of a self-serve model. My company already does some of this self-serve via Tableau. But that work is handled by a different department. The Tableau based self-serve analysis is not as detailed as mine, so it works well for the other department.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.

If you have a query related to it or one of the replies, start a new topic and refer back with a link.