ETL Tools for Process Mining: What You Need — article illustration

Data

ETL Tools for Process Mining: What You Need

When process mining needs ETL, what the extract has to contain, and why ProcessMind loads whatever your existing pipeline produces.

Do you need ETL for process mining?

ETL tools extract data from source systems, transform it into a usable shape and load it for analysis. This article is about the ETL work a process mining project actually needs, and where it can be avoided. It is not a buyer’s guide to pipelines. If one system can export the records and the file has a case ID, an activity and a timestamp, you can often skip the pipeline for a first analysis and load the export as it is.

The answer depends on the process, the systems behind it, and how often the analysis has to refresh. Start with the smallest extract that can answer a question, then add preparation and automation when the first analysis shows they are needed.

Three situations justify ETL work:

  • The process spans several systems. Records have to be joined and their identifiers aligned before one case can be followed from end to end.
  • The source data cannot be read as it stands. Activity names, timestamps or case identifiers need standardising before an analysis can use them.
  • The extract has to repeat. When the data changes daily and the analysis has to keep up, a manual export stops being practical.

Those are reasons to prepare data, not reasons to build a pipeline before the first question is answered. Load what you can get, see what is missing, and decide from there.

For a while we assumed that ETL belonged inside the product. Then we looked at what our customers already had. The data warehouse wave ran for about twenty years under several names, data marts and data lakes among them, and the end state is that usable data now sits in most companies. So we stopped building a pipeline of our own. Bring an export from the systems you have, or point the pipeline your team already maintains at our API, and start from the data that is already there.

Roel Vliegen
Roel Vliegen Co-founder and CEO

You can also skip a separate pipeline when:

  • The process is mainly recorded in one system.
  • The relevant records can be exported.
  • The export has a case ID, an activity and a timestamp.
  • The file is small enough to prepare by hand.
  • You are still testing whether the data answers your question.

A spreadsheet is a fine place to rename columns, fix obvious inconsistencies and drop fields you do not need. Manual preparation does not have to be permanent: once the analysis proves useful and the data has to refresh often, automate the steps you find yourself repeating.

What the extract has to produce

A process mining event log needs three fields, and one row per event.

Field What it represents What to check
Case ID The process instance, such as an order or a service request The same case ID must connect every event of that instance
Activity One step that happened in the process Names that distinguish real steps, used consistently
Timestamp When the step happened A real date and time, with one time zone across the sources you combine

Attributes such as cost, user, team, customer segment or CO2 footprint are optional. They are also what separates a process view from an analysis: every attribute you keep becomes a filter, a split or a measure later. The dataset attributes reference covers what each field unlocks.

A field can exist in the source and still be unusable. A case ID that changes between systems will not connect events. Inconsistent activity labels turn one real step into three. A timestamp stored as text can leave events in the wrong order. Look at the export before you map it, and check the three required fields first. For the wider picture of what a log has to contain, see what process mining needs.

A minimum viable event log query

If the source already stores one row per activity, the query is a select. This example assumes a table called process_events with a case, an activity and an event time:

SELECT
  case_id        AS case_id,
  activity_name  AS activity,
  event_time     AS timestamp
FROM process_events
WHERE case_id IS NOT NULL
  AND activity_name IS NOT NULL
  AND event_time IS NOT NULL
ORDER BY case_id, event_time;

The query labels the three fields, drops the rows that cannot be used, and sorts events within each case. Adapt the table and column names to your source, then check a sample of cases before you load: each case should hold the events you expect, in an order the people doing the work recognise.

Which transform steps matter

Transformation should fix what would otherwise distort the analysis. Four steps cover most of it.

  1. Normalise the events

    Put each activity occurrence on its own row with the case ID and the timestamp, even when the source stores process steps in separate columns.
  2. Make the timestamps usable

    Check that the values are real dates and times, and whether they are local time or UTC. Align the time zones of sources you combine, or the event order will lie.
  3. Standardise the activity names

    One label per real step, in one language, with one spelling. Do not merge steps that only look similar to shorten the list.
  4. Join sources only when needed

    Find the key that links the records and test that it matches. A join that duplicates events or drops cases changes the process view, so compare record counts before and after.

If the export already holds one row per event with the three fields in place, there is nothing to transform. That is a normal outcome, not a shortcut. How to create a process mining event log walks through the same ground with Excel and SQL examples.

Where should the event log be loaded?

Load the prepared data into the platform where you will analyse it. For a first look a single file is enough: prepare it, load it, read the process view, and refine the extract once you can see what the data supports. Avoid standing up a new storage layer just for process mining. If your team already maintains a warehouse or a lake, keep the data there and load what that environment produces.

The supported data formats page has the detail, and the same formats can be pushed by a scheduled job through the data API when nobody wants to upload by hand.

ProcessMind model with the Datasets in models panel open, showing the cases each dataset contributes and the unmapped activities toggle
A loaded dataset attaches to the model. The panel shows the cases it contributes and flags the activities that are not mapped yet. Source: ProcessMind

Whichever route you take, the load should end where the analysis happens. A file in a folder nobody watches is not a data strategy; a dataset someone maps and reviews is.

Which ETL tools fit process mining?

There is no single ETL tools list that fits every project. Choose by where the data lives, what your team already runs, and how much preparation the log needs. The work itself is ordinary data engineering, and the only process mining specific requirement is that the output keeps the case ID, the activity and the timestamp.

Approach Use it when The trade-off
Export and prepare by hand You are testing one process on a small, stable dataset Fastest start, but every refresh is manual work
The tools your team already runs SQL, dbt, a warehouse or a lake is already in place Reuses skills and infrastructure, and keeps the logic reusable outside process mining
A third-party ETL tool The extraction has to repeat across several systems More moving parts to set up and maintain
Built-in ETL inside a mining platform The platform covers the transformations you need Convenient, but check how portable the logic is and whether the data is reusable elsewhere

Names that come up most often in process mining projects: CData and dbt for data extraction and SQL transformation, BigQuery, Snowflake and Databricks on the warehouse side, and Talend, Apache NiFi and Airbyte when moving data between systems is the hard part. Open source is a real option here, with NiFi and Airbyte the usual starting points, and a few vendors sell ETL built for process mining, Evidant and Konekti among them, with templates for common systems.

Those are examples, not endorsements, and none of them is a partnership. Prefer the tools and formats your team can maintain after the project, and keep the transformation logic outside the mining product where you can. Built-in ETL is the one to weigh carefully: it is convenient while you stay on that platform, and it puts your preparation somewhere that is harder to reuse for the next analytics or AI project.

How do you manage the data after it is loaded?

Extraction is half of the work. What happens to the datasets afterwards decides whether the analysis still holds up a quarter later.

  • Name datasets after their contents. Q1_2025_Sales_Data or Customer_Support_Logs beats export_final_v3.
  • Pick the format for the job. CSV or Excel is fine for small files uploaded by hand. Parquet or ORC pay off for large datasets and for anything a pipeline produces.
  • Preview before you map. Check the structure, the column types and a few rows, and confirm the case ID, the activity and the timestamp in your dataset configuration.
  • Check the activity mapping. Let auto-mapping do the first pass, then work through the unmapped activities. Steps that happen but leave no trace in the data can be marked as data flow through, so they stay visible without changing the numbers.
  • Refresh, do not rebuild. For a recurring export, replace the dataset with the fresh file on the cadence the analysis actually needs, daily or weekly, and keep the same mapping.
  • Write down what the data does not cover. Missing periods, systems and steps belong in the analysis notes, because they decide what you can claim at the end.
  • Control access, then archive. Give dataset access to the people who need it, and archive what a finished project no longer uses.

Takeaway

ETL is a means, not the goal of a process mining project. Set it up so it does not slow the first analysis down:

  • Start with the data you can get this week.
  • Keep the three required fields intact, whatever else you drop.
  • Load the export first, and automate the load once the analysis has earned it.
  • Use the tools and formats your team already maintains.

More projects fail because the pipeline was built before anybody knew which question it had to answer than because the pipeline was too simple.

Where to Go From Here

You have an export, or a pipeline that can produce one. The next step is to load it and see whether the extract answers your question.

Frequently Asked Questions

Not always. If one system can export the records and the file has a case ID, an activity and a timestamp, you can start without a pipeline. A pipeline is worth building when the process spans several systems, when the source data has to be standardised before it can be read, or when the same extract has to repeat on a schedule.

Three fields at minimum: a case ID that groups events into one process instance, an activity that names the step, and a timestamp for when it happened. Cost, resource, team and similar attributes are optional, and they are what add the filters, splits and measures you can use later.

CSV, TSV, TXT and XES for text, XLS, XLSX and XLSB for spreadsheets, Parquet, ORC and JSONL or NDJSON for larger and automated exports, and any of those gzip-compressed. Files can be uploaded in the application or pushed through the data API.

Yes. Export the log to Parquet or ORC, which are compressed and carry their own schema, and upload through the API in chunks when the file is very large. Start with one process and a recent period, then widen the extract once the first analysis has shown which fields it needs.

Related Blog Posts

Receive expert insights on process mining and workflow optimization in your inbox
Event Log Process Mining: How to Build One

Process Mining

Event Log Process Mining: How to Build One

Build a process mining event log with the right columns, a downloadable restaurant example, and step-by-step Excel and SQL methods.

MCP Server Process Mining: The Bridge to Your Data

Process Mining

MCP Server Process Mining: The Bridge to Your Data

Your AI assistant is only as useful as the context it can reach. ProcessMind's MCP server is the bridge to the process knowledge you have already curated.

Process Mining Connectors: When They Pay Off

Data

Process Mining Connectors: When They Pay Off

See when process mining connectors justify the setup and maintenance, and how a data template lets you start with an export you already have.

Choosing an ARIS Alternative

Process Architecture

Choosing an ARIS Alternative

ARIS is the deeper repository; ProcessMind is the smaller product with the features that decide the work. Compare them in one matrix.

Design better processes. Build a connected architecture. Stay in control.

Get instant access with no credit card and no waiting. Turn the way your organization works into clear, connected process designs.

Build your process architecture, define ownership and controls, and align roles and responsibilities across every level.

Start your free trial and create one reliable foundation for governing, managing, and continuously improving your processes.