Millennials, houses & Power BI
Since the housing market drives me crazy, and I'd been wanting to see just how polished you could make a public Power BI dashboard, I figured it was high time I got round to tackling both with this piece on housing affordability.
If you don't fancy a long read, here's what I made:
The takeaway is that home ownership has fallen off a cliff for young people since the financial crisis.
Enough politics, enter Power BI
Others can do the opinion. This page is about using Microsoft's increasingly popular Power BI to tell a data driven story.
Data stories challenge us with a higher bar on presentation than mere dashboards. People are more likely to accept quirks on a workplace dashboard, whereas data stories get seen by the public, who will offer no forgiveness for the quirks of a BI tool when clicking through from a Tweet.
The BI landscape is finding this hard right now, and few tools are all-rounders:
Tableau is great for analysis, and diabolical at design. Infogram is diabolical at data, and good at design. Google Data Studio is fast and shareable but clunky at viz. Flourish tells an amazing story, as long as you only work with simple data. And Raw Graphs and Data Wrapper make a great chart - if one chart will do.
Power BI seeks to cover a lot of bases, and succeeds at quite a few.
Here's how I found it when coming from Tableau and other BI tools:
I was pretty dubious about Power BI's pre-pack approach to visualization, but I've come around to their way. It's a winner.
While Tableau offers great flexibility for building sophisticated viz, it can also be crazy difficult for the simplest tasks (see the 17 step donut).
Need more pretty? New viz is a click away
Power BI offers a vast array of visualization options out-of-the-box via their Marketplace. The viz options aren't hugely customisable but they make up for depth with sheer choice. Sankeys and sunbursts are easy, where in Tableau you'd be planning a week off to do some colouring in.
Output matters hugely to me.
We've all seen great data analysis sunk by bad styling or poor messaging, and I like design discipline to be baked into the insight process. Using carefully chosen styling, colours, fonts and layouts is something I place great faith in to help reveal good insight.
Power BI is better than most at this.
Layup tools work to a grid, there are smart guides for neat alignment, and the default template colours won't make you throw up.
It ends there though.
The font stack is hugely limited, which in a world of Google Fonts is annoying. Creating a wider style guide or template is even harder, and whilst I found this Power BI theme generator online, it's a painful exercise for the passer-by.
Conclusion: Needs improvement
In 2019, animation is the public face of data science. Nobody normal likes charts and numbers, but a moving chart is a playful way to engage audiences.
Power BI offers easy animation via the Play Axis.
If you ever had to hack a d3.js chart, Power BI animation comes as a welcome relief
This tool can be clunky when editing via Power BI Desktop, and I hit a bunch of slowdowns and editing issues on this project. But when published to the web, the tool works beautifully - particularly when set to Auto Start and Loop.
I used the Play Axis to create a column version of the now famous bar chart race.
Now I'm wondering how hard I can push it?
Now we come to the sharp end of public visualization: Putting your creation on a web page for the public to see.
Power BI Desktop is free, as is publishing to the public web. But it isn't entirely obvious how to do this: Upon completing your amazing project, you need to click File > Publish > Publish to Power BI to move your workbook to an online workspace.
Now you need to embed it on a web page, which involves copying an embed code hidden in the File menu and becoming a web designer by posting it to a static page on the web somewhere.
Lost? Public glory can be found in the File menu
This isn't exactly intuitive.
In a past life I was a web dev and have experience of front end design, so I was happy to hack CSS to get a half decent embed experience. If I took this to work though, I'd get vexed expressions from the data analytics team. Rightly so, because you shouldn't need to possess these skills to have a viz play nice on a public web page.
Power BI's loading experience is acceptable, and notably better than Tableau's. You don't see a janky version of your dashboard before it fully loads - just a subtle progress animation before the big reveal.
The final result feels like a reasonably well designed web page. There are no strange filtering effects when you click the wrong part of the page and the aesthetics are good.
A big roadblock is lack of mobile support. The paid version offers an Embedding API specifically designed to help your reports look great on small screens, but since I'm using the public version, my report is fairly knackered on a mobile phone.
I hit another notable issue with this lucious affordability choropleth (filled map). It's my favourite visualization in the story, but is ruined by a hopelessly slow load time and painful pan-and-zoom. The same map works much faster on Tableau.
There are alternative mapping options to explore, notably ArcGIS and Mapbox integrations. They'll be worth experimentation another time.
(Before anyone asks YES - I simplified the TopoJson postcode boundaries first.)
All in all Power BI has tried hard, but the web experience remains varied in the free product. If you want to publish a data story online that isn't crippled with slowdowns, and runs just as well on mobile as desktop, you'd still need to plan a web design project.
Conclusion: Promising, but not good
All in all, I'm encouraged by Power BI for storytelling. The result isn't bad.
It still has plenty of rough edges but I'd now consider using it for a live presentation where I can control the output, although I'd keep it's use in web publications restricted to very simple projects.
Power BI's public, online experience still feels clunky.
Power BI is really very good. It can get better.