Content
Resume
If previously only narrowly focused specialists had programming skills, now more and more marketers are interested in programming languages and use them in their work. Customer Data Expert Pavel Levchuk has learned not one, but four programming languages. What these languages are and how knowledge of them helps in work, read in the interview.
Pavel Levchuk, Customer Data Expert
— Pavel, why does a marketer need a programming language at all?
Marketers used to be more creative and less telegram company profile data-driven. Now, data is everywhere and requires a lot of work.
Although there are ready-made utilities for a number of tasks, knowledge of a programming language allows you to build the process of working with data in the way you need, taking into account the specifics of your company.
In general, the programming language allows you to build a cycle of working with data:
connect to different sources,
download data,
clean them up,
tie together,
make the necessary calculations,
visualize them,
draw conclusions and move on to point 1.
— Which programming language is best for working with data?
There is definitely no silver bullet here. Based on my experience in marketing, I regularly use the following programming languages: SQL, R, M, DAX.
SQL (Structured Query Language) is the primary interface for working with relational databases (DB). It is used to add, update, and delete data rows, retrieve data sets for transaction processing and analytical applications, and manage all aspects of DB operation.
R is a general-purpose language for data analysis. It is written by statisticians for statistical research.
M — was conceived as a language for connecting to various data sources and their subsequent transformations. It works only within the MS ecosystem.
DAX is a language for writing complex metric calculation logic inside Power Pivot / Excel / Power BI.
The concept of "better" is practically not applicable to the comparison of programming languages. Here, criteria such as:
code creation speed,
the presence of libraries that already solve your problem,
the amount of code required,
its readability;
speed of data processing;
integration of results with the next steps of analysis;
operational analysis (working with data in a stream or in production).
Often, but not always, data is stored in relational databases. SQL (Structured Query Language) is used to access them.
Don't waste your advertising budget
The call tracking and end-to-end analytics service will show the effectiveness of each source in terms of “from click to sale”.
Get a consultation
— What are relational databases, how do they differ from regular ones?
A relational database is a collection of data with predefined relationships between it. This data is organized into a set of tables, which are made up of columns and rows. The tables store information about the objects in the database. Each column in the table stores a specific type of data, and each cell stores an attribute value. Each row in the table is a set of related values that refer to a single object or entity. Each row in a table can be labeled with a unique identifier called a primary key, and rows from multiple tables can be related using foreign keys. This data can be accessed in many ways without requiring any reorganization of the database tables.
If the data is located in other data sources, then, accordingly, other programming languages are needed, preferably with ready-made connectors.
If the data source assumes the presence of an API, then you can quickly and natively get the necessary data from the service. For example, in the email distribution system (ESP), you can request a list of subscribers, opening status, etc. for each email campaign via API and build the required report on mailings. Alternatively, you can try to parse the data if it is open, but there is no API.
Also, the data is often in the wrong format and/or dirty. In such cases, it needs to be prepared for subsequent analysis. Here, options appear: this can still be done in SQL, but you can also use other languages, such as R, M or Python. For example, change the data types of columns, delete rows with empty values or outliers.
— That is, for different tasks from the data processing cycle, one or another language allows you to solve the current task faster?
Yes. For example, you can do something one-time using formulas in Excel. If you need repeatability when new data arrives and statistically simple calculations, then DAX will do. For more complex operations - R.
I like modern R (R + tidyverse + RStudio IDE) because it allows you to quickly prepare data and apply a variety of statistical models to squeeze insights out of the data. For example, you can easily do things like regressions (to understand linear relationships), clustering data (for segmentation, classification to predict, for example, purchase and/or churn).
For simpler analytics I use the BI stack: Power Query/M + Power Pivot/DAX + Excel/Pivot Tables.
As I mentioned above, I actively use four languages. The use of one or more languages depends on the context of the task. If in one language it is one command, and in another 10, then most often I will do it where it will be faster to implement. There are exceptions when I build a data processing pipeline and transferring data from one programming language (environment) to another is not optimal in terms of regular processing and taking into account the increasing volume of data in the future. For example, when I build a BI solution, I try to use the capabilities of one ecosystem.
— Give an example of a case when you used the capabilities of one ecosystem and this simplified and accelerated the solution of a problem.
For example, Excel has a Power Query subsystem. It allows me to quickly connect to data, clean it and transform it, and immediately put it into a high-performance database inside the same Excel — Power Pivot. Then, using the DAX programming language inside Power Pivot, I describe the metrics that interest me, and then in Excel I visualize them through pivot tables and/or charts. All this allows me to focus on analysis instead of solving infrastructure problems.
Example table
Resume
Possession of programming skills allows a marketer to analyze large volumes of data faster and find insights in them. The choice of programming language depends on the specific task that needs to be solved. So, if you encounter a large number of different tasks in your work, it is difficult to get by with one programming language, but there are the most universal programming languages for working with data - these are R and Python.
Pavel Levchuk recommends the following materials for learning programming languages:
DAX:
https://www.amazon.com/Definitive-Guide ... 73569835X/
https://www.sqlbi.com/tv/dax-101/
https://www.sqlbi.com/tv/advanced-dax/
R:
https://r4ds.had.co.nz/
https://www.amazon.com/Action-Data-Anal ... 617291382/
How Many Programming Languages Does a Cool Marketer Need to Know?
-
- Posts: 12
- Joined: Mon Dec 23, 2024 4:59 am