For the last week we’ve been talking on the blog and Twitter about some of the functionality in Shiny and how you can learn it. But, if you haven’t already made the leap and started using Shiny, why should you?
What is the challenge to be solved?
At Mango we define data science as the proactive use of data and advanced analytics to drive better decision making.
We all know about the power of R for solving analytic challenges. It is, without a doubt, one of the most powerful analytic tools available to us as data scientists, providing the ability to solve modelling challenges using a range of traditional and modern analytic approaches.
However, the reality is that we can fit the best models and write the best code, but unless someone in the business is able to use the insight we generate to make a better decision our teams won’t add any value.
So, how do we solve this? How can we share the insight with the decision makers? How can we actually drive decision making with the analytics we have performed? If we’re not putting the results of our analysis into the hands of the decision makers it’s completely useless.
This is where Shiny comes in!
What is Shiny?
Shiny is a web application framework for R. In a nutshell this means that anyone who knows some R can start to build applications that sit in a web browser. It could be as simple as displaying some graphics and tables, to a fully interactive dashboard. The important part is that it is all done with R; there are no requirements for web developers to get involved.
Also, Shiny allows us to create true ‘data products’ that go beyond standard Business Intelligence dashboards. We can define intuitive interfaces that allow business users to perform what-if analysis, manipulating parameters that enable them to see the impact of different approaches on business outcomes.
What can it do?
Once your Shiny app is built it’s basically an interface to R – meaning your Shiny application can do whatever R can do (if you allow it to). So you can create Shiny applications that do anything from ‘add some numbers together’ to ‘fit sophisticated models across large data sources and simulate a variety of outputs’.
There are more use cases for Shiny than we could possibly list here and I would strongly recommend checking out the Shiny user showcase for more examples.
When it comes to Shiny for sharing insights some of the most common uses that we see include:
- Presenting results of analysis to end users in the form of graphics and tables, allowing limited interaction such as selecting sub-groups of the data
- Displaying current status and presenting recommended next actions based on R models
- Automated production of common reports, letting users upload their own data that can be viewed in a standard way
Day-to-Day Data Tasks
Sharing insights is by no means the only way in which Shiny can be used. At Mango we are regularly asked by our customers to provide applications that allow non-R users to perform standard data manipulation and visualisation tasks or run standard analysis based on supplied data or data extracted from a database. Essentially, this allows the day to day tasks to move away from the data scientists or core R users who can then focus on new business challenges.
Check out this case study for an example of how we helped Pfizer with an application to simplify their data processing.
Shiny is also a great tool for prototyping. Whilst it can be, and is, used widely in production environments, some businesses may prefer to use other tools for business critical applications.
But allowing the data scientists in the team to generate prototypes in Shiny makes it much easier to understand if investment in the full system will add value, whilst also providing an interim solution.
The possibilities really are endless – in fact a question you may need to consider is: when should we move from Shiny to a formal web development framework?
But the decision makers don’t use R
The best thing about Shiny is that it produces a web application that can be deployed centrally and shared as a URL, just like any other web page. There are a whole host of tools that allow you to do this easily.
My personal favourite is RStudio Connect, as I can deploy a new application quickly and easily without having to spend time negotiating with the IT team. But there are other options and I would recommend checking out the RStudio website for a great resource comparing some of the most popular ones.
How can we get started with shiny?
There are a number of ways that you can get started understanding whether Shiny could add value in your business: from Shiny training courses to developing a prototype.
Get in touch with the team at Mango who will be happy to talk through your current business requirements and advise on the next best steps for putting the power of Shiny into your decision making process.
Why do we love Shiny?
Shiny allows R users to put data insights into the hands of the decision makers. It’s a really simple framework that doesn’t require any additional toolsets and allows all of the advanced analytics of R to be made available to the people who will be making the decisions.
Shiny Training at Mango
This month we have launched our newly updated Shiny training programme. The three one-day courses go from getting started right through to best practices for putting Shiny into production environments.
Importantly, all of these courses are taught by data science consultants who have hands-on experience building and deploying applications for commercial use. These consultants are supported by platform experts who can advise on the best approaches for getting an application out to end users so that you can see the benefits of using Shiny as quickly as possible.
If you want to know more about the Shiny training that we offer, take a look at our training page. If you are based in the UK we will be running public Shiny courses in London (see below for the currently scheduled dates). We will also be offering a snapshot of the materials for intermediate Shiny users at London EARL in September.
Public course dates:
- Introduction to Shiny: 17th July
- Intermediate Shiny: 18th July, 5th September
- Advanced Shiny: 6th September
If you would like more information or to register for our Shiny courses, please contact our Training Team.