8 ms·
It's a good question why our users prefer Mito+Python over something like PowerQuery+M! One might similarly ask what's wrong with Excel+VBA - although I'll note
by narush 4y ago
It's a good question why our users prefer Mito+Python over something like PowerQuery+M! One might similarly ask what's wrong with Excel+VBA - although I'll note I haven't heard anyone champion VBA recently... :)
In practice, most of our users are have started with Python by the time they use Mito. For now, we're not positioning ourselves as an alternative to PowerQuery, but rather a tool for someone who is coming from spreadsheets, has chosen Python, and is struggling to write code.
The next obvious question is why our users are choosing Python in the first place -- what I'll say here is that like any programming language, there are a huge number of reasons: some of our users prefer Python because that's what their colleagues work; some choose Python because they think it's trendy/cool; others choose python because that's where the libraries they want to use are; others are starting down the path of getting into ML (which is primarily in Python); others want to integrate with existing Python infrastructure within their company. We've also seen massive enterprises with top down edicts to move to Python "within the next 5 years", as well.
In practice, Python is the most popular general purpose programming language for data science - and so we're doing our best to meet our users where they are: writing Python code, in Jupyter Notebooks!
- Closi 4y agoTBH I think your target market is quite confusing. It seems to be a non-technical user who is struggling to write Python and wants an easy way out, but is willing to install a tool via a CLI within a python virtual environment, knows what a Jupyter Notebook is and possibly wants to start writing machine learning code? If the target market is actually the 'struggling non-technical user' I suspect you will need to remove as much friction as possible, although i'm not entirely sure if that is your target market. IMO would be good to focus on how your product actually helps do analysis better than Excel + PowerQuery/M, because presumably there has to be some sort of functional benefit otherwise what's the point?
- narush 4y agoI think your description is a pretty accurate description of most of our users: they are struggling to write Python in a Jupyter Notebook, and can install some basic packages (albeit it with some struggles -- see our Discord install help channel). The ML code part, you're right, def more rare :) Python code helps these users do a variety of tasks that aren't possible in other analytics tools like PowerQuery/M. Many of these tasks are specific to the company/existing infrastructures, as I mentioned above. A super concrete example: the head of data strategy at a life-sciences company made the transition to Python primarily because the rest of his (2 person) team uses Python. They primarily communicate about new datasets using Mito generated code (e.g. here are the steps to clean this data) - but he's not great at Python - so in practice he uses Mito for 9/10 analyses he does to generate this code he sends to his colleagues! Can give a few more if you'd like -- let me know!
- Closi 4y agoHope you are managing to sell lots and your product is a success :) If not, it might be worth positioning your product as helping people to do analysis better / faster / more accurately and 'turbo charging' analysts rather than selling it as a tool for analysts who are out of their depth (which is a more negative target).
- narush 4y agoSuper fair and honestly great feedback. I think the phrasing you say is probably much more appealing to users when they think about what they want/need!
- aarondia 4y agoThe friction of getting started with Mito is something we spend a lot of time focusing on. For example, when it comes to the installation process, not only do users install Mito through a CLI, but because JupyterLab 2, JupyterLab 3, and Jupyter notebooks all support extensions in different ways, there are different installation commands that users need to run to get it working for their specific environment. Initially, we just gave users instructions in our docs about which commands to install for which environment. Now we've built a completely new Python package, the mitoinstaller package, that handles the entire installation process. It downloads Jupyter if they don't have it, detects which version of Jupyter they have installed, runs the installation commands for their JupyterLab version and Jupyter notebooks, and finally starts up the Jupyter server with a tutorial notebook. In the success case, users run two commands and then 2 minutes later have already imported data into their first Mito spreadsheet. That initial friction reduction is important to our target users, who I would describe in two buckets: 1. Target open source adopters. These users are beginner to intermediate Python users that want to / need to write Python for data analysis. Most of the open source users that adopt Mito are already on their Python journey -- we're not teaching them what Python is or what a notebook is in the vast majority of cases. Many of them have gone through Kaggle courses, taken a couple data science classes at school, or are particularly enginuitive. For those beginner users, and even for people like me who have written pandas code for a few years, some things are just much easier to do in a spreadsheet interface, like creating a pivot table or graph (two of our most popular features) 2. Decision makers at large enterprises responsible for moving their company from Excel to Python. Much like us, these decision makers think a ton about the friction of getting employees started with Python. In most cases, they set up JupyterHub (https://jupyter.org/hub https://jupyter.org/hub) so users don't need to go through any installation processes themselves, and they control things like version controlling, turning notebooks into reports, etc. They generally also offer/require Python training courses, provide template notebooks, and have data scientists available to help the business end users when they get stuck.