Introduction
Over the past eight years, I have continued to develop my perspectives on what makes Alteryx such a clever and useful software platform. This cleverness expresses itself in a lot of different ways. I have realized that the more you use it, the more you realize its potential. Also, the more you use it, the faster you become with it to solve challenging problems that have significant complexity.
Why Did I Write This Article?
I had three reasons that motivated me to write this article. First, for many years I have been interacting with people that fail to understand the capabilities, spirit, and intent of Alteryx. I want to help these people understand why Alteryx is a great software platform. Rather than having to explain the Alteryx advantages for the umpteenth time, I’ll be able to use this article as my voice. For this reason, this article is long overdue! Second, I want to summarize some of the aspects of Alteryx that make it such a fun and productive tool to use. I want to expand on some of the thoughts I outlined in this article. Lastly, I want to finish several draft articles that I started years ago. This is one of those articles (I started this one in 2019). In summary, I want to help educate people on the need for a tool like Alteryx for data workers of all types.
To accomplish my goals, I have to accommodate readers who know very little about Alteryx and readers who have used the Alteryx platform. To make this article suitable for both types of readers, I broke the content into two parts. In Part 1, I define Alteryx and explain why it helps me in my career. In Part 2, I discuss the Alteryx advantages as I’ve determined them over time.
Part 1: What Is Alteryx and Why Does It Help Me On My Job?
Primarily, Alteryx Desktop is a software product that makes people better at solving problems based on data. For people who do not work with data daily, it is hard to appreciate the advantages that Alteryx provides to its users. This article explains some of the Alteryx advantages that I have realized and why I insist on using it about every day.
Some advantages of Alteryx are lesser-known to casual users. Still, if you challenge yourself to learn the platform in great detail by becoming an advanced user, you will uncover some of the hidden gems that make it one of the platforms of choice for solving vexing analytics problems.
For professional programmers that create computer programs for solving data problems, a program like Alteryx is quickly appreciated because it makes it easier to write programs. Alteryx saves us huge amounts of time, as this article will explain. Alteryx users can stockpile those time savings to allow themselves to be more productive, creative, and available on their job(s). Alteryx can take a programmer and turn them into a high-speed, competent problem solver in a short amount of time.
When I think about explaining Alteryx to people who are not familiar with what it does, I try to help them understand Alteryx in this way. Although Alteryx is not marketed as a programming language, it is a special type of programming language! Let’s get that straight.
Alteryx is a programming language specifically built to rapidly process data by reducing the steps needed to get the job done. Using Alteryx, many steps are eliminated because the Alteryx code does much of the mundane work for us. In the words of one of my most favorite creative geniuses, who also happens to be the guy that wrote Alteryx:
Alteryx was built to get shit done.
Ned Harding, As told to me sometime in the 2010’s
From a pure definition point of view, I think there will always be a debate on what Alteryx should be called. For the past few years, I have disagreed with the Alteryx Marketing Department on what they have chosen to call Alteryx. They have claimed that Alteryx is not really a programming language. They call it a “no-code”, “low-code”, or “expert mode” toolset or platform. The Alteryx complete environment is now called the Alteryx Analytic Process Automation (APA) Platform. Since there are no “modes of operation” within Alteryx, I prefer to call Alteryx a special type of programming language. This language has all sorts of automation capabilities built into its toolset.
Alteryx desktop gives you all the capabilities you need, whether you are a programming novice or an expert. Alteryx users can write workflows with great simplicity in which very little additional code or programming steps are required. On the other end of the spectrum, Alteryx users can write advanced workflows to solve really challenging tasks that require custom coding. For these reasons, all Alteryx users can successfully learn to use the software irrespective of their programming acumen.
One big oversight of Alteryx is that it is much more capable than just being used to solve “no-code” or “low-code” problems. Although many of my workflows are small, quick-hitters that give rapid insights, I also write sophisticated computer algorithms and complete programs in Alteryx that involve many of the classic programming elements. These workflows typically involve batch and iterative macros and hundreds of connected tools to solve tough problems.
I should know what a computer program is versus a simple workflow because I’ve been steadily programming since the mid-1970s. As Ned said, Alteryx allows me to get shit done. If you don’t believe me, spend some time looking through my blog (Figure 1), or better yet, please investigate the brilliant work of James Dunkerley (Figure 2). James is a true Alteryx artisan and master. He has the programming skills, determination, and energy to extend Alteryx capabilities and truly explore its usage limits. The great news is that James explains things exceptionally well and writes a tremendously valuable blog for all of us to use. James is a pioneer that is willing to try things that some people might initially determine to be beyond the scope of Alteryx.
What is An Alteryx Workflow?
Alteryx allows users to build custom computer programs that get bundled into things called “workflows.” Alteryx workflows are computer programs that manipulate data to achieve some goal(s). The goals might be to create a new custom data set, perform some AI/ML model, perform some quantitative analysis, or interrogate the data to improve data comprehension. There are many potential uses of Alteryx workflows, so please understand that this is one of the strengths of Alteryx. Alteryx allows you to do what you want to do with your data without boxing you into a series of pre-determined routines or outcomes. The ability to work as a generic data toolset allows Alteryx to be applied to virtually any industry or type of data we can imagine.
Once a workflow is built, users can easily reuse it (rerun, repurpose, reconfigure). I have reused, extended, or quickly reconfigured workflows for many different applications. Another great advantage of repeatable workflows is that output (custom data sets, models, analyses) quickly gets updated when the incoming data sets receive more data or get modified in any way. Workflows are also valuable to companies because once you learn to recognize what the graphical tool icons represent, it is easy to see and comprehend what the workflow is doing. This promotes collaboration and the spread of intellectual knowledge across an organization. I have learned that data becomes more valuable to companies when Alteryx is used to process it because data becomes meaningful to more people.
A workflow begins when a data set is introduced onto a canvas, which is a part of the superbly designed Alteryx graphical user interface (GUI). Users place data sets and tools on a canvas in whatever order they choose to achieve their objectives, as shown in Figure 3. In this case, a 29 million row data set is introduced and then aggregated and restructured to a 31-row data set. You should note that individual tool colors indicate the tool category from which they came (i.e., Reporting, Documentation, Spatial, etc., as shown in the dark blue stripe at the top of Figure 3). This makes reading Alteryx workflows more intuitive and reduces the learning curve for new users.
These tools all operate on the data with specific actions that allow the user to build their custom data set(s) or perform an analysis. As they introduce tools, the user can see the data as it enters and exits each tool, as shown in Figure 4. This allows users to easily visualize what is happening to the data as it moves through the workflow. This flow-based, visual approach to programming is one of the primary advantages of Alteryx: Users are intimately connected to the data throughout workflows. Users have the ability to quickly understand how data is changing along each step of a workflow without ambiguity.
Another advantage of this approach is that each tool used is constructed from optimized computer code built for its intended purpose, with precise operational limits placed on the tools. What this means is that the tools are lean and mean, they are fast, and they do their intended job perfectly. There is no sloppiness in the design of each tool. Each tool has been expertly crafted using the principles of object-oriented design.
This means that Alteryx users experience the advantage of re-usable code without having to worry about the typical details associated with writing computer codes, such as creating variables or data structures, memory management, introducing libraries or pre-processor directives, or otherwise configuring or updating their programming environment. Additionally, the user does not have to wait for their code to compile. Workflows are launched, and executable code begins operating immediately. Recent product developments such as data caching and the AMP engine provide further time-savings advantages. These features add up to massive time savings over the years compared to the traditional art of writing custom computer codes.
Another huge advantage is that all of the tools are compatible. They work together in harmony, which doesn’t happen without great effort when a custom program is written. Essentially, Alteryx eliminates many programming headaches. The Alteryx GUI has the desired features to quickly build workflows without bogging down the user with too many configuration options, nomenclature, or other distracting clutter.
What Are The Alteryx Disadvantages?
However, one shortcoming in Alteryx is that the typical compliment of debugging features such as watchpoints, breakpoints, and other controls present in standard GUI-based programming environments do not exist. That hasn’t been a problem because I have invented ways of reducing the need for such features.
Another aspect of Alteryx that is somewhat problematic relates to using macros. When workflows get cast in terms of macros, visibility into any macro module is limited. There are tools such as the X-ray tool to help in this regard, but working with complex code within macros can be challenging. However, I have developed techniques to minimize this problem, so this isn’t much of an issue for me.
My Actual Alteryx Usage
In 2018, I had examined my Alteryx usage over a several-month period. Before finishing this article, I thought it would be informative to extend that Alteryx usage analysis to a multi-year timeframe. The reason I decided to do this is to justify my opinions in this article. I wanted to prove that I really use the software like I say I do. I wanted to provide indisputable evidence that Alteryx is my primary computational platform. What I say is likely to be the truth, given the large experience base I have with the Alteryx Desktop platform.
As shown in Figure 5, my most recent 3.3 years of Alteryx usage has provided the opportunity for me to understand how I use Alteryx. Based on over 24,000 workflows completed, I found several interesting insights. First, as shown in the upper left chart, nearly 80% of the workflows I executed (over 18,500 of them) completed within 5 seconds. Over 91% of the workflows (almost 22,000 of them) ran in under 1 minute. What this means to me is that (1) I do a lot of incremental workflow testing as I am building complex workflows, (2) I write a lot of “little hitters,” or quick workflows that provide rapid insights, and (3) Alteryx is very computationally fast because I generally work with extensive data sets. Of course, there are some techniques that I have developed to decrease the time needed to develop workflows.
Not all workflows I construct are completed in short durations, however. The figure shown in the lower-left corner indicates that I have written some computationally intensive workflows that took more than 15 days to complete! These examples provide proof that Alteryx is a very stable platform that exhibits excellent memory management (i.e., no memory leakage over time which could derail long-running workflows). Some of these long-running workflows use Python packages, batch macros, and iterative macros to great effect.
Finally, the two right-side tables contain the total compute hours and the number of workflows executed by year and month for this test period. With over 3,400 compute hours and over 24,000 workflows completed, I believe that my usage is sufficiently large for my opinions to be reliable.
Part 2: The Alteryx Advantages
In this section, I summarize the Alteryx advantages into five categories. These categories are my attempt to logically group the primary Alteryx advantages that I have experienced over time. Other people might identify other advantages that I am not aware of, so this list is not comprehensive across the entire spectrum of Alteryx software offerings. I derived these advantages from my usage of Alteryx over the past eight years coupled with my personal work history.
1 – Superb User Experience And An Outstanding Community
- A very natural learning experience with quick adoption (short initial learning curves) for most users due to excellent visual design and logical grouping of tools on the canvas.
- Clear, simple, and concise tool configurations that are quick and easy to set.
- The program design ensures that all tools work as individual operators and in combination with each other. This harmonious tool interaction allows users to experience maximum creativity when working with data from many different sources.
- The flow-based programming approach used to develop Alteryx has lead to a close connection with the data at all steps of the workflow, and the ability to split and reconnect data streams seamlessly allows users to rapidly prototype and complete workflows.
- The is no need to initialize libraries or preprocessor directives, memorize function names, parameter lists, or perform other programming tasks such as the management of memory (allocation, deallocation, eliminating fragmentation, etc.). This saves a lot of time.
- The program simply runs – no compute node configurations are needed, no libraries are needed, with excellent workflow compatibility over time.
- Very strong product documentation exists that is seamlessly extended into the work of a robust community of experts.
- The five-year-old Alteryx community website offers features such as badges, tracking of activities, and other customizations that allowed it to recently win a very prestigious award: Alteryx Community Wins CMX 2021 Community of the Year.
- There is an extensive gallery of user-developed analytic applications that reduce development time.
- There is a separation of the user interface from the data engine, which allows for continued program expansion on a regular basis.
- Superb weekly challenges exist with comprehensive developmental and training courses and product testing platforms.
- Self-documenting workflows are created through the use of annotations, tool containers, comments, and logical workflow design. This makes it easy to share workflow, teach others, and collaborate across functional teams.
- Reusable workflow concepts are easy to document and share.
- Alteryx offers complete and seamless integration with Tableau and Power BI, including a direct-write of hyper data files onto Tableau servers, which makes data visualization very easy.
2 – Excellent Computational Speed
- The original Alteryx data pipeline was linear in performance. This meant that large data sets ran with the same fast throughput as small data sets.
- The new multi-threaded data pipeline can be faster than the original pipeline, depending upon the tasks being completed. This pipeline took years of research, development, and testing to complete and has proven to be a huge improvement to the product. This new approach uses all available computational cores on a computer while running the workflows.
- Alteryx has tools such as the Calgary engine that make it very effective when working with big data sets. Data loading and retrieval are both speedy.
- Alteryx minimizes the movement of data, which produces high-speed computational performance.
- Full support for in-database operations allows workflows to use the power of big data platforms for filtering, making joins, aggregations, and other operations.
3 – Comprehensive Geospatial Analysis
- Alteryx was created with a geospatial processing focus, which allows it to operate similarly to a geographical information system (GIS) without the added expense of a GIS.
- The accuracy of the geospatial computations has been documented to be of the highest caliber when tested by third-party vendors (driver time comparisons, in particular).
- This means that all the geographical data (spatial positioning data, road networks, sign distributions, collision locations, etc.) are natively managed in Alteryx in a fully-featured computational arena.
- Alteryx users can complete geospatial operators such as nearest neighbors, clustering, distances, set operations, geometrical operations such as boundary operations, inclusion calculations, polygon operations, intersection calculations, and many other spatial operations using shapefiles.
- An additional add-on package allows for address-lookups, drive time calculations, and other advanced geospatial operations.
4 – Programming and Extensibility
- Ability to write comprehensive custom programs that have excellent performance and long-term stability.
- Ability to write standard, batch, and iterative macros for incremental processing of data.
- Web scraping, API customization for pulling data, and constructing databases with incremental updating.
- The ability to very quickly build analytic apps that allow dynamic user input to workflows.
- Very robust support of regex, dates and times, mathematical functions.
- Python and R integration.
- Ability to write custom add-on tools and SDKs.
- Plugin-based architecture makes the core of the program small.
- Available product add-ons such as the Experian demographic data sets are extremely powerful, as are the Alteryx Server, the Scheduler, the Connect, and the Promote products.
5 – Predictive Analytics
- There is a suite of predictive analytics algorithms that extend the base Alteryx toolsets.
- Complete access to R and Python-based predictive algorithms.
- Extensive documentation of predictive analytics approaches.
- Auto ML tools that make predictive modeling available to all users.
- Significant developmental effort being made by Alteryx in the AI/ML space, with guided and full auto modeling, feature engineering, and other common time-consuming operations automatically completed.
Final Thoughts
This article contains information that I have realized, experienced, and developed over many years due to my focused Alteryx usage. Although I am not at liberty to show details of my work, I can say that my Alteryx-based work has been recognized to be efficient, insightful, accurate, cost-effective, comprehensive, and diverse. In several cases, my Alteryx work has lead to large returns on investment (ROI). I have used Alteryx across a diverse set of projects to prove that Alteryx can be used to solve the toughest analytics problems encountered in a large, big-data enterprise setting.
Alteryx is a great platform for large enterprises that want to empower their employees by allowing them to work with company data. Alteryx has many characteristics that allow all types of employees to imbibe insights from data.
Post Scripts
Four days after publishing this article, I came across an article I wrote in April 2019 about how player speed leads to success in the National Football League. This article is an exemplary example of a project that allowed me to realize the “Alteryx Advantages”.
Figure 6 is an excerpt from that article. Do you notice anything interesting about the Top 5 most important characteristics of Alteryx? Those five do a great job of encapsulating the detailed list of “Alteryx Advantages” I wrote about in this article. I was stunned when I saw this consistency in my thought process.