MicroStrategy vs Tableau

**DISCLAIMER**

This post was written in May 2014, and so as it should be obvious, some parts of it are outdated.  I actually don’t use MicroStrategy or Tableau any more on a daily basis, so I’m not going to be able to update it.  I’m somewhat aware of both companies making some recent improvements that have addressed some of the weaknesses I talk about, but since I don’t have full context / details, I’ll leave it up to you to determine if they’re still relevant.

 

By popular demand, here are my thoughts on comparing the current state of MicroStrategy and Tableau, two of the leaders in the BI market space today.  What follows are purely my own opinions from my experiences.  This isn’t scientific, it’s my opinion.  I invite you to share your own opinions and experiences in the comments.

My Experience

I’ve used MicroStrategy for 9 years, covering every possible crevice of the software and every possible role at organizations of every size.  I’ve been to 7 annual conferences, presenting at 4 of them.

I’ve used Tableau for 2 years, using Desktop as a developer and Server as a consumer, but not an administrator and only at 1 large company.  I’ve been to 2 annual conferences, and I’ll be presenting for the first time and attending my 3rd conference this fall.

 

MicroStrategy’s Strengths

MicroStrategy has a 14 year head start as a company over Tableau, and as such has a much larger scope in the solutions they provide. They’re historically Enterprise focused with a shift towards the Desktop Analyst in the last few years.

  • Schema & SQL Engine – This is MicroStrategy’s bread and butter in my opinion.  You provide a relational snowflake data model and it will glide right over it, giving you an easy drag and drop semantic layer to build your reports.  Enterprises love it because this is the start of Self Service, where business users don’t need to know complex definitions or code but can craft reports and drill freely.  IT loves it because they can ensure that logic stays in sharable objects and can be easily maintained.
  • Scalability – MicroStrategy has great SQL optimization for a very wide array of platforms which pushes the demand to the database.  In terms of scaling, it’s really more about database pressure than MicroStrategy pressure.  Intelligent Cubes are an option to cache very large amounts of data in your server’s memory if you do want to share the burden.  My general experience has been that these work fantastically well up to about 2gb, pretty good up to about 15gb, and try your luck after that.  (Of course, I’m of the opinion that at those levels you really should be evaluating your database technology, but that debate is for another day.)
  • Administration – Security, tools, statistics and object management enable administrators to keep everything in order.  While these tools leave a lot to be desired from a convenience and polish perspective, they’re perfectly functional and do pretty much everything you need.
  • SDK / Hackability – This one is borderline for me, but the fact is that while you really can customize anything on the web, the documentation and samples make it pretty much impossible.  That said, I have found what I call MicroStrategy’s “jailbreak” by injecting jQuery into dashboards which let you do some pretty cool things on the fly.  Even though they didn’t intend it, it’s still nice that the platform is flexible enough to hack on.
  • Mobile – I’m not a fan of Mobile BI.  I think the target use case is very niche and it’s just a fancy demo that doesn’t have longevity.  Jaded or not though, there’s no doubt that MicroStrategy has the premiere Mobile BI platform in the market.  I’ve seen some really amazing apps built on it, and without writing a single line of code.  If Mobile BI is your thing, it’s pretty hard not to love it.
  • Emails – If your users love formatted emailed reports, MicroStrategy has a great ability to send out what you see on the web in HTML or PDF form.  They’re still in a weird place after trying to deprecate Narrowcast for 5 years now and still not matching all of its features. (Narrowcast being a more fully featured external email bursting application that was “deprecated” in favor of Distribution Services which is native but lacking most of the flexibility).

MicroStrategy’s Weaknesses

  • Development Environment –  Developing on MicroStrategy has become very painful.  Development can be done in either a Desktop application that is a blast back to 1998 or a Web application that doesn’t have parity with Desktop and worse: many options that do exist in both are in different places with different styled UIs.  The Desktop application is still where you need to do your work but it’s so miserable to develop in that it irritates me to the point I don’t want to open it again.
  • Development Speed – Despite the Schema & SQL Engine being its biggest strength, it’s also its biggest crutch.  As powerful as this concept was, it’s just not where tech and analytics has gone.  It’s a solution for an old age when the user community wasn’t technical, when analysts were better at math than software, and a priesthood had to anoint data in order for normal people to use it.  The most powerful features in MicroStrategy are built on this concept and require a tremendous amount of up front development and design before you can even see the first number.  Businesses move at a faster speed these days, and with consumer technology putting instant access to all of humanity’s knowledge in each of our pockets, we just don’t have the patience anymore.  Visual Insights is MicroStrategy’s solution, but it feels like it’s tacked on and doesn’t have enough of the features you’d need to use it for any real work.
  • Visualizations – The graphics you get out of the box in a MicroStrategy report are unusable, and formatting them to be presentable takes longer than building the schema.  Graphs in the web are actually images returned from the server with image maps overlaid.  This makes tooltips frustratingly useless since you often get a 1 pixel hit box, and the images don’t resize if you’re on a large monitor or small laptop.  There was a short detour into Flash widgets at one point in their history, but these only work in some modes, and with few fancier HTML widgets randomly thrown this all creates a muddled visualization experience.  Since the primary role of a BI tool is to visualize the data, you may think it’s strange that this would be weakness.  I believe the reason is that MicroStrategy was magical at delivering “an answer” in a time when that was not a trivial thing to do.  Now, delivering the answer isn’t enough .. it has to be in a consumable, explorable format that tells a story and guides to results.  A sheet of numbers is never going to do that.
  • Community – With no offense intended to anyone reading this, the MicroStrategy community is non-existent.  There are a few blogs out there with a couple of ideas (not counting mine, which is the best ;), but none that seem to last more than a couple of months.  There are a few people on the forums that diligently help out, but I haven’t posted to it in over 2 years and I’m still the #4 all time contributor.  No one gives back and MicroStrategy doesn’t do anything to encourage a community or support those who do.

 

Tableau’s Strengths

Tableau started out as a tool for data analysts and has slowly moved into the Enterprise space.

  • Development Speed – Speed kills.  Throw any data at Tableau, in nearly any format, and it can slice it up in a visual manner almost immediately.  If you have decently formatted data, you go from raw to dashboard in minutes.  Even complex tasks are simplified and great visualization practices are baked right in so the default view is pleasing, functional and interactive without having to touch a single formatting control.
  • Development Environment – Developing in Tableau is delightful.  So much care and precision is put into every pixel and interaction of the application, you’d think Apple designed it.  I often joke that the confidence curve for someone learning Tableau starts out (on a scale of 1-10) at a 7, dips to a 4 the more they use it, and then ends at 8.  The reason is because the things you most likely want to do are literally a click away and intuitively where you’d expect, so newbies feel empowered and infinite.  Of course, once you need to do something that’s not a 1-click action, things get complicated and you crash down to reality as you see your limitations (more on that in the weakness section).
  • Visualization – The default visuals you get are pretty much perfect out of the box.  You can of course tweak most of the settings that you want, but it’s just details at that point.  If you never format anything, your dashboards will look great, and with a few basic options in intuitive places, you’ll have rich interactivity like click-to-filter, formatted and responsive tooltips, and responsive web layouts.  Tableau put a ton of research into their tool, and nothing is left to chance.  Even the color palettes are very carefully chosen based on tons of scientific research into the human eye and brain.  (Those are stories for someone else to tell since I’ll mangle them, but that part of their history is really cool).
  • Community – This part is incredible and nearly impossible to describe, but I’ll give it a shot.  I already mentioned the care and level of detail they put into their product, which is the first evidence of their commitment, but they really instill passion in the community.  They have an incredibly active forum, there are thousands of blogs (while my MicroStrategy readers may think I’m special, there are probably 50+ high end blogs in the Tableau community .. that may even be a conservative count).  There are user community meetups in almost every city, people buy and wear t-shirts with Tableau’s logos on it, and the best part of all of this is that Tableau fully embraces it.  They hold community events, they let customers vote on what features they want and they build the top ones, and they honor the top community contributors with insider access and direct feedback lines to name a few things.  Going to a Tableau conference is the best experience you can have if you’re at all interested in data, because the conference is not about Tableau .. it’s about data.  They’re a company that is passionate about data, so they built some tools to help unlock it’s value.  Half of the conference isn’t even about the tools, but the theory of visualization, statistics, and how it interacts with the human element.  The parts that are aren’t really about the product, but how to use them for specific purposes.

Tableau’s Weaknesses

  • Performance – Since Tableau’s roots are for the desktop analyst, they’re very immature at an Enterprise level.  There are very large issues involved with even modest amounts of data by today’s standards.  To get technical for a minute, a dashboard contains multiple components (filters, graphs, tables), and each one executes its query serially.  That means that if there are 4 components that take 2 seconds to load each, the dashboard will take at least 8 seconds.  Worse, while you’re invited so effortlessly to use analytic functions on the fly, they absolutely bury any measure of scalability.  Whereas MicroStrategy isn’t even stretching its legs with a few gigs of in memory data, Tableau starts to fall on its face.
    (Edit: As expected, I got the most feedback on this point.  I think I should restate it a little, but I’ll leave the original post intact.  I think Tableau’s scale problem is not actually Extracts or data volume, but Table Calculation performance.  Those shortcuts which the UI encourages you to use through it’s 1-click nature perform very poorly whether you’re on an Extract or querying live.  In some low sample, highly subjective tests, we’ve found that a 2m row dataset with lots of table calcs can perform way worse than a 100m row dataset with no table calcs.  I think this is why some people have the experience of Tableau not handling anything above an Excel spreadsheet and others saying it scales just fine.  I don’t know enough about Tableau under the hood to say this is definitely the reason, but just remember that data comes in all shapes and sizes.  Rule of thumb, I don’t think anyone is arguing that Performance is generally a weakness for Tableau, especially when compared to MicroStrategy).
  • Complexity – The reason your confidence curve will dip is because as easy as the easy stuff is, the hard stuff is practically impossible.  You’re teased with the promise that it’s just a few clicks away if you could only find the right combination of options, but you’ll eventually start to see the rails you’ve been riding on all this time.  There are some clever hacks and workarounds that the community will come up with, but in the same way that MicroStrategy painfully makes you format visualizations, Tableau painfully makes you figure out how to do intuitive calculations.
  • SQL – Tableau has some very basic support for database joins and in-memory joins, but you practically need to give it your dataset pre-structured for consumption.  What’s shocking to me is that while this isn’t a requirement in MicroStrategy, universally MicroStrategy developers are far better at SQL than Tableau developers (and I have a very large sample set of interviewees).  I personally don’t see how you can use Tableau without a master’s degree in SQL, but most people seem to manage.  It does destroy the principle of “one version of the truth” since nothing is really centralized (you can share data sources, but I haven’t found that very practical).
  • Object Management – Tableau doesn’t have objects in the way MicroStrategy does and doesn’t really have a concept of Dev and Production.  You can download reports and dashboards yourself as files and back them up in a system, but that’s external to Tableau.  There’s no versioning and pushing to production is all or nothing.  Dev is practically your local desktop, so test well and make backups!
  • SDK / Hackability – The Web SDK is pretty bad and effectively useless.  Aside from the strange requirement of needing to wrap your visualization in an html file (which means you can’t host it on your Tableau server with everything else), there just aren’t enough hooks exposed to do anything useful and the ones that are are slow and bulky.  It’s also not hackable at run time because all of the dashboard components are rendered on canvas or as images (even text!) so there’s nothing you can really touch and manipulate.  That said, we have discovered the equivalent of Tableau’s “jailbreak” which promises to usher in a new generation of never before seen hacks (teaser!)

 

And the Winner is …

I feel that right now, MicroStrategy and Tableau have near perfect synergy in an environment.  They started out at opposite ends of the spectrum and have been moving towards each other with each release.  Right now, their strengths and weaknesses align almost perfectly like a puzzle piece, so you just need to evaluate what is important to you and which tool aligns better.  If you can afford both, then you’ve got the best of both worlds .. maybe.  It’s hard enough to hire in this space, and practically impossible to find someone who is good at both.  I’ve found it’s easier to hire a skilled MicroStrategy person and teach them Tableau than vice versa, but only because the learning curve for MicroStrategy is so steep and Tableau is so flat (at least at first!).

All of that said, my observation over the 2 years that I’ve used both is that Tableau is fixing their issues faster than MicroStrategy is fixing theirs.  Visual Insights doesn’t excite me and it’s just the latest fragment in MicroStrategy’s once tightly unified platform.  Tableau on the other hand improves greatly with each release.  (For example, my biggest initial blocker was that they couldn’t do pixel perfect (free floating) dashboards, which they released in their last major version about a year ago).  Performance does get better each release, and the two deadly features they need to fix seem very solvable (as opposed to a philosophy change that MicroStrategy needs to undergo).

So where am I?  This may shock you, but I haven’t built anything in MicroStrategy in over a year. (So if I made any dated claims in the MicroStrategy section, please correct me in the comments, though I doubt anything has changed).  The transition began when I was using both tools for various projects and I’d have to apologize for MicroStrategy while Tableau was making me look good.  I began building in Tableau first until I was forced into MicroStrategy and as new versions came out and my skill improved, those reasons eventually all went away.  Despite the list of strengths I listed for MicroStrategy, I don’t really align with them anymore.  Development Speed, Interactivity and Performance are my most important things (Tableau blows MicroStrategy out of the water in those first two), and I feel more fulfilled spending my time coming up with Performance solutions than formatting in annoying menus.

Overall, pick the tool you’re comfortable with.  There are a lot of tools out there for different purposes, different teams and different goals.  I hope this article will help you identify the strengths and weaknesses of at least these two so you can see which features are more important to you.

You may also like...

82 Responses

  1. Brajesh says:

    This is the best article, related to comparison between two BI tools, I have come across. I have used MSTR and Tableau both and as you correctly pointed out tableau scores when it comes to speed of development and interactivity, it’s a fun creating dashboard in tableau. But when it comes to handling large volume of data MSTR wins. I remember one of my colleague got assignment to create report(not visualization at all) in Tableau with volume of data and he was really struggling.In short both tools are relevant at their place, if you quickly want to analyze you (aggregate) data without worrying too much about SQL and performance, go for Tableau. If you want to create BI solution at enterprise level with mix of reporting and visualization both, go for MSTR.

  2. Ben Sullins says:

    Great comparison, Bryan! I think the next version of Tableau will address some of the concerns you have above. Namely the new REST API. See you at TCC!

  3. Andy Kriebel says:

    Absolutely the best write up I’ve ever seen comparing MicroStrategy & Tableau! No one has the level of experience with these two tools that you do, so I’d be shocked if anyone can make better claims. Really well done!

  4. theMBApoet says:

    Thanks for posting this. It reflects my experience as well.

  5. Dexter Jones says:

    Good article, Bryan.

    My team has said for years that Microstrategy (MSTR) makes the hard things easy and the easy things hard. We’re into our third year using MSTR and the enterprise level of development is just too much to overcome for Tableau (for the moment). Our Big Data requirements have rendered Tableua’s development environment unusable; in-memory analytics just can’t quite handle the volume.

    With all of that being said, MSTR isn’t catching up fast enough on the visual side. I am encouraged that future releases are promised to include integration of other charting packages (Fusion Charts, Highcharts, Chart.js, Google Charts (hopefully)). This is the fastest way to market for MSTR to catch up on the visual side. Another future promise is to sunset Developer (formerly Desktop) and move everything to the web. Unfortunately, none of us have 2 years to wait for these updates. The best features which were not mentioned were the scheduling options, multisource, and parallel processing (<– u mayve touched on this in the Tableau review).

    Tableau is an awesome tool to develop in, as long as you're using Excel spreadsheets to provide viz's. If there's complex SQL or multiple data sources, just walk away from the machine and get a soda, take a restroom break, or something. I understand that 3/4 of the community doesn't need large dataset handling, but that group is using the free, cloud, and/or low user license versions anyway. I would love for one company to acquire the other and push out the other riff-raff in market.

    At MSTR World in 2013, the FB team (including yourself) had it right. The new BI solutions may take multiple technologies and the idea of a Web Portal which focuses the user to the correct solution for the question(s) being asked. We are heading in a direction where we leverage MSTR as a web service, of sorts, and use Google Charts for the actual delivery.

    At any rate, I'm glad you're back blogging and sharing ideas; I'm going to try to do my part in blogging more about BI and maybe even help the MSTR community out with more solutions.

    • bryan says:

      Great comments. I actually addressed one of them directly in the post via an Edit, and that’s Tableau performance. To reiterate, I think data comes in all shapes and sizes, and number of rows and even file size isn’t a great common comparison. Also, I think it’s actually how much work Tableau has to do in the form of Tableau Calculations that’s really the factor. In terms of data volume, I’m probably working with more data than anyone, but we’re still able to use Tableau as our primary dashboarding tool. The reason is because we aren’t loading petabytes of data into a dashboard, and instead everything is looking at aggregates and at specific cuts, not a cube of all cuts. I think when businesses get stuck between “let’s query source level” and “let’s aggregate”, they can get caught in a dead zone (I’ve been there before). But I also think pushing work to the database and using smart data structures will unblock a lot of what ails most Tableau projects.

      In terms of the future viz promises you’re referencing from MicroStrategy, I’ve heard those promises for about 5 years. First it was Flash widgets, then it was HTML5 widgets, now it’s 3rd party plugin integration? I don’t want tacked on solutions, I want it native and “just work”. I don’t want 5 options for line graphs, some work in desktop, some work in web, some work in mobile .. I just want a line graph and not have to worry about it.

  6. Len says:

    Thanks for the great comparison. As you point out, no tool fits all…. It is imperative that enterprises understand their needs before making the purchase. Spending money on a tool like MSTR and finding out it isn’t able to do what you need is going to be a VERY costly mistake. Moral of the story… do your tool research !! Of course, the easy solution is to purchase both 😉

  7. Dan Murray says:

    Excellent post. Unbiased and informative. No fare on the teaser, but a very good piece. The best comparison of a Tableau and Microstrategy that I’ve seen. It will be required reading at InterWorks.

  8. James Wright says:

    Well written, certified largely acronym free. Excellent post; looking forward to TCC.

  9. Mike White says:

    As a BI consultant always looking for the best tool for the job, I echo the sentiments above – really appreciate the informed analysis. Thanks for sharing your experience and perspective on an often biased topic as Dan noted. I too was very impressed with the intuitive UI and effective data visualization techniques baked into Tableau which until recently was non-existent in other BI tools on the market. Ditto on the near-fanatical Tableau user community and learning resources – the days of searching through 500-page PDF manuals to assist the development effort are no more.

    Regarding the color palette research, I believe it was Maureen Stone and Jock MacKinlay who contributed to the research that led to the default colors and available palettes in Tableau. They co-developed a webinar called “Exploiting the Power of the Human Visual System” – a fascinating presentation for anyone interested in the field of information visualization.

  10. Abel says:

    Hello Bryan, this is the best comparision about BI tools arround the internet. Thanks for sharing it with us. I have a new MicroStrategy’s Blog in Spanish, and i really wish share it with spanish people in my language. If you allow me, i will translate this article for them. Of course, with a link to your blog. Best regards.
    My blog is abelmicrostrategy.blogspot.com.ar

  11. Ben Davis says:

    Very good and concise comparison. I’ve worked with MicroStrategy for 14 years and have developed a love hate relationship with it. Properly implemented and maintained it is a very powerful tool. However, I have been very (very) disappointed with the companies limited approach to data visualization. Don’t even get me started on Visual Insight. I’ve had some experiences with other BI tools and the visualizations in Tableau are very clean and intuitive right out of the box. However, as you mention processing time in Tableau degrades exponentially with the simplest of calculation complexity. So I have seen Tableau turn into “Tablow” in a number of implementations but in many cases this can be turned around by simply performing a few additional calculations in the spreadsheet or underlying data beforehand. Thank you for your unbiased approach to this article.

  12. Jonathan says:

    Bryan, very interesting write up. I have been using MSTR for as long as you have but probably not as deeply. I was considering making a career change but your comments have given me pause. If you take your comments about unwillingness to change from a technical perspective and recent investor comment about an unwillingness to change form a business perspective(I Know they did recently agree to investor meetings but really just a band aid), I wonder if the Gartner shift down and to the left is actually dead on. Also make you wonder why Sanju left? Don’t get me wrong, I love working with MSTR (believe it or not, I like the desktop interface…inertia?)

    Since I have not worked worked with Tableau I cannot comment but recently our corporate parent indicated they were looking at it to supplement a push to get all divisions onto Cognos (hence my considering a career change) maybe I should stay and add tableau to my tool kit 🙂

    I apologize for my ramblings…One last thought. to give you an idea of how long I have been doing this, I was in the last week of my MSTR Boot camp when MSTR 7 was released. but I digress… as part of the boot camp Saylor got up in front of us and began an 2 hour, extemporaneous rambling about what was inside his brain. What I remember is Blah, Blah, Blah…Roman Empire! maybe MSTR should take heed, Ultimately, I believe The Roman Empire fell because of complacency and hubris! thanks for letting me vent!

    Jon

  13. Simon Caruana says:

    Such a good writeup! I have used both extensively on top of some of the biggest DW in the world (I work at Amazon) and this article NAILS it. Next up, how about MSTR vs Qlikview?

    Thanks again for this article, I passed it around the BI Teams here.

    • bryan says:

      Thanks! Unfortunately, I don’t have any experience with Qlikview, so I can’t write the similar review for them. My experience is basically MicroStrategy and Tableau in terms of vendor tools 🙂

  14. Alex Cano says:

    Bryan, genius post here as usual, summarizing brilliantly the epic race in BI between Back End and the Front End sides. To be honest I would prefer that some tool arrives to the right balance in the center rather than having to maintain two of them.

    Would be very interesting to see a similar comparison between Tableau and Qlikview. I recently had exposure to Qlik and I’m very excited lately about it, Qlikview comes from the front end side of things and dashboard development is a breeze but looks like they have gone quite towards the center already; it has quite good performance due to an excellent compression of the cubes and the ‘complex stuff’ you talk about looks pretty straightforward due its powerful scripting language (assuming one is familiar with SQL etc; you’ll be as performant in the extraction as the SQL you write). Of course coming from the cubes side you lose the true selfservice and automation of the code, the reusability and the ‘one version of the truth’ but you can create layers of QV datasets in a DWH / Cubes fashion to mitigate that. Have you tried Qlikview at all?

  15. panda says:

    That’s great post. I’ve worked with MSTR for couple of years – and i agree wholeheartedly. My idea of hell is made of MSTR dashboards – i can appreciate the engine under the hood – but the dev environment looks like 90s. It is products comparison mostly, but i must say that companys business decisions and ability to execute them makes me lean towards Tableu – even if I’ve very little chance to see it in action. Ability to influence product plan is a great thing.

  16. Kevin Curley says:

    Bryan, great post. While typing this I just noticed that someone else has asked if you’ve ever used Qlikview.. I see now that you have not. I’m excited to see what you have to say when you do! We are evaluating other self-service tools and are currently a big MSTR shop. Do you see Tableau as complimentary only in the near term, or do you see this platform as a potential long-term Enterprise BI strategic play?

    • bryan says:

      Hey Kevin! My opinion is that Tableau is currently a great supplement to something like MicroStrategy if you can afford to buy both, and will be a viable Enterprise solution in the medium term on its own for a variety of reasons. I think we’re in a shift of what role traditional BI plays in an organization and the next generation isn’t going to have the same rules as the previous. More thoughts on that in my next post in a couple of weeks 😉

  17. Mike says:

    Awesome post Bryan! I’m in a similiar boat, been using MicroStrategy for nearly as long and begun using Tableau late last year. I have also discovered a lot of what you write about as well. In my opinion, MicroStrategy requires a lot of “pre-work” before you can actually do any real analysis. While it’s server environment is light years a head of Tableau. Tableau on the otherhand you can gain “insights” as soon as you connect to the raw data. Tableau Server though, still needs work around managing user stats and cleaner organization.

    Agree on the Tableau Community. Books and Videos on Tableau continue to grow, while I do find myself still landing on your old MSTR posts when I looking up an odd MSTR issue.

    I’ll be going to my first Tableau User Conference this Fall (been to MSTR World several times too) and looking forward to comparing that aspect of the two companies next…

  18. jesse says:

    Bryan, thanks for this great post — extremely helpful. Question, would you see a use case where you would use Tableau as a front-end visualization tool in-front of the MSTR semantic model (via web service, ODBC, JDBC, etc.)? Is that even possible and would it be a good combined solution to some of each product’s limitations?

    Thanks again.

    • bryan says:

      I have heard of a team that did get Tableau to connect to MicroStrategy and they do use it that way. That’s definitely a Frankenstein approach, but they were pretty fiery hoops they had to jump through to get it to work.

  19. Roman says:

    Tableau could get a lot of new clients by offering standard connector for MicroStrategy. I think using MSTR Tasks that should work. Hopefully somebody from Tableau will read this 🙂

  20. Jason McElhaney says:

    Hey Bryan. I’ve been a Microstrategy Dev/Admin for about 8 years and I’ve recently started using Tableau. So far, I haven’t seen anything that Tableau can do that VI can’t. Can you elaborate on your specific issues with VI and tell me what version you were using (as you mentioned you haven’t built anything in MSTR for over a year)? I’m just trying to understand the justification for a MicroStrategy shop would use to take on another technology stack in order to do something that MicroStrategy’s latest version of VI does just as well.

    • bryan says:

      I tried to use VI to build something when 9.4 was in beta, and that was the last I’ve touched it. I think that was last summer, but I don’t recall. I’ve never used VI for anything more than a demo, so my experience is definitely low in that tool, so feel free to correct anything I incorrectly represent or they may have improved since then.

      At the time I last tried VI, I had just built and deployed a pretty nice Year over Year graph in Tableau, where I colored by year and the x-axis was a normalized time series (using 2012 since it was a leap year). I had 3 years of data, so 3 lines and you could see how seasonality was affecting this metric. The data set was at the day level, but I was graphing a 7d average (that is, each data point is the average of it + prior 6 days). There were then a set of filters where the user could slice on different things.

      When I tried to build this in VI, I ran into these problems (this was a long time ago .. but it’s what I recall and could figure out after a reasonable amount of time)

      1) I couldn’t figure out how to do the Year over Year. In Tableau, I was able to do a calculation along the lines of dateadd(‘year’, 2012-year([date], [date]). This formula converts any date to it’s 2012 equivalent. The result is a time series that only goes from Jan 1 to Dec 31. VI didn’t have the ability to do this type of calculation on the fly, so I would have had to either modify my table, build some extra attribute, create a view, etc. Too much trouble.

      2) The metric was a % where most of the values were in the single digit % range. I remember wanting to limit the maximum y-axis to 10% (or .1), but either I couldn’t find the option and it defaulted to 1 or the input for the option was an integer and wouldn’t accept a decimal. Something silly and frustrating like that. So my graph was basically a flat line at the bottom of the graph because I couldn’t adjust the upper scale. I think I also couldn’t format the graph as a percentage. I either couldn’t find out how to format it at all or % wasn’t an option, only decimal places.

      3) I thought the axis label font was a little small and the lines a little thin, but I think I couldn’t format them (though that may have been a memory from an older version of VI .. in general, I recall the formatting options being very sparse and not feeling very happy with the defaults).

      4) I think I couldn’t format or control the tooltip. In Tableau, I’ve enjoyed the rich tooltips that are pretty easy to format and add bonus contextual information. In VI, I think it was just add a metric, get it’s name: value with no formatting or layout options.

      5) I think they didn’t have the ability to add filters as standalone, floating objects (like selectors), my only option was to expose the entire left hand pane with every option (not ideal to expose a user to).

      6) In Tableau, I used a parameter (independent variable from the data set) to toggle between Continuous and YoY in case the user wanted to see it as one long trend. I think VI couldn’t do that. I also used a Calculated Field in Tableau so that if the user filtered on anything other than (All), the graph would split the line by the things they filtered on, otherwise it would show 1 aggregated line. Example, if they filtered on South, North and West, I’d show 3 lines, but if they just chose (All), then I just showed 1 line. I think I built that using their size() function and coloring on the Calculated Field. I think VI couldn’t do that either.

      7) bonus (not from this dashboard) .. I think VI couldn’t do cross filter targeting, like if I had a bar graph and wanted to click a bar to filter other tables or graphs (or specific ones), I think it couldn’t do that, but I don’t remember.

      Please debunk any of those I got wrong, and I’ll edit my comment with the corrections.

      That was a pretty basic example, and it was actually one of the first things I built using Tableau. It was popular with the product team that used it, and I remember sitting in meetings with them as they were analyzing their metrics and making changes on the fly as I saw how they were using it and the questions they were asking. That speed is where the benefit of Table Calculations can come into play vs having to always build metadata objects to get anything done.

      Today, I actually use Tableau for far more complicated things and build high end, richly interactive dashboards similar to what one would see in MicroStrategy. I think VI markets it’s tool for a quick slice & dice, explore with a few charts tool which in my opinion has been very primitive and unusable every time I’ve touched it. Tableau is famous for that niche, but can actually do a lot more things (and I use it for the larger projects, not really discovery like it’s intended).

      As I mentioned in this post, MicroStrategy still has some better flexibility and hackability to get the experience I want in a dashboard, but at the cost of high development time and low visual quality. Tableau is faster to build in with prettier output (at lower effort), but can’t quite hit the complexity of experience that MicroStrategy can. On a scale of 1-10, if MicroStrategy’s Dashboard complexity was a 10, I’d say Tableau is about a 7 (the gap is made up of the ability to have data in text boxes, dynamically loading images or iframes, and the html container opening the door to javascript hacking). But for my purposes, and weighing the pros and cons of all of the factors, that’s good enough and I can work with those trade offs. On the flip side, if you want fast slice and dice in an intuitive interface with pretty graphics that are smooth and interactive, on a scale of 1-10 where Tableau is a 10, my opinion is that VI was about a 2.

      Since we’re on the subject, a little bit of a rant: I’ve seen and tried VI since it’s IVE alpha days. I’ve never liked the idea behind it and thought MicroStrategy already had a great slice and dice interface. That interface was getting a little dated with only supporting grids and not having a smoother integration between tabular and visual data analysis, and some simple enhancements into the Report UI would have filled most of the analysis gap they had and improved the tool overall. Instead, they chose a path that they chastised Cognos and BO on for years: fragmented their platform. Separate UI, inconsistent platform support, inconsistent visual components, one directional conversions and effectively started from scratch, shamelessly plagiarizing Tableau along the way. It feels to me like they’re years behind Tableau’s roadmap in the data discovery front, and Tableau is moving faster than they are (so they only lose ground each year). And in the end, there are now two MicroStrategy’s you can build a dashboard in that have very thin connections between them, trade offs for when you’d use one over the other, and I just finally got tired of waiting for when Futures was going to become GA.

      • Filip says:

        I think that you are quite right about VI. On the last Mstr conference it was announced that it is going to be rewritten (or it probably already is as they were showing it during the conference). The new approach is based on java script. The script together with the json data set is send to the browser. If I understand it correctly this opens door to all graph types ever written in js. It might not help with data discovery as you will need to choose the graph type yourself but it would be a major change to current very limited graphing possibilities.

      • Filip says:

        On specific elements of your list. I do agree with 1,3,4,5,6. I am using version 9.3.1.
        2. either I do not understand but from my experience whatever the values the Y scale adjust to the maximum that is currently displayed by default if you like you can set a limit yourself.
        7. You can link visualizations. Is is not perfectly intuitive but feasible.
        I would add few more elements but as I understand they are fixed in 9.4 so I wait for my upgrade to come…

        • bryan says:

          The problem I had with the Y Axis was that I could only set it to integers, but I wanted to limit it to 0.1.

  21. Trevor Campbell says:

    Wow Bryan, I think your last comment/reply says it all. MicroStrategy is so frustrating to use and develop with, I have stopped giving them the benefit of the doubt, and would use another tool if I could. An old co-worker of mine works for MSTR, and two years ago he was put on a team whose purpose was to destroy Tableau. Maybe if they had put some resources towards making VI a viable option to Tableau instead of just talking it down, we might have a comparable tool. Reading what you were able to do with Tableau (and not VI), on the fly and very easily almost made me drool. I’ve been thinking along time about learning Tableau, and this article clinched in for me. I feel if I stick with MSTR, I will be left in the dust as better programs and technologies fly by me.

  22. Alvin David says:

    Hiii Bryan, thanks for this succinct post on the two BI technologies. Further, as I am newbie for tableau technology so can you suggest me any online tutorials avilable for tableau architecture..

  23. Mohan Srinivasan says:

    You conveniently left out Support. I am sorry to say this, but Tableau Support sucks. The only other company I can think of worse than Tableau is Exact Target. You should have added that too. Even though I agree with most of the things you have mentioned, MicroStrategy in the long run should pay you better than Tableau. One more thing – have you ever had to support a Tableau Server Environment and upgrade to the next release. GOOD LUCK there as you will need a lot of it.

    • bryan says:

      I actually didn’t have much experience with Tableau Support (just never needed it, I guess) at the time I wrote this, nor had much experience with the Tableau Server. At my current company, another group supports the Server. That said, we recently ran into some painful Server problems and I had to get involved with them. It was painfully obvious that they have huge gaps there, but I think I stated that in the main article that it is the area they are moving into. I firmly believe that Tableau will flush out a mature and functional Server product well before MicroStrategy flushes out a mature and functional discovery product. Just my opinion.

      Support is important, but in my opinion neither company’s support is a decision difference maker. Neither are spectacular and neither are horrific. Both have been very responsive to me and my usual frustration with both is that I know more than their tech does. I have to spend so much energy convincing them there’s a problem, that I often just don’t bother unless I feel strongly about reporting a bug and want to put the effort in. It’s probably to be expected, since when people know the product well enough that they could provide amazing support, they’ve probably moved on to Professional Services. Help Desk support is really for new users who fall into common pitfalls and not really geared for power users.

  24. glenn wirick says:

    Amazingly good comparison and information. I used to implement Microstrategy and have yet to use Tableau. I now feel smarter about both platforms. Thanks for paying it forward!

  25. Jerry says:

    Ah, the right article at the wrong time! 🙂 I mean: I (and someone else in my company) should have read it months ago…
    We are struggling in using Tableau with 60M rows (and in the long-term we will have 300M), with no Table Calculations, just SUM and COUNTD on a single column, plotted against time…it takes 5 minutes in the worst case…
    Tried every sort of optimization, read books and blogs, used extracts…no way…now the Tableau support is helping us, fingers crossed…
    Can you say something, due to your experience, about COUNTD?
    Thanks

    • bryan says:

      I don’t think I’ve ever used countd in Tableau because I always deal with pre-aggregated data (which is also in the 60m range), but I’d guess that the database would be better at performing that type of calculation. I’d do a live query, because you get another important advantage: lookup tables. It’s a feature I assumed was missing for a long time, but one of the biggest culprits of poor performance is loading Quick Filters because it runs a distinct list out of your fact table (assuming you’re pointing to 1 table). If you’re doing a live query, you can setup a join (http://kb.tableausoftware.com/articles/knowledgebase/Creating-Joins) to a lookup table (important: not blending) and then you can use an option called Assume Referential Integrity (http://onlinehelp.tableausoftware.com/current/pro/online/mac/en-us/joins_assume_refinteg.html) and quick filters will be loaded from the lookup. If all of that doesn’t solve it, you can go under the Help menu and choose Start Performance Recording, load your workbook, then Stop Performance Recording and view the results. It’ll tell you which step is taking a long time, and querying the database will give you more direct feedback on what it’s doing (a missing filter?) and you can fix it with things like indexes, partitions, whatever your DB supports.

      One other tip that was a huge boon for my performance: Don’t put table calculations (indicated by a triangle icon) in the Filter if you can help it. This filter is applied in the client after the query has completed. Instead if you can build your filter using a Set or using Condition or Top options in the Filter, then it’ll be resolved in the query itself and bring back less data.

      Hope this helps.

  26. Andres says:

    Fantastic comparison of 2 powerful BI tools. A *must* read. ’nuff said.

  27. Jimactually says:

    Brilliant review! Now do Actuate, Cognos, Qlik, Jaspersoft…..

  28. Femi says:

    Thanks for an unbiased view!!

  29. Sabeer says:

    Very good review of both products.

  30. Ben says:

    Bryan, Nice review. Regarding the performance aspects on Tableau, have you looked at the background processes and server itself ? Perhaps creating a cluster might also improve aspects like fetching the data, caching, rendering the marks etc.

    • bryan says:

      We do have them in a cluster now, but the issue we’ve found is that our servers are not stressed from a resources perspective. It seems that the limiting factor is # of cores, regardless of whether they’re in a single machine or separate machines. Every environment is going to be different though, but in ours we use separate servers per department.

  31. Mehul Shah says:

    Thanks for a detailed comparison on the two solid BI Vendors. I do have a question on Tableau’s performance . Like Micro strategy , Tableau should scale well if Database is were the heavy lifting is happening? So Tableau will push the SQL (VizSQL) to database like teradata or netezza for building dashboards on large volumes. Any experience with that?

    • bryan says:

      The biggest problem is that Tableau executes queries on the dashboard in serial instead of parallel. That means if you have 3 graphs, 2 grids and 4 filters, that’s 9 queries it has to run one after the other. If each query takes 1 second, that’s 9 seconds to load the dashboard. The good news is that they just announced at their annual conference that they’ll be bringing parallel executing queries in their next version.

  32. Holly says:

    Bryan – Thanks for taking the time to write this comparison. Very helpful and informative!

  33. Piotr Labuda says:

    As an MSTR ex-employee I have to agree with all the points both good and bad. The development duality of the web and desktop client was frustrating, as sometimes you could do one thing only on desktop and another only in web, which made you jump between environment all the time.
    At the same time I just LOVED the fact that after you spend enough time with the tool, you can start ‘hacking’ it and use all the ‘features’ ( if you know what I mean 😉 ) to you advantage. During my time as developer we even made MicroStrategy a big part of an ETL process! Ahh the wonders of command manager!
    Bryan, I would like to thank you for a wonderful blog, it was always a place I could find interesting facts,hacks and tips! And as for MSTR, even after near a year without it, still can’t forget about it 😉

  34. Tony Patton says:

    Great article, Bryan. We are a Microstrategy OEM, but we are re-evaluating if they are the right product. This was a great help.

  35. Tom Swennes says:

    Great insights, thanks. I’m not familiar with MicroStrategy, but we have been using Tableau for about 3 years now, and your experiences pretty much echo what we have seen. After the initial euphoria has worn off and Tableau’s flaws become apparent, the user community has been an invaluable resource in helping work through even the most esoteric issues. I would also agree that when Tableau releases new versions, they do a great job not only fixing the shortcoming of previous versions, but offering significant new functionality, as well.

  36. Ayush Khanna says:

    Very valuable post. I agree with the points about the immense developer effort required even for a simple mock-up in MSTR. Also, it’s community is weak and it’s product iterations are slow and mostly full of bugs. I am trying to switch over to Tableau, and this post provides a much needed push.
    Thanks.
    Can you also add widgets to share these posts on social networks.

  37. Gordon Wong says:

    Great post Bryan. Do you have an insight on the upcoming MicroStrategy 10 release? The buzz is that this is a near re-write from a UI perspective.

  38. Jeffrey says:

    For anyone who wants to learn Tableau, MicroStrategy VI, and Qlikview, check out my course http://bit.ly/1uWYdOR where I build dashboards in all three environments and examine the difference.

  39. Izzy says:

    Bryan, hell of a reveiw. thank you, immensely. I’m tasked with doing a Tableau demo for a mostly Microstrategy team that’s looking to eat us up. Your review helps to calibrate our position so that i can focus on the right strengths and weaknesses for a proper demo.

  40. Andrea Garrafa says:

    I really enjoyed reading your unbiased comparison of these 2 tools. I have 10+ years of MSTR background and just started learning Tableau. I felt that readng your text was reading my mind on all the thoughts that cross it every day I am exposed to these two tools. I just came back from the Tableau partner summit and it is incredible how refreshing that community is!

  41. Steve says:

    Thanks for the great review! it might as well be pointed out that while Microstrategy seems to excel in analyzing and standardize reporting in an all-encompassing structure handling larger data, Tableau excels in providing best visual representations of the analysed data. In Microstrategy, it is easier to implement security, allowing admin to incorporate data abstractions when it is showed to different users. While in Tableau, working with data from numerous sources is a less of a bother. Thus, although the services of the two companies intersect, they have separate strengths which can be tapped according to need.

  42. Manoj says:

    Tableau 9.0 seems to have introduced following features.

    Consolidated Queries

    Big improvements in the Tableau Data Engine lead to significantly faster query results of extracts. Data Engine Vectorization and Parallel Aggregation fully leverage today’s multi-core and multi-threaded CPUs.

    Parallel Queries

    All independent views have their queries sent to the database simultaneously. These Parallel Queries return data to Tableau faster, meaning your dashboards load faster.

    • bryan says:

      Yeah those features are certainly big improvements over what they had and big steps forward. This is the type of thing I meant when I said that I felt that Tableau would overcome their issues sooner than MicroStrategy could overcome theirs.

      • Manoj says:

        Yes. Also looks like in recent days, Microstrategy is pushing for cheap BI solution on AWS cloud. We are thinking of using one, but not yet sure if there will be any missing features. I will update with any details once I try the same.

  43. Andy says:

    Bryan – Thanks for the excellent article. It’s almost a full year old to the day! Any chance that we can get an update? Have you had to resort to using MicroStrategy for anything over the last year? Do you feel that level-of-detail calculations do much to bridge the gap between the products in terms of data structure & preparation? Can you expand on some of the philosophical differences between the companies that you hinted at?

    You mentioned that the default visuals in MicroStrategy are bad. For those not familiar, MicroStrategy actually advocates use of gradients, 3D effects, and drop-shadows. If you’re part of the Few or Tufte camps, Tableau’s default design choices will probably resonate with you a bit more. If you don’t know who those guys are, it might not be important.

    Another point worth expanding on is the role that dimensionality plays in the products. MicroStrategy advocates use of panel-stacks & selectors to achieve multifaceted views. They knock Tableau’s single-layer approach (which isn’t actually a single-layer — see Bryan’s Hack Jeopardy video for more).

    In reality, the reason that panel stacks are useful is because they help you cope with the static nature of MicroStrategy’s visualizations. They evolved from a static, report-oriented environment and haven’t completely escaped those roots. For example, try breaking a Running Sum over Time by Region in Visual Insight. The result makes no sense, unless you explicitly specify the BreakBy dimension within the metric itself. Why do I need to hard-code dimensionality into my metrics? This coupling is at the core of the product’s inefficiency as a tool for data analysis.

    More often than not, I want my calculations to be based on the dimensions that I’m using in my chart, which is the way that Tableau works. Straying from this paradigm in any meaningful way has only become possible in Version 9 with the introduction of level-of-detail calculations. This type of feature can significantly increase the complexity of calculations in Tableau. Without the transparency that MicroStrategy provides (you can see any and all dynamic SQL generated) it might be difficult to leverage this type of feature effectively.

    • bryan says:

      Thanks for replying, Andy, this is a fantastic write up. I agree with all of the points you’ve added here.

      I don’t think I touched MicroStrategy ever again after posting this, and nothing I’ve seen made me think I missed out on anything. I did use Tableau pretty heavily and found that it could do most of the things I wanted, but there were 2 pretty major issues I could never get over:

      1) Performance just wasn’t cutting it. I commonly found myself in situations where in order to add more data to a dashboard, I had to take something out to make room. This lead to Tableau deciding what analysis we could do with a dashboard and not our product teams, which was bad. Our average dashboard took ~30 seconds to render which is not just initial load but also every subsequent filter action (see the Hack Jeopardy presentation on how we instrumented that logging), but it was not uncommon for dashboards to take several minutes to load. They simply weren’t usable.

      2) Development cost was approaching “MicroStrategy” levels. What originally turned me off of MicroStrategy and on to Tableau was that I had to twist MicroStrategy’s arm to get it to do something that was considered “expected” vs Tableau doing it in a breeze. Things at the time were visual quality, tooltips, chart interactivity, etc. But as needs evolved, I found I spent all of my time twisting Tableau’s arm to get it to do normal things. Stuff like table formatting, windowed calculations, filtering. It’s not satisfying to spend a lot of time weaving magic in tools like these only to deliver something that works the way people expect it to. It’s much more rewarding when you can spend that effort on making the unexpected and delighting users in new ways.

      Because of those two, and maybe somewhat spoiled by my use of past tense, I stopped using Tableau as well shortly after TC14. In retrospect, my time with Tableau mirrors my time with MicroStrategy where I was excited about what it did on the surface, challenged by what it couldn’t do, found ways to break it into submission and shared the culmination of those hacks at the customer conference. Ultimately, such a presentation is not a good sign. The lengths we were willing to go through to make it work for us were tremendous, but if all of those things were just features in some generic BI tool, they wouldn’t be exciting. They were always very basic things. When working with vendors who have lots of customers and their own roadmaps, that’s never going to change. Requests are always months-years away, even for the biggest company customers.

      So in October of last year, right after the conference, I did a hackathon on an internal dashboard tool we had that at the time was not deemed viable for our style of dashboarding. I had some ideas that could make it viable and in one night I was able to modify it enough to port one of our popular Tableau dashboards to it almost identically. The major advantage was that it could hit internal proprietary databases, ran queries (and rendered!) asynchronously, and the same dashboards went from 30s to 2s loads. Since we owned the code, it was easy to customize the development experience such that we can also build them about 10x faster. Since that night we’ve been working closely with that team and investing there and today my team is almost completely off of Tableau as a dashboarding tool.

      Considering this post was one of my most popular and it’s 1yr anniversary is next week, maybe I should come back and write this update up in more detail.

      • Mike says:

        Great update! Yeah, you certaintly should move the update to its own post because I still refer people to your original article. The takeaway I get is its better to roll your own if you can afford it, otherwise you still can’t do everything in one COTS BI tool.

  44. santhosh says:

    Awesome review between two products.Beautifully explained each n every point.

  45. epark says:

    Great objective review! I’ve been working with MicroStrategy for a few years now and heard great things about Tableau but didn’t have the time to do a deep dive into it’s capabilities/shortcomings. It sounds like you eventually gave up on both tools and rolled your own? Is it just for dashboarding or did you also integrate a reporting capability? Did you use any open source libraries as a jump off point or did you and your team code it all from scratch? We are actually investigating other BI tools as well as open source libraries to determine if we should move on, build our own, or stick with what we got. Thanks!

    • bryan says:

      Thanks! I actually wrote up a whole new post to talk about it and just haven’t published it yet. I will shortly and hopefully that’ll help some. In a nutshell, we used highcharts for the graphing component, but otherwise all of the infrastructure we jumped off of is internal at my company. We have internally built query, reporting and dashboarding tools.

  46. rajveer says:

    Hi,

    Please suggest me to take course on MicroStrategy or Tableau.

    As i have experience of 6 years in VBA,Excel,SQL and ACCESS

    Which tool is better for career in INDIA.

    With Regards
    Rajveer Singh

  47. Mike Kostuch says:

    I would like to see an updated review of VI as V10 has a lot of changes in it and cube partitioning, etc. The what’s new powerpoint was over 40 slides. So from a VI to Tableau comparison, I would love for you to do a review again as Tableau has changed as well.

    • bryan says:

      Yeah, I’d be interested in seeing that as well 🙂 Unfortunately, I can’t write it. I haven’t used MicroStrategy in about 2.5yrs and I haven’t used Tableau in about 9 months. Both tools have released new versions since then (of which I only ever worked with some alpha/betas). I will add a disclaimer at the top that this information is now dated, but I’ll leave the post itself up for posterity.

  48. hariom says:

    I Have a ladder chart and i have to calculation on this. i can sen u chart and excel sheet if u can provide me ur email address.
    suppose i have to do some of july-15 to aug 14 that is ok, but whent next i calculate some of june 15 to july 14 the previous value also is add with next some.
    when you shee the excel sheet you can understand my question. i meen to say that i have to some from today month to previous 12 month, i have attached both tablue file and excel sheet.

  49. Ranjithkumar says:

    I am a technical support engineer in SQL.I eager to move another level.which one is best to study and get a job in current sceanrio.

    tableau or MSTR

  50. Matheus says:

    QlikView sucks! The dashboards we can create are awesome, but the development tool is really unstable and buggy!

  1. May 19, 2014

    […] is a link to the MicroStrategy vs. Tableau […]

  2. May 27, 2014

    […] Find the link to Bryan's blog article here. […]

  3. August 19, 2014

    […]   […]

  4. September 24, 2014

    […] Bryan Brandow authored a great comparison of Tableau and MicroStrategy, two of the most popular Business Intelligence products on the market. Bryan’s expertise as developer and power user of both products, gives the rest of us a very special tour into the pros and cons of each solution. […]

  5. October 6, 2014

    […] aberto e ao contrário de algumas empresas que ostentam títulos de líderes de mercado (cof, cof, cof) tem uma comunidade ativa em volta da […]

  6. October 11, 2014

    […] By popular demand, here are my thoughts on comparing the current state of MicroStrategy and Tableau, two of the leaders in the BI market space today. What follows are purely my own opinions from my experiences. This isn’t scientific, it’s my opinion. I invite you to share your own opinions and experiences in the comments.  […]

  7. December 10, 2014

    […] File Name : Microstrategy vs tableau – bryan’s bi blog Source : http://www.bryanbrandow.com Download : Microstrategy vs tableau – bryan’s bi blog […]

  8. August 11, 2015
  9. October 18, 2015

    […] MicroStrategy vs Tableau – Bryan’s BI Blog – Great insights, thanks. I’m not familiar with MicroStrategy, but we have been using Tableau for about 3 years now, and your experiences pretty much echo what we … […]

  10. February 4, 2016

Leave a Reply

Your email address will not be published. Required fields are marked *