4
20 Comments

Simple data visualization - Can any of you see a real core problem here? Is this worth pursuing?

I'll describe the problem as it exists currently in my mind, but this isn't a pitch, it needs to be focused... but this is the experience I'm having which has led me to think of this as a small business to try out.

So... when I'm looking at time series data in a spreadsheet, like in excel or google sheets, I find it's really hard to create meaningful graphs from that data.

For example, say you have a list of transactions from your bank account. It's really easy to put that data in excel and visualize it, but it's not easy to visualize in different ways. Like I can't EASILY see (show all my spending per day, or per month, or per year) for example.

The other side of it is, as a developer, I feel like I'm constantly reinventing the wheel in terms of building a graph and the code to get a sql table into a graph, and add all the usual UI on it, like the date range, or the date resolution (day, month, year, minute).

Basically, I feel like with data that happens across time, there is usually a certain way that you want to see that data, and some usual filters that you want in place to see it from different angles.... it's like I'm reinventing those postgres queries and UI stuff over and over again.

I also know there's a bunch of enterprisie solutions for this, but the few I have tried feel too complicated.

What I'd like is a simple SaaS where I can, select a time series source (csv, excel file, postres table, mysql table etc etc) and then this app will ask a few questions, like, what date column are you interested in, what value column, etc etc, and from that spits out a UI for looking at that data that you can look at straight away, or even embed elsewhere...

A further feature is to provide this functionality via an API, so, give it a source, some parameters, and you can pull a ready made graph with all the clever filtering/aggregation all done for you.

The biggest blockers so far are:

  • this problem is not clearly defined enough

  • what core problem is this really solving?

  • who's the customer, end users or developers?

so that's my current thinking....

any thoughts?

on January 7, 2020
  1. 3

    I feel like there is enough variability in data sources that a developer almost always has to come in and create the solution to present it. For example date fields sometimes come in as UNIX encoded rather than an ISO Date format. How can you deal with all of this variability in an automated fashion? I do agree that it sucks to have to always be redeveloping these features. It's an interesting problem.

    1. 1

      Maybe . Have you not felt like you're constantly writing queries to get data into a format that is chart friendly? You're right about the variability of data but I'm focusing ONLY on time series data and a lot of libraries are pretty good at parsing varied types of data. But you're right, it could be a blocker. 🤔 Appreciate the feedback though!

      1. 1

        I do not think it's a blocker, it just needs due diligence to handle all kinds of scenarios (formats), and I think that's one of the value in the offer.

  2. 2

    This is an interesting topic that I myself have been mulling over for a while. I too reinvent these same solutions over and over while any solutions I've ever searched for are always to cumbersome to use.

    At the same time, there are hundreds of data visualization solutions so I think the lack of a fit must either be due to a lack of rigor whenever I look for a solution or the variability between use-cases is just too high to have an adequate general solution.

    The concept itself of data visualization, I'd say, is a bit too broad. Consider the following cases:

    1. A user requires a dashboard that receives log messages with some additional metadata. The messages can fall into a fixed set of predetermined types and filtering by these types is required. The metadata can contain text, timestamps or urls to media files in a flat list, all types should be viewable within the system. The system is primarily for viewing logs on an ongoing basis and responding to real-time events so long term storage of the messages is not needed.

    2. A user has a list of purchases made by customers. The purchases are represented as a list of objects and will be provided as JSON. Each object has only text and number fields. The user wishes to be able to apply aggregate functions on the data using the text fields as pivots and the number fields as the values. The app should generate a cross-table with text fields as headings and grouped number values as the table content. A slicer control should also be available to filter the data using the text field values.

    3. A user requires a dashboard for responding to transient opportunities. A separate automated system will monitor the prices and availability of certain products on specific websites (e.g. shoe websites). When desired conditions are met, that system will use a web hook to post a notification to the dashboard. The dashboard will show the relevant information (e.g. price, sizes) in the notification (paired a mobile notification if this were to be a mobile app) and a button that allows the user to quickly navigate to the product page when clicked.

    These three cases represent the typical level of variability between data visualization tasks. The variability can be:

    • The exact source of the data
    • The way it will be represented
    • How it should be displayed
    • The filtering options that should be available
    • If it is stored or not
    • How long it should be available
    • What analysis tools should be available
    • The type of data (text, number, media) that it should support
    • Real-time notification and interactivity requirements

    And so much more. All of this combines to render most generic solutions unusable for most people, not because they couldn't handle the task, but because of:

    • The size of the program and how frequently it is updated (unwelcome downloads and installs for small tasks).
    • The complexity of the interface, the filtering and visualization options (needlessly long learning curve for all except researchers and analysts; frequent Googling to work out how to perform specific actions; hours spent reading documentation; generally busy screen when only handfuls of features are required by most users).
    • Difficulty integrating into specific workflow (a major decision maker for everyone whose trying to get work done).
    • Having to pay the full cost for something large just to have a few small features.

    I think if one wishes to break into the market, the wise thing to do is choose a specific workflow that you have in mind and make a tool for integrating a small number of visualizations (say, just a plot like https://www.ga-insights.com/Alerts) as well as the usual input and output streams for that type of task only.
    ------------------------------------------------------------------------------------------------------------------------------
    I am quite interested in this realm and would be happy to have more discussions about this if you have more topics on your mind.

    I would also encourage you to look into very basic machine learning that is used to perform linear regression (which is almost certainly what is being used in ga-insights) because this provides an opportunity to add a lot of extra value to anything you build, which can put any product way ahead of the competition.

    Please excuse any writing errors as I really didn't feel like proofreading something this large so late in the night.

    Hope this helps a bit.

    1. 1

      @VuyiswaNkosi wow, what a great post man. Thanks so much. Yeah it's a super interesting topic huh, I can't get it out of my head.

      Ok, let's address a few things.

      I think, for all those crazy scenarios tools like Tableu (maybe?) address a lot of that complexity?

      I think part of the problem with this idea I have is that it's pretty hard to describe the value prop, and that in-itself might make it not a viable business. BUT, I'll try and explain to you anyway, see what you think.

      First of all lets reduce the scope of the data. The only data I'm interested in is time series data, meaning there will always be a time element, and that will always be the x-axis of you graph. It's all about stuff that happens over time.

      Let's start with the process of getting data from a system and into a graph. Let's think about the steps.

      1. It all starts with raw data. Let's assume, for the sake of argument, that this raw data is complex. It involves json metadata columns, it involves other tables. Needless to say it;s complex.

      2. The next step is, you need to get this table into a single table friendly view. You might do this by writing a complex SQL query that results in a simplified flatter table of simple rows and columns of uniform data. This is like the interim simplified view on that data you want to visualize. The result here is very much like an event long... a timestamp, with some values.

      3. The next step is, you now need to format that data to be friendly for a graph. If you think about it, usually you're only interested in one column for the y-axis (and the date is always the x-axis). For the sake of argument, just agree with me for now :-)

      4. Ok you have formatted you data now for a chart.. meaning you have simply reduced it to the timestamp column and a single value column.

      5. That's it... now it's in your chart, hurrah, right? Wrong. This is pretty much as far as excel goes, or something like Heroku data clips. You do the work of getting the interim data done, and then you give excel the columns you want to visualize and that's it.

      But what's wrong with the above picture? IF we know that this data is all about stuff that has happened OVER time, then we know already that there are some pretty standard ways we want to look at that data.

      For example... whereas your interim dataset might just be an event log of events in time, you may want to view a "count" of events "happened" within a minute, a day, a year, or some other date related resolution.

      I feel like, even though the above scenario is sooooo niche, I find myself writing graphs for this type of data ALL THE TIME.

      So, what I propose is a product that ONLY does the stuff AFTER step 5. So, you provide the flat view... whether that's an excel file, or a SQL query that results in a simplified view, and then the product, knowing this is time series data, provides ready made (editable) graphs with some of that time related stuff already done for you.

      So, it's very niche... and really, it's just slightly more useful that say excel, but that's really what I'm going for.

      Think about how much data is actually about events. You bank statement. Site visits. Buttons clicks. Imagine if you could just feed this simple app that raw flat data and it could just spit out a nice tool for quickly exploring that data being time aware.. without you having to learn any special formulas, or having to think about that yourself...

      know what I mean?

      Did I explain that ok, or not really?

      1. 1

        Yeah, the explanation is very clear. I think if you constrain it that way there is definitely room for a solution that would have the right balance of usefulness to complexity for some number of people to find it useful.

        If it is an application for just analyzing time series data, the following features are things that I think would make it worthwhile:

        • The typical searchable and filterable table view.
        • A timeline view that one can pan across + search and filter view.
        • Highlighting ranges in the timeline or simply entering the date range in fields to filter data.
        • Being able to view a line graph of one number field shared by the records.
        • Being able to view a bar graph of one specific number field shared by the records.

        This would be with the assumption that the records in each series have the same fields which is reasonable enough. It definitely won't beat out the enterprise solutions for big business or researchers but for most people that just have a spreadsheet of data and want to analyze it for trends over time this would be very useful.

        This would also create a firm foundation for so many value adds like:

        • regression algorithms that perform time series projects
        • web hooks for streaming data into the platform (similar to Google Analytics)
        • creating collections of data that are stored on a users account and can be analyzed using the platform.
        • saving the generated visuals as images
        • triggering events on certain conditions that manifest as notifications or emails

        A use that I have often considered this type of platform for is a "data diary" of sorts. Basically, I've wanted an application where I can enter records about events like going somewhere, spending money, performing exercise, etc. then the application would allow me to filter for specific records on the timeline and view basic graphs and charts so I can visualize:

        • how often I do certain things
        • the aggregate quantities of the events, like the total money spent over a certain period

        Furthermore, this visualization would then allow me to find correlations between certain activities and say my health condition. An example being if I suddenly have gastrointestinal distress, I can bring up the exercise and diet data on my diary timeline, show them as line graphs then see if I can work out what might have caused it.

        ---------------

        I think we should start a discord or we can email each other moving forward. If you decide to build an MVP or something more I would be happy to test it out or possibly partner up to build these sorts of products.

        Also, a discord could be a good place to build a group of users that are just as enthusiastic about these sorts of applications and would be useful as testers and for gathering more information about what users want and their workflow.

  3. 2

    There are solutions like Domo and Tableu that takes in a dataset (similar to csv or excel), and can create "cards" which are basically graphs and visual dashboards.

    The issue I see here is that, these platforms are for enterprise and the licensing fee is quite expensive, so for a solo developer, startup, small business, this wouldn't be a good solution.

    But, just by googling "data visualization tools," you can tell there's a crap ton of products out there.

    1. 1

      You're right there are. But the few u have tried out, they just seem overkill. I think I was inspired by the latest podcast by the laravel creator when he said you need to really have a low pain threshold, and that's what I see here. Like current package feel too painful still, but you're right I need to explore more.

      The biggest issue I see with current solutions is you still need to massage the data to get different views on it.... And by focusing on a niche of the data type I can do that massaging for you... 🤔

      Thanks for the feedback!

  4. 2

    There must already be hundreds of data visualization tools.

    Are you sure you have explored the market fully, and there really isn't anything comparable?

    What I often see is that prospective founders have a huge bias (often unconscious) of not exploring competitors thoroughly, because they don't want the competitors to exists. And in your case, the larger packages like Tableau vastly out-budget-and-out-market the simpler packages, so you may not have found them even if you tried to google a bit.

    1. 1

      You're absolutely right, the bias is strong! I have looked but maybe not enough. But the few I have tried out, they just seem overkill. I think I was inspired by the latest podcast by the laravel creator when he said you need to really have a low pain threshold, and that's what I see here. Like current package feel too painful still, but you're right I need to explore more.

      The biggest issue I see with current solutions is you still need to massage the data to get different views on it.... And by focusing on a niche of the data type I can do that massaging for you... 🤔

      If I'm wrong if love to hear otherwise... 🤔

      But to your point, you have nudged me to just explore competitors more a few more weeks at least.... Maybe create a feature matrix to really see if there's a gap....

      1. 2

        You are not necessarily wrong.

        I don't know any really easy, simple and user-friendly viz tool. Just advising you to do your homework really, really carefully. It's a very crowded market. And humans are such imperfect animals. We always want to think our ideas are great and unique, regardless of evidence.

        1. 1

          @HenriNext hey man, thanks appreciate your time to write back. Yeah the more I think about it, the more I need to do more detailed research on the current offerings, I'm going to focus on that over the next few weeks.

          IF my hypothesis is right, that an offering like mine doesn't quite exist, I think the hardest part will actually be to communicate the differentiator... because "data viz" is so broad...

          How do you communicate a killer differentiator if it's too technical/in the weeds... that's the next challenge IF my initial hypothesis is right.

          1. 2

            Messaging about being like Tableau except simpler/cheaper is the easy part.

            The problematic part is that being like X except simpler/cheaper is not a well defensible positioning.

            Any of the 200+ existing viz tools can do a feature and price reduced "lite" version easily. If a major vendor like Tableau does that and puts $10 million in marketing before you have gained a significant market share, then you are rather fucked.

            1. 1

              @HenriNext Crap crappola crap. So not worth pursuing I guess....

              I've been in a "me versus a large competitor" situation before and it sucked, although that was a direct competitor feature for feature.

              I was hoping this would be too small too notice.... tableu seems genuinely amazing but I was hoping to appeal more to an audience that just wants to be guided through the process with a few clicks and answering some basic questions. Like a few steps up from excel, several floors down from tableu.

              Not an angle worth pursuing/too problematic?

              1. 2

                although that was a direct competitor feature for feature

                And this time you would be doing "10% of features for 10% of the price", which is an even worse competitive situation.

                I had a Tableau license before, and it actually is really user-friendly. It's not a simple tool by any means, but the data ingestion part works exactly the way you described your solution would do, literally 30 seconds to ingest many enterprise data sources. So even the "easier than Tableau" angle may not work that well.

                If you are really passionate about data viz and you can find a unique angle and niche, it is not an impossible idea to execute. If you aren't or if you can't, then I'd consider very seriously.

                1. 1

                  hey @HenriNext, really appreciate your input here by the way. These are great points. Funnily enough where I want to simplify is not in the ingestion (although I do want that to be as simple) but it's actually in the graph creation part of it.

                  However, we may be just getting in the weeds and you're probably ultimately right...

                  Can you think of a way I can quickly figure this out using data without throwing 6 months of my live away? :-)

                  1. 1

                    Hmm, I cannot reply to your latest message, it seems maximum thread depth is exceeded...

                    My advice is to ask advice from everybody in IH, instead of relying just on my opinion (start a new thread about how to do validation exactly).

                    The main ingredients are as you say; landing page with CTA + Google/FB/etc ads to drive traffic. However, how to do that exactly and 'correctly' is tricky.

                    1. 1

                      @HenriNext hey dude, just wanted to say thanks for all your input. I did actually post a new thread, it's been interesting. Thanks again. How's bugjail going? feeling good about it?

                  2. 1

                    In this case, you know that there is demand for data viz, so no need to validate that part. Your main validations should probably be whether you can reach the target segment cost-efficiently and that your exact value prop (including exact pricing) is attractive to the target segment.

                    When done properly, a dummy landing page and a $200 ad campaign can give you reasonable validation for both main concerns.

                    1. 1

                      Hi @HenriNext I realise you've been pretty active on this thread and just wanted to say thanks.. so, if you're too busy to answer the next question, don't sweat it.

                      I guess my next question would be, in terms of your advice, can you break down the process a a bit more?

                      Do you mean, build a landing page, put my value prop in there with pricing, and then see what the conversion rate is of people clicking some kind of CTA?

                      In terms of the ads... I've never done ads. Do you mean, drop 200 on like a google ad campaign around some specific search terms regarding data visualization? Is that the gist of it?

                      once more, thanks so much!

      2. 1

        This comment was deleted 7 years ago