Data integration is the process of combining data from multiple, heterogeneous sources into a consistent, unified representation. Data integration involves a sequence of interdependent tasks including schema matching, value normalization, blocking, entity matching, and data fusion. Existing table-based benchmarks either evaluate these steps in isolation or cover only incomplete versions of the data integration pipeline, omitting specific steps. The lack of public end-to-end data integration benchmarks hinders research on data integration methods that address the integration process as a whole and account for the interdependencies among the different tasks.
The Mannheim Data Integration Benchmark (MaDI-Bench) fills this gap. It is the first benchmark for the end-to-end integration of relational tables covering all steps of the integration process. MaDI-Bench contributes (i) a set of end-to-end data integration tasks spanning several application domains, each requiring the full schema matching, value normalization, entity matching, and data fusion pipeline, and (ii) a generic method for deriving task variants that mitigates rapid benchmark saturation as data integration systems advance. We validate the benchmark using human-engineered pipelines, a best-of-breed pipeline, an LLM workflow, and a pipeline written by a coding agent. The validation demonstrates the utility of the benchmark for measuring the step-wise as well as the end-to-end performance of data integration pipelines. All benchmark artifacts are available for public download.
MaDI-Bench consists of five base end-to-end data integration tasks. These base tasks require the integration of data about Games, Companies, Music, Products, and Scientific Papers. Each task takes several heterogeneous tables as input and asks the system under test (SUT) to integrate these tables into a single output table conforming to a given target schema. The integration requires the SUT to perform schema matching, value normalization, blocking, entity matching, and data fusion. The benchmark provides ground truth to score every step on its own, not only the final table: a gold schema mapping for schema matching, labeled normalization sets for value normalization, labeled record pairs for blocking and entity matching, and human-verified records for data fusion, together with metrics for the end-to-end result. MaDI-Bench offers an easy, a medium, and a hard variant of each base task, 20 tasks in total.
Schema matching → Value normalization → Entity blocking & matching → Data fusion
Labeled resources of the five base tasks. The variants provide the same kinds of resources for their own records.
Games. This task requires the integration of three video-game datasets: Metacritic (review scores and ESRB ratings), a sales dataset (commercial performance), and DBpedia (release dates, developers, platforms, genres, and series). The target schema has ten attributes.
| wiki_ref | title | launch_yr | studio | system | genre | franchise |
|---|---|---|---|---|---|---|
| dbpedia_11 | Mario Kart Arcade GP | 2005-01-01 | Namco | Arcade game | Racing video game | Mario Kart |
| dbpedia_101 | Dr. Mario | 1990-01-01 | Nintendo Research & Development 1 | Game Boy Advance | Puzzle video game | (empty) |
| dbpedia_177 | Sonic Jump | 2012-01-01 | Hardlight | Android (operating system) | Platform game | Sonic the Hedgehog (series) |
| mc_id | game_title | year_published | made_by | console | genres | press_rating | player_rating | age_rating |
|---|---|---|---|---|---|---|---|---|
| metacritic_5 | Super Mario Galaxy | 2007-01-01 | Nintendo | Wii | Action,Platformer,Platformer,3D,3D | 97.0 | 9.1 | E |
| metacritic_9 | Super Mario Galaxy 2 | 2010-01-01 | Nintendo EAD Tokyo | Wii | Action,Platformer,Platformer,3D,3D | 97.0 | 9.1 | E |
| metacritic_10 | The Legend of Zelda: Ocarina of Time | 1998-01-01 | Nintendo | Nintendo 64 | Action Adventure,Fantasy | 99.0 | 9.0 | E |
| rec_id | prod_title | launch_dt | studio | dist | hw | genre | press_score | comm_rating | age_classification | units_sold_mm |
|---|---|---|---|---|---|---|---|---|---|---|
| sales_2 | Mario Kart Wii | 2008-01-01 | Nintendo | Nintendo | Wii | Racing | 82 | 8.3 | E | 35 |
| sales_4 | New Super Mario Bros. | 2006-01-01 | Nintendo | Nintendo | DS | Platform | 89 | 8.5 | E | 29 |
| sales_7 | Mario Kart DS | 2005-01-01 | Nintendo | Nintendo | DS | Racing | 91 | 8.6 | E | 23 |
Companies. This task requires the integration of the Forbes Global 2000 list, a DBpedia company extract, and a FullContact company-profile sample. The target schema has eight attributes.
| forbes_url | company | url | region | business_segment | asset_value | sales_figure |
|---|---|---|---|---|---|---|
| http://www.forbes.com/companies/icbc/ | ICBC | http://www.forbes.com/companies/icbc/ | China | Major Banks | 3124900000000 | 148700000000 |
| http://www.forbes.com/companies/china-… | China Construction Bank | http://www.forbes.com/companies/china-… | China | Regional Banks | 2449500000000 | 121300000000 |
| http://www.forbes.com/companies/agricu… | Agricultural Bank of China | http://www.forbes.com/companies/agricu… | China | Regional Banks | 2405400000000 | 136400000000 |
| entity_uri | org_name | established | nation | headquarters | sector | keypeople_name | total_assets_val | annual_income |
|---|---|---|---|---|---|---|---|---|
| http://dbpedia.org/resource/%C3%80_la_… | À la Table de Spanghero | 1970-01-01 | France | Castelnaudary | Meat | (empty) | (empty) | (empty) |
| http://dbpedia.org/resource/%C3%87al%C… | Çalık Enerji | 1998-01-01 | Turkey | Istanbul | (empty) | Çalık Holding | (empty) | (empty) |
| http://dbpedia.org/resource/%C3%87al%C… | Çalık Holding | 1997-01-01 | Turkey | Istanbul | (empty) | Ahmet Çalık | 8 | 2.8 |
| Attribute_1 | Attribute_2 | Attribute_3 | Attribute_4 | Attribute_5 | Attribute_6 |
|---|---|---|---|---|---|
| fullcontact_1 | BBMG | United States | Brooklyn | Raphael Bemporad | (empty) |
| fullcontact_2 | CIT Group Inc (DEL) | Canada | Toronto | (empty) | 1908-01-01 |
| fullcontact_3 | City & National Employment | United States | Waterloo | (empty) | 1957-01-01 |
Music. This task requires the integration of data from Discogs, Last.fm, and MusicBrainz that describe albums, EPs, and singles with partial overlap. The target schema has eight attributes.
| rec_uid | title_str | performer | pub_dt | origin_loc | duration | imprint | category | tracks_track-name |
|---|---|---|---|---|---|---|---|---|
| discogs_3 | Fermats Theorem / Sight Beyond | John B | 1996-01-01 | UK | 0 | New Identity Recordings | Electronic | ['Fermats Theorem', 'Sight Beyond'] |
| discogs_4 | Tempest / Inner Sense | Psychosis | 1998-01-01 | UK | 0 | Renegade Hardware | Electronic | ['Tempest', 'Inner Sense'] |
| discogs_5 | The Sign's Alive | Lypid | 2000-09-05 | United States of America | 0 | Statra Recordings | Electronic | ["The Sign's Alive (Original Mix)", "T… |
| item_code | album_title | band | album_length | tracks_track-name |
|---|---|---|---|---|
| lastFM_1 | John B - Fermats Theorem / Sight Beyo… | John B | 903 | ['Fermats Theorem', 'Sight Beyond'] |
| lastFM_2 | Tempest / Inner Sense | Psychosis | 734 | ['Tempest', 'Inner Sense'] |
| lastFM_4 | Petalpusher - Surrender | Petalpusher | 1626 | ['Surrender (Petalpusher Original)', "… |
| Attribute_1 | Attribute_2 | Attribute_3 | Attribute_4 | Attribute_5 | Attribute_6 | Attribute_9 |
|---|---|---|---|---|---|---|
| mbrainz_1 | Fermats Theorem / Sight Beyond | John B | 1996-01-01 | United Kingdom of Great Britain and No… | 1055 | ['Fermats Theorem', 'Sight Beyond'] |
| mbrainz_2 | Tempest / Inner Sense | Psychosis | 1998-12-14 | United Kingdom of Great Britain and No… | 724 | ['Tempest', 'Inner Sense'] |
| mbrainz_3 | The Sign's Alive | Lypid | 2000-09-05 | United States of America | 2384 | ["The Sign's Alive (original mix)", "T… |
Products. This task is based on a subset of the WDC Products benchmark, covering GPUs, SSDs, HDDs, and USB sticks. The target schema has 24 attributes, making it the largest in the benchmark.
| id | manufacturer | product_name | product_description | list_price | currency_code | product_url | model_name | manufacturer_part_number | category | gpu_chipset | video_memory_gb | capacity_gb | sequential_read_mb_s | sequential_write_mb_s | bus_standard | interface | width_millimeters | length_millimeters | height_millimeters | weight_grams | connector | memory_technology | colour | form_factor |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 12198483 | Gigabyte | Gigabyte NVIDIA GeForce RTX 3080 Gamin… | CUDA Cores: 8704, Boost Clock: 1800MHz… | 799.99 | GBP | https://www.novatech.co.uk/products/gi… | NVIDIA GeForce RTX 3080 Gaming OC | (empty) | GPU | GeForce RTX 3080 | 10.0 | (empty) | (empty) | (empty) | (empty) | (empty) | (empty) | (empty) | (empty) | (empty) | (empty) | GDDR6X | (empty) | (empty) |
| 78378158 | WD | WD Blue 6TB 3.5\" SATA 3 HDD/Hard Drive | 6TB WD Blue WD60EZAZ, 3.5\" HDD, SATA… | 129.98 | GBP | https://www.scan.co.uk/products/6tb-wd… | WD Blue | WD60EZAZ | HDD | (empty) | (empty) | 6.0 | (empty) | (empty) | SATA III - 6Gb/s | SATA | (empty) | (empty) | (empty) | (empty) | 3.5-inch SATA | (empty) | (empty) | 3.5" |
| 80641070 | Corsair | Corsair Force MP510 M.2 SSD - 960GB | Solid State Drive, 960 GB, intern, M.2… | 2124.00 | NOK | https://www.proshop.no/SSD/Corsair-For… | Force MP510 | (empty) | SSD | (empty) | (empty) | 960.0 | (empty) | (empty) | PCI Express 3.0 x4 | NVMe | (empty) | (empty) | (empty) | (empty) | M.2 | (empty) | (empty) | M.2 2280 |
| id | brandName | name | descriptionText | priceAmount | currency | productUrl | modelName | mpn | productCategory | chipset | vramGb | capacityGb | readSpeedMbps | writeSpeedMbps | busType | interfaceType | widthMm | depthMm | heightMm | weightG | connectionType | memoryType | color | formFactor |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 19126355 | Gigabyte | Gigabyte NVIDIA GeForce RTX 3080 10GB… | Gigabyte NVIDIA GeForce RTX 3080 GAMIN… | 99999.99 | GBP | https://www.scan.co.uk/products/gigaby… | GeForce RTX 3080 10GB GAMING OC | (empty) | GPU | GeForce RTX 3080 | 10.0 | (empty) | (empty) | (empty) | (empty) | (empty) | (empty) | (empty) | (empty) | (empty) | (empty) | GDDR6X | (empty) | (empty) |
| 42841911 | WD | WD Blue 6TB Desktop Hard Disk Drive -… | WD Blue 6TB Desktop Hard Disk Drive -… | 128.99 | USD | https://www.newegg.com/blue-wd60ezaz-6… | WD Blue | WD60EZAZ | HDD | (empty) | (empty) | 6000.0 | (empty) | (empty) | SATA 6Gb/s | SATA | (empty) | (empty) | (empty) | (empty) | 3.5 Inch | (empty) | (empty) | 3.5 Inch |
| 46775597 | CORSAIR | CORSAIR - Force Series MP510 960GB M.2… | CORSAIR Force Series MP510 960GB M.2 S… | (empty) | (empty) | https://www.dindator.se/corsair-force-… | Force Series MP510 | CSSD-F960GBMP510 | SSD | (empty) | (empty) | 960.0 | 3480.0 | 3000.0 | PCIe Gen3 x4 | NVMe | (empty) | (empty) | (empty) | (empty) | M.2 | (empty) | (empty) | M.2 |
| id | Brand | ProductTitle | Details | Price | Currency | Link | Model | PartNo | Type | Chipset | MemorySizeGB | CapacityGB | ReadMBs | WriteMBs | Bus | Interface | WidthMM | LengthMM | HeightMM | WeightG | Connector | MemoryType | Colour | FormFactor |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 46320085 | GIGABYTE | GIGABYTE GeForce RTX 3080 GAMING OC 10… | To Avail the offer Click Here | 73160.00 | INR | https://www.pcstudio.in/product/gigaby… | GeForce RTX 3080 GAMING OC 10G | GV-N3080GAMING OC-10GD | GPU | GeForce RTX 3080 | 10.0 | (empty) | (empty) | (empty) | (empty) | (empty) | (empty) | (empty) | (empty) | (empty) | (empty) | (empty) | (empty) | (empty) |
| 91583813 | WD | WD Blue 6TB SATA3 256MB 3.5' 5400RPM 6… | Western Digital WD Blue 3.5-inch PC ha… | 278.00 | AUD | https://netplus.com.au/products/wd-blu… | WD Blue | (empty) | HDD | (empty) | (empty) | 6.0 | (empty) | (empty) | SATA3 | SATA | (empty) | (empty) | (empty) | 0.64 | 3.5-inch SATA | (empty) | (empty) | 3.5 inch |
| 86850217 | Corsair | SSD 960GB Corsair Force MP510 NVMe | SSD 960GB Corsair Force MP510 NVMe | 2316.00 | SEK | https://www.nordwaystore.se/ssd-960gb-… | Force MP510 | (empty) | SSD | (empty) | (empty) | 960.0 | (empty) | (empty) | (empty) | NVMe | (empty) | (empty) | (empty) | (empty) | (empty) | (empty) | (empty) | (empty) |
| id | mfr | name | desc | amt | cur | link | mdl | pn | cat | chip | vram | cap_gb | rd_mbs | wr_mbs | bus | iface | w_mm | l_mm | h_mm | wt_g | conn | mem | clr | ff |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 66956099 | Gigabyte | Gigabyte Video Card GV-N3080GAMING OC-… | Gigabyte Video Card GV-N3080GAMING OC-… | 791.99 | USD | https://www.thekeykey.com/detail/GV-N3… | GeForce RTX 3080 GAMING OC | GV-N3080GAMING OC-10GD | GPU | GeForce RTX 3080 | 10.0 | (empty) | (empty) | (empty) | (empty) | (empty) | (empty) | (empty) | (empty) | (empty) | (empty) | GDDR6X | (empty) | (empty) |
| 5078198 | Western Digital | Western Digital HDD Blue 6TB 3,5\" 256… | Dysk BLUE 6TB 3,5 256MB SATAIII/5400rpm | 0 | (empty) | https://www.alsen.pl/podzespoly-komput… | Blue | (empty) | HDD | (empty) | (empty) | 6000.0 | (empty) | (empty) | SATAIII | SATA | (empty) | (empty) | (empty) | (empty) | 3,5" SATA | (empty) | (empty) | 3,5" |
| 77571226 | Corsair | Corsair MP510 M.2-2280 960GB | Huge 960GB storage capacity and super… | (empty) | (empty) | https://www.cclonline.com/product/2874… | MP510 | (empty) | SSD | (empty) | (empty) | 960.0 | 3480.0 | 3000.0 | (empty) | (empty) | (empty) | (empty) | (empty) | (empty) | M.2 | (empty) | (empty) | M.2-2280 |
Scientific Papers. This task requires the integration of data about computer-science papers from DBLP, Crossref, and OpenAlex. The target schema has 11 attributes.
source_ids list
to point back to the contributing source records.
| id | work_type | title_text | contributor_names | issued_year | container_title | publisher_name | abstract_text | volume_id | issue_id | page_first | page_last | reference_total | cited_total |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| crossref-00000 | inproceedings | A Simulation-driven Approach in Risk-… | ['Ilaria Angela Amantea', ' Antonio D… | 2018 | (empty) | SCITEPRESS - Science and Technology P… | (empty) | (empty) | (empty) | 98 | 105 | 0 | 18 |
| crossref-00001 | article | Group Recommendation Systems Based on… | ['Guang Fang', ' Lei Su', ' Di Jiang'… | 2018 | Wireless Communications and Mobile Co… | Wiley | With the development of social networ… | 2018 | 1 | None | None | 35 | 14 |
| crossref-00002 | article | Relation of Country‐of‐Origin Effect,… | ['Juan Manuel Berbel-Pineda', ' Beatr… | 2018 | Complexity | Wiley | To obtain information about foreign m… | 2018 | 1 | None | None | 60 | 10 |
| id | entry_type | publication_title | author_list | pub_year | venue_name | volume_no | issue_no | page_start | page_finish |
|---|---|---|---|---|---|---|---|---|---|
| dblp-00000 | inproceedings | Thread Weaving: Static Resource Sched… | ['Hsuan Hsiao', 'Jason Helge Anderson… | 2019 | (empty) | (empty) | (empty) | (empty) | (empty) |
| dblp-00001 | inproceedings | LEAD: learning-enabled energy-aware d… | ['Mark Clark', 'Avinash Kodi', 'Razva… | 2018 | (empty) | (empty) | (empty) | 1 | 6 |
| dblp-00002 | inproceedings | PlanarONoC: concurrent placement and … | ['Yu-Kai Chuang', 'Kuan-Jung Chen', '… | 2018 | (empty) | (empty) | (empty) | 1 | 6 |
| id | work_kind | display_title | authors_list | year_published | source_name | topic_terms | volume_tag | issue_tag | start_page | end_page | refs_count | citations_count |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| open_alex-00000 | article | STRING v11: protein–protein associati… | ['Damian Szklarczyk', 'Annika L Gable… | 2018 | Nucleic Acids Research | KEGG, Interaction network | 47 | D1 | D607 | D613 | 64 | 16038 |
| open_alex-00001 | article | Minimap2: pairwise alignment for nucl… | ['Heng Li'] | 2018 | Bioinformatics | Multiple sequence alignment | 34 | 18 | 3094 | 3100 | 42 | 12292 |
| open_alex-00002 | article | SWISS-MODEL: homology modelling of pr… | ['Andrew Waterhouse', 'Martino Berton… | 2018 | Nucleic Acids Research | Homology | 46 | W1 | W296 | W303 | 73 | 11711 |
Dataset statistics
| Task | Dataset | # | Records | Target attributes |
|---|---|---|---|---|
| Games | DBpedia, Metacritic, Sales | 3 | 74,951 | 10 |
| Companies | Forbes, DBpedia, FullContact | 3 | 14,016 | 8 |
| Music | Discogs, Last.fm, MusicBrainz | 3 | 37,255 | 8 |
| Products | Four WDC Products feeds | 4 | 3,012 | 24 |
| Scientific Papers | DBLP, Crossref, OpenAlex | 3 | 182,059 | 11 |
Record counts are for the base tasks. Target attributes are counted without the identifier. The task overview in the repository lists the sizes of every source and difficulty level.
MaDI-Bench provides the following artifacts for each of the base tasks:
The easy, medium, and hard variants come with their own source tables, gold schema mapping, and entity matching and normalization sets. They keep the fusion entities and gold values of their base task.
The sources describe the same kind of entity but rarely agree on column names, value formats, or even the facts themselves, which is what makes the merge hard.
| company | Volkswagen Group |
| region | (empty) |
| business_segment | Auto & Truck Manufacturers |
| asset_value | 446900000000 |
| sales_figure | 261500000000 |
| org_name | Volkswagen Group |
| established | 1937-01-01 |
| nation | Germany |
| headquarters | Wolfsburg |
| sector | Automotive industry |
| total_assets_val | 323400000000 |
| Attribute_2 | Volkswagen Group |
| Attribute_3 | Germany |
| Attribute_4 | Wolfsburg |
| Attribute_5 | (empty) |
| Attribute_6 | 1937-01-01 |
The same company in three sources. Forbes leaves the country blank, FullContact hides fields behind names like Attribute_2, the asset figures disagree, and Forbes and DBpedia describe the industry with different vocabularies. We follow this company through each step below.
A system under test (SUT) needs to handle the following steps of the overall integration task. MaDI-Bench provides ground truth for each step as well as for the output of the overall integration (fused dataset). Thus, a SUT can be evaluated one step at a time or in an end-to-end fashion.
Sources rarely share column names, so the source columns have to be matched to the attributes of the target schema before values can be combined. Source columns without a matching target attribute stay unmapped. Names may be descriptive, abbreviated, or meaningless, and where a name gives nothing away, a matcher has to read the values instead.
| forbes · company | → | name |
| dbpedia · established | → | founded |
| dbpedia · headquarters | → | city |
| fullcontact · Attribute_2 from values only | → | name |
| fullcontact · Attribute_6 from values only | → | founded |
Matched columns still store values in different formats and vocabularies, so they are rewritten into the forms the target schema requires. The schema sets a constraint for every attribute: a data type, and where it applies a numeric range, a string pattern, or a date format. A founding date, for instance, must be an ISO YYYY-MM-DD inside an allowed range, and assets must be a non-negative integer in US dollars below an upper bound. For categorical attributes, the task provides taxonomies that specify which values are allowed and how detailed the normalized values should be. The taxonomies ship with the task: some follow a standard, for example CLDR for countries and GICS for industries; others cover domain vocabularies such as the platforms, genres, and ESRB ratings of the Games task. Normalization is scored as accuracy on the normalization test set: each test cell pairs a source value with its correctly normalized value. The test cells include values that are already correct, so a normalizer that changes correct values loses accuracy.
| Field | As found in sources | Normalized to target |
|---|---|---|
| industry | "Auto & Truck Manufacturers", "Automotive industry" | Automobiles (GICS) |
| founded | "January 01, 1937", "01.01.1937" | 1937-01-01 |
| assets | "411 818 350 000,00", "323.40" (bn) | 411818350000, 323400000000 |
| country | "中华人民共和国", "USA" | China, United States (CLDR) |
These messy forms are real source values, most of them from the easy, medium, and hard variants; the base task is cleaner.
The SUT must identify records referring to the same real-world entity across sources. Since comparing all record pairs requires scoring the full Cartesian product and is therefore quadratic in the input size, this quickly becomes computationally infeasible. Blocking addresses this issue by reducing the search space to a smaller set of candidate pairs, after which matching classifies each candidate as either a match or a non-match. The MaDI-Bench entity matching test sets are designed to contain many hard-to-decide corner-case record pairs.
After matching, records referring to the same real-world entities form clusters. Data fusion consolidates these clusters into a single record per cluster. When records provide conflicting values, the SUT must resolve the conflict and decide which value to retain, for example with a conflict resolution heuristic or a learned truth-discovery model. The values in the MaDI-Bench data fusion test sets are verified by humans who checked them against data from relevant websites.
| name | Volkswagen GroupForbesDBpediaFullContact |
| country | GermanyDBpediaFullContact |
| founded | 1937-01-01DBpediaFullContact |
| assets | 447910000000verified |
| revenue | 261910000000verified |
Forbes reports $446.9B in assets, DBpedia reports $323.4B. Neither is taken at face value: the gold value, $447.91B, is the figure annotators confirmed by hand.
Beyond the per-step evaluation, MaDI-Bench assesses the final output table along three quality dimensions: coverage (did the right entities and values make it into the output table?), consistency (does the table fit the target schema?), and correctness (are the fused values correct?). The metrics use three types of reference data: reference-free (no ground truth, structural and schema checks of the output, some of them relative to the input tables), silver (comparison with the clusters of the human-engineered pipeline P1 that combine at least two source records), and ground truth (comparison with the human-verified fusion test sets). The silver reference covers a much larger part of the output table, while the ground truth covers only the test entities but gives the stronger guarantee of correctness.
We validate MaDI-Bench using four pipelines that span the design space from human-engineered to fully LLM-driven. The human-engineered pipelines (P1) and the LLM workflow (P3) build on the PyDI integration framework. The best-of-breed pipeline (P2) chooses, for each step, between specialized methods from the literature and methods of PyDI. The coding agent Claude Code (P4) writes and runs its own integration code without PyDI.
The human-engineered pipelines are task workflows that were coded by master's and PhD students using the PyDI framework. The students improved their workflows over multiple iterations using the MaDI-Bench validation sets. Every workflow involves the same sequence of steps: PyDI's LLM schema matcher with GPT-5 proposes attribute correspondences between the input tables, a human data engineer inspects and hand-corrects the mapping, and the input tables are translated into the target schema. A normalization step then parses dates and numbers, converts units, and applies the taxonomy mappings. Blocking uses embedding or task-specific blocking keys tuned to reach at least 97% pair completeness. Entity matching uses rule-based or trained tree-based matchers, followed by a global one-to-one matching step where the engineers found it necessary. Data fusion applies per-attribute conflict resolution heuristics such as voting, source trust, longest or shortest string, numeric aggregation, and set union. The heuristics were selected by the students from the set of fusion heuristics offered by PyDI.
The human-engineered pipelines set a practical reference point on how data engineers would approach the MaDI-Bench integration tasks. The pipelines are likely not the optimum. In order to compare the performance of SUTs to human data engineering, we use the output of the human-engineered pipelines as the silver standard.
Code and outputs: PyDI framework · workflow notebook · silver outputs
The best-of-breed pipeline chains methods from the literature and from PyDI into an integration pipeline. For each step of the integration process, the pipeline runs a committee of competing methods and scores their results on the validation sets. The winning method is selected for the best-of-breed pipeline and the winner's output is passed to the next step of the process. Below, we list the methods that are tested for the different steps of each integration task:
Schema matching: COMA, Magneto, a Sentence-BERT embedding matcher, and PyDI's label-, instance-, duplicate- and LLM-based matchers (GPT-5.4-mini). Normalization: the source values left unchanged, or a rule-based normalizer that applies a type-specific rule per attribute (text cleaning, date parsing, locale-aware number parsing, country-code or taxonomy lookup). Blocking: standard, token and sorted-neighborhood blocking, BM25, Sentence-BERT, and SC-Block, keeping for each pair of sources the blocker with the highest reduction ratio among those that reach 97% pair completeness on the validation set. Blockers with more than five million candidate pairs are excluded. If no blocker reaches 97%, the one with the highest pair completeness is kept. Entity matching: Ditto and Magellan. Fusion: PyDI heuristics with a per-attribute selector that keeps the heuristic with the best validation score for each attribute, plus the TruthFinder, LTM, AccuSim, CASEFusion, and FusionQuery truth-discovery models.
Code: pipelines · Outputs: results/best of breeds · per-stage method selections for one run
The LLM workflow uses an LLM to configure an end-to-end data integration pipeline that employs scalable, traditional integration methods for each step. It uses the same PyDI methods as the human-engineered pipelines, but an LLM, not a human, configures them. GPT-5.5 performs schema matching, taxonomy mapping, and the fusion configuration, and the values are normalized by mapping them to the predefined taxonomies, with a column profiler selecting a normalization function for the remaining attributes. An embedding blocker then generates candidate pairs. Using a sample of those pairs, the workflow generates its own machine-labeled training and validation sets, with GPT-5.2 as the labeler. These sets are independent of the sets that the benchmark provides. The workflow uses them to train and validate rule-based matchers and similarity feature-based models such as random forests and XGBoost. For fusion, the LLM assigns each attribute a conflict-resolution heuristic from PyDI. The workflow builds several such configurations, some of them tuned on the fusion validation set of the benchmark, and keeps the one with the highest accuracy on that set. Apart from schema matching and taxonomy mapping, the LLM configures the methods and generates the training data but does not integrate the records itself, which keeps costs low and lets the workflow scale to large tasks.
Code: baselines/llm-pipeline · Outputs: results/llm pipeline · a sample run
P4 uses the coding agent Claude Code 2.1.280 with Claude Opus 5.5 to write and execute its own integration pipeline for each task. The agent runs unsupervised in an isolated workspace. It receives the source tables with their metadata files, the target schema, the taxonomies, and a short description of what counts as an entity in the domain. It receives no labeled data, PyDI and its documentation are not available, and web search and web fetching are disabled. Instead, the agent receives seven skills written by the authors, for schema matching, normalization, blocking, entity matching, clustering, fusion, and pipeline diagnosis, which describe possible methods, typical errors, and checks for each step. An OpenAI embeddings endpoint is available; the agent used it only on the three Companies variants. The agent inspects the sources, writes code for every step, runs it, checks diagnostics such as missing values, schema conformity, and cluster sizes, and revises the code in the same run. Each run is limited to 18 hours of wall-clock time and 100 US dollars of LLM spend.
Skills and prompts: baselines/claude-code · Outputs and code of the 20 runs: results/claude code
Each pipeline is run once per task. The tables report every step on the five base tasks, with the human-engineered pipeline (Human, P1), the best-of-breed pipeline (BoB, P2), the LLM workflow (LLM, P3), and the Claude Code pipeline (CC, P4). Where the pipelines differ, the best score per task is in green. The values are those of the paper. The outputs and scores of every run are in the results/ folder of the repository, and the cells of each paper table with their sources in results/paper_tables/.
All four pipelines reach at least 92.68 F1 on every task, and 15 of the 20 pipeline scores are 100. The label-based and instance-based matchers of PyDI are shown for reference. They fail in complementary places. Label-based matching falls to 26.1 on Companies, where FullContact uses anonymized column names such as Attribute_2. Instance-based matching falls to 7.7 on Products, possibly because several numeric attributes, such as read and write speeds, draw values from similar ranges. Neither reference matcher reaches more than 74 F1 on any task. Values are F1 (%).
| Task | Human (P1) | BoB (P2) | LLM (P3) | CC (P4) | Label-based | Instance-based |
|---|---|---|---|---|---|---|
| Games | 100.00 | 100.00 | 100.00 | 93.88 | 30.00 | 60.50 |
| Companies | 95.00 | 97.67 | 92.68 | 100.00 | 26.10 | 53.80 |
| Music | 100.00 | 100.00 | 100.00 | 100.00 | 28.60 | 64.50 |
| Products | 100.00 | 100.00 | 100.00 | 100.00 | 61.60 | 7.70 |
| Scientific Papers | 95.38 | 100.00 | 100.00 | 100.00 | 73.80 | 33.30 |
Normalization accuracy is measured on the normalization test sets. It covers cells that need a transformation and cells whose value is already correct, so a normalizer that changes correct values loses accuracy. Averaged over the tasks, normalization is the lowest step score of every pipeline, between 28.45 (P2) and 60.12 (P4), and every pipeline scores below 40 on at least one task. Games is the hardest task for P1, P2, and P4: 171 of its 182 test cells need a transformation, mostly a mapping of genres and platform aliases onto the target taxonomies. Values are accuracy (%).
| Task | Human (P1) | BoB (P2) | LLM (P3) | CC (P4) |
|---|---|---|---|---|
| Games | 6.59 | 6.04 | 37.91 | 8.79 |
| Companies | 34.78 | 29.35 | 84.78 | 97.83 |
| Music | 63.75 | 55.00 | 75.00 | 56.25 |
| Products | 64.00 | 22.00 | 30.00 | 73.20 |
| Scientific Papers | 52.02 | 29.84 | 29.84 | 64.52 |
Pair completeness lies between 93.33 and 100 for all pipelines and tasks. Reduction ratios exceed 97% on every task except Products, where P1 removes 71.89% of the possible record pairs. On Scientific Papers, the largest task, every pipeline removes at least 99.97%. Entity matching F1 ranges from 64.98 to 99.83. Games and Products separate the pipelines most. On Games, identical titles recur across platforms, and the same game on another platform is a different entity. Values are percentages, averaged over the source pairs. The best entity matching F1 per task is in green.
| Task | Pair completeness | Reduction ratio | Entity matching F1 | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| P1 | P2 | P3 | P4 | P1 | P2 | P3 | P4 | P1 | P2 | P3 | P4 | |
| Games | 99.53 | 98.58 | 96.85 | 97.21 | 99.92 | 99.88 | 99.96 | 99.99 | 89.47 | 67.30 | 64.98 | 85.40 |
| Companies | 97.88 | 100.00 | 100.00 | 99.12 | 99.30 | 97.16 | 99.40 | 99.82 | 86.84 | 89.29 | 92.63 | 91.20 |
| Music | 96.55 | 99.85 | 99.85 | 100.00 | 99.67 | 99.64 | 99.85 | 99.62 | 95.37 | 94.84 | 98.10 | 95.48 |
| Products | 100.00 | 100.00 | 93.33 | 100.00 | 71.89 | 96.50 | 97.54 | 97.85 | 67.94 | 85.48 | 66.00 | 88.48 |
| Scientific Papers | 97.90 | 99.55 | 97.69 | 99.88 | 99.98 | 99.97 | 99.97 | 99.99 | 98.31 | 99.70 | 96.83 | 99.83 |
Fusion accuracy is the share of the verified cells of the fusion test set for which the fused output holds a correct value. A fused value can be wrong because matching kept the record with the correct value out of the cluster, because matching added records of other entities, or because conflict resolution chose a wrong value. P4 reaches the highest accuracy on Games, Companies, Music, and Products, and P1 on Scientific Papers. The best score per task still leaves 8.89 (Scientific Papers) to 22.19 (Games) points open. Values are accuracy (%).
| Task | Human (P1) | BoB (P2) | LLM (P3) | CC (P4) |
|---|---|---|---|---|
| Games | 53.29 | 65.70 | 71.37 | 77.81 |
| Companies | 60.47 | 66.39 | 75.74 | 81.97 |
| Music | 45.02 | 81.40 | 75.21 | 86.64 |
| Products | 71.12 | 79.31 | 61.48 | 82.78 |
| Scientific Papers | 91.11 | 90.24 | 78.42 | 85.57 |
MaDI-Bench also scores the final fused table as a whole, along three dimensions: coverage (are the right entities and values present), consistency (does the output fit the target schema), and correctness (are the merged values right). The reference-free metrics need no reference. The silver reference consists of the clusters of the P1 output that combine at least two source records, so P1 itself is not listed. The ground-truth reference consists of the human-verified fusion test sets. The table shows the means over the five tasks. For metrics with a preferred direction, the best pipeline is in green.
| Metric (mean over the five tasks) | BoB (P2) | LLM (P3) | CC (P4) |
|---|---|---|---|
| Reference-free | |||
| Record gain coverage | +0.28 | +0.35 | +0.19 |
| Output density coverage, higher is better | 0.70 | 0.70 | 0.71 |
| Fusion ratio coverage | 0.39 | 0.35 | 0.46 |
| Schema validity consistency, higher is better | 0.95 | 0.98 | 1.00 |
| Silver reference | |||
| Entity recovery coverage, higher is better | 0.56 | 0.47 | 0.61 |
| BCubed F1 clustering correctness, higher is better | 0.80 | 0.74 | 0.82 |
| Fusion accuracy value correctness, higher is better | 0.71 | 0.62 | 0.69 |
| Fully-correct rate every attribute right at once, higher is better | 0.22 | 0.05 | 0.14 |
| Ground-truth reference | |||
| Entity recovery coverage, higher is better | 0.77 | 0.58 | 0.87 |
| Value drift coverage, lower is better | 0.46 | 0.43 | 0.40 |
| BCubed F1 clustering correctness, higher is better | 0.92 | 0.83 | 0.96 |
| Fusion accuracy value correctness, higher is better | 0.77 | 0.72 | 0.83 |
| Fully-correct rate every attribute right at once, higher is better | 0.17 | 0.10 | 0.25 |
The output tables fit the target schema well, with a mean schema validity of 0.95 to 1.00. Their ground-truth fully-correct rates, which need every evaluated attribute of an entity right at once, stay between 0.10 and 0.25. The two references also rank P2 and P4 differently on fusion accuracy: P2 is closer to the silver reference, P4 to the ground truth. The per-task values follow below.
| Metric | Games | Companies | Music | Products | Scientific Papers | Mean | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| P2 | P3 | P4 | P2 | P3 | P4 | P2 | P3 | P4 | P2 | P3 | P4 | P2 | P3 | P4 | P2 | P3 | P4 | |
| Reference-free | ||||||||||||||||||
| Record Gain | +0.40 | +0.32 | +0.09 | +0.19 | +0.28 | +0.24 | +0.38 | +0.37 | +0.31 | +0.17 | +0.39 | +0.08 | +0.24 | +0.37 | +0.25 | +0.28 | +0.35 | +0.19 |
| Density Gain ↑ | −0.25 | −0.26 | −0.24 | −0.05 | −0.02 | −0.02 | −0.18 | −0.14 | −0.17 | +0.06 | +0.04 | +0.06 | −0.03 | −0.05 | −0.03 | −0.09 | −0.09 | −0.08 |
| Output Density ↑ | 0.66 | 0.65 | 0.67 | 0.57 | 0.60 | 0.61 | 0.81 | 0.84 | 0.81 | 0.57 | 0.55 | 0.57 | 0.88 | 0.86 | 0.88 | 0.70 | 0.70 | 0.71 |
| Fusion Ratio | 0.11 | 0.17 | 0.31 | 0.13 | 0.08 | 0.11 | 0.14 | 0.15 | 0.20 | 0.84 | 0.69 | 0.94 | 0.74 | 0.66 | 0.73 | 0.39 | 0.35 | 0.46 |
| Schema validity ↑ | 1.00 | 1.00 | 1.00 | 0.94 | 0.99 | 1.00 | 0.84 | 0.97 | 1.00 | 1.00 | 0.95 | 1.00 | 0.98 | 0.98 | 0.98 | 0.95 | 0.98 | 1.00 |
| Silver reference | ||||||||||||||||||
| Entity recovery ↑ | 0.50 | 0.41 | 0.78 | 0.37 | 0.33 | 0.31 | 0.76 | 0.77 | 0.78 | 0.22 | 0.05 | 0.26 | 0.93 | 0.82 | 0.92 | 0.56 | 0.47 | 0.61 |
| Value drift ↓ | 0.20 | 0.26 | 0.22 | 0.35 | 0.41 | 0.41 | 0.39 | 0.47 | 0.47 | 0.07 | 0.13 | 0.09 | 0.01 | 0.00 | 0.01 | 0.20 | 0.25 | 0.24 |
| Value-density Δ | −0.23 | −0.23 | −0.22 | −0.30 | −0.27 | −0.26 | −0.11 | −0.07 | −0.10 | −0.02 | −0.04 | −0.02 | −0.01 | −0.04 | −0.02 | −0.13 | −0.13 | −0.12 |
| Schema validity Δ ↑ | +0.00 | +0.00 | +0.00 | +0.08 | +0.13 | +0.13 | −0.10 | +0.03 | +0.06 | +0.00 | −0.05 | +0.00 | −0.00 | −0.00 | +0.00 | −0.01 | +0.02 | +0.04 |
| BCubed precision ↑ | 1.00 | 0.94 | 1.00 | 0.95 | 0.99 | 0.99 | 1.00 | 1.00 | 1.00 | 0.68 | 0.51 | 0.68 | 0.99 | 0.99 | 0.99 | 0.92 | 0.89 | 0.93 |
| BCubed recall ↑ | 0.63 | 0.57 | 0.81 | 0.66 | 0.63 | 0.62 | 0.69 | 0.70 | 0.71 | 0.60 | 0.43 | 0.64 | 0.97 | 0.91 | 0.97 | 0.71 | 0.65 | 0.75 |
| BCubed F1 ↑ | 0.77 | 0.71 | 0.90 | 0.77 | 0.77 | 0.76 | 0.82 | 0.82 | 0.83 | 0.64 | 0.47 | 0.66 | 0.98 | 0.95 | 0.98 | 0.80 | 0.74 | 0.82 |
| Fusion acc. ↑ | 0.79 | 0.68 | 0.90 | 0.55 | 0.51 | 0.48 | 0.71 | 0.71 | 0.62 | 0.58 | 0.45 | 0.57 | 0.91 | 0.74 | 0.85 | 0.71 | 0.62 | 0.69 |
| Fully-correct rate ↑ | 0.29 | 0.08 | 0.46 | 0.11 | 0.02 | 0.03 | 0.13 | 0.13 | 0.05 | 0.03 | 0.00 | 0.02 | 0.55 | 0.01 | 0.13 | 0.22 | 0.05 | 0.14 |
| Ground-truth reference | ||||||||||||||||||
| Entity recovery ↑ | 0.46 | 0.31 | 0.85 | 0.91 | 0.77 | 0.81 | 0.87 | 0.91 | 0.96 | 0.59 | 0.08 | 0.76 | 1.00 | 0.83 | 0.99 | 0.77 | 0.58 | 0.87 |
| Value drift ↓ | 0.40 | 0.34 | 0.41 | 0.63 | 0.54 | 0.45 | 0.61 | 0.55 | 0.51 | 0.28 | 0.33 | 0.25 | 0.38 | 0.37 | 0.37 | 0.46 | 0.43 | 0.40 |
| Value-density Δ | −0.19 | −0.20 | −0.18 | −0.18 | −0.15 | −0.15 | −0.10 | −0.07 | −0.10 | +0.04 | +0.02 | +0.05 | −0.03 | +0.03 | +0.04 | −0.09 | −0.08 | −0.07 |
| Schema validity Δ ↑ | +0.13 | +0.13 | +0.13 | −0.03 | +0.02 | +0.03 | −0.16 | −0.03 | +0.00 | −0.00 | −0.05 | −0.00 | −0.02 | −0.02 | −0.02 | −0.02 | +0.01 | +0.03 |
| BCubed precision ↑ | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 0.98 | 0.90 | 0.99 | 1.00 | 1.00 | 1.00 | 1.00 | 0.98 | 1.00 |
| BCubed recall ↑ | 0.67 | 0.56 | 0.89 | 0.95 | 0.88 | 0.90 | 0.93 | 0.96 | 0.98 | 0.81 | 0.44 | 0.90 | 1.00 | 0.92 | 1.00 | 0.87 | 0.75 | 0.93 |
| BCubed F1 ↑ | 0.80 | 0.71 | 0.94 | 0.97 | 0.93 | 0.95 | 0.97 | 0.98 | 0.99 | 0.89 | 0.59 | 0.94 | 1.00 | 0.96 | 1.00 | 0.92 | 0.83 | 0.96 |
| Fusion acc. ↑ | 0.66 | 0.71 | 0.78 | 0.66 | 0.76 | 0.82 | 0.81 | 0.75 | 0.87 | 0.79 | 0.61 | 0.83 | 0.90 | 0.78 | 0.86 | 0.77 | 0.72 | 0.83 |
| Fully-correct rate ↑ | 0.00 | 0.10 | 0.08 | 0.02 | 0.21 | 0.32 | 0.21 | 0.04 | 0.36 | 0.26 | 0.10 | 0.31 | 0.36 | 0.07 | 0.16 | 0.17 | 0.10 | 0.25 |
The runtimes measure the execution of the final pipeline in wall-clock seconds. Model training is part of the runtime, while the configuration search and the human design effort are not. The mean runtimes differ by a factor of 15, from 358 seconds for P4 to 5,205 seconds for P2. Scientific Papers, the largest task, is the most expensive task for every pipeline. The last two columns give the estimated API cost of the two LLM-driven pipelines in US dollars. The fastest pipeline per task is in green.
| Task | Human (P1) | BoB (P2) | LLM (P3) | CC (P4) | LLM (P3) cost (USD) | CC (P4) cost (USD) |
|---|---|---|---|---|---|---|
| Games | 789 | 2612 | 196 | 374 | 3.17 | 3.06 |
| Companies | 269 | 455 | 203 | 180 | 0.87 | 4.22 |
| Music | 728 | 7231 | 211 | 290 | 3.25 | 3.58 |
| Products | 441 | 1029 | 363 | 22 | 5.79 | 5.95 |
| Scientific Papers | 1944 | 14699 | 1374 | 922 | 6.70 | 2.47 |
| Mean | 834 | 5205 | 469 | 358 | 3.96 | 3.86 |
To keep the benchmark hard as systems improve, each base task also ships in easy, medium, and hard versions. The knobs keep the identity of every retained record and its true matches. Two knobs add near-duplicate entities or remove records from some sources. Eight difficulty knobs perturb the data, each set to its own target for easy, medium, and hard. A harder level turns up the kinds of heterogeneity that real integration runs into, while the easy level supports the evaluation of simpler and cheaper methods. The easy level makes schema and entity matching easier, but not fusion.
Here is the DBpedia record for the Taisei Corporation, base against hard. Schema naming divergence (Knob 7) renames every column to a cryptic code: org_name→nm, established→ey, nation→cn, headquarters→hq, sector→sg, keypeople_name→kpn, total_assets_val→ta, annual_income→ai. On top of that, the values change:
| Field | Base value | Hard value | Changed by |
|---|---|---|---|
| name | Taisei Corporation | Taisei Corporation | unchanged |
| founded | 1873-01-01 | 01.01.1873 | Knob 5 · format |
| country | Japan | Nippon | Knob 1 · surface |
| city | TokyoShinjuku, Tokyo | TokyoShinjuku, Tokyo | unchanged |
| industry | Construction | Constructi on | Knob 6 · value noise |
| key people | Okura Kihachiro | (dropped) | Knob 3 · attribute drop |
| assets | 3,650,187,000 | 3650.19 | Knob 5 · unit scale |
| revenue | 213,195,000 | 167.18 | Knob 5 · unit + currency |
One base record touched by five knobs: a renamed schema, a reformatted date, a reworded country, a corrupted industry string, a dropped person, and two rescaled financial figures. The easy level moves the same dials the other way, with descriptive column names, gentle date and number formats, and fewer dropped cells.
Each knob targets one or more pipeline stages and is set to an easy, medium, or hard target. MaDI-Bench uses eight:
Surface augmentation
Rewrites attribute values into other surface forms using abbreviations, token reorderings, and dropped tokens. This erodes the surface overlap that blocking and matching depend on, and turns clean values into plausible-looking disagreements for fusion.
exampleSan Francisco → Francisco San
Entity niche density
Adds similar-but-distinct entities within the same domain niche, such as many products from one brand. Blocks fill up with non-matching pairs, and more candidate pairs sit close to the match / non-match boundary.
examplegenerates a near-duplicate company and inserts it into a crowded niche
Attribute drop
Blanks a share of cells per source. Missing blocking keys make records unreachable, missing attributes weaken the evidence for matching, and sparse coverage leaves fusion less to cross-check.
examplerevenue 358,500,000 → (dropped)
Coverage skew
Varies how many sources describe each entity. This changes cluster sizes and thins the evidence available to resolve conflicts for entities that only one or two sources cover.
exampleInter RAO: its DBpedia row is removed, leaving fewer sources
Format & unit diversity
Rewrites dates, numbers, and quantities into more formats, units, and scales, for example ISO against dotted dates, or raw figures against millions. More admissible forms per field make value standardization harder.
example65,170,000,000 → 65170 (millions)
Value noise
Corrupts a share of values with typos, encoding artifacts, and truncation. The damaged values lower string-similarity scores during matching and show up as spurious disagreements during fusion.
example2005-01-01 → 2o0t-01-o1
Schema naming divergence
Renames source columns along a scale from fully descriptive, through abbreviated, to opaque codes. At the hard end the column name carries no signal, so a matcher has to rely on the values alone.
exampletotal_assets_val → ta
Source reliability
Reshuffles which source holds the correct value per attribute, so the most reliable source is right for only a share of entities. No fixed source-trust rule stays optimal.
exampleAccor: the verified name is reassigned to a different source
Full specifications for every knob are in the repository. The knob cards there use an older numbering from 01 to 10: knobs 1 to 6 above are cards 01 to 06, knob 7 is card 08, and knob 8 is card 10. Cards 07 (value ambiguity) and 09 (schema completeness and distractors) are specified but not used in the released variants. The variant generator and the committees that measure the difficulty of the variants are in usecases_synthetic.
The difficulty of each variant is measured with a committee of methods per step. The committee mean is the average over all members, the ceiling the score of the strongest member. From medium to hard, the committee mean declines for schema matching, entity matching, and fusion in every domain. The signal is clearest for fusion, whose mean falls by 10.9 to 24.0 points and whose ceiling by 10.6 to 28.1 points from base to hard. The easy level lowers the difficulty of schema and entity matching, while its fusion mean lies below the base score in four domains. Rows are in thousands, density and scores in %.
| Domain | Level | Sources | Committee mean | Best-member ceiling | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Rows (k) | Density | SM | Norm. | EM | Fusion | SM | Norm. | EM | Fusion | ||
| Companies | Base | 14.0 | 66 | 68.6 | 35.9 | 88.4 | 56.9 | 100.0 | 43.5 | 89.5 | 62.4 |
| Easy | 14.0 | 63 | 88.5 | 20.3 | 89.9 | 41.1 | 100.0 | 22.2 | 93.4 | 44.6 | |
| Medium | 14.3 | 59 | 79.5 | 27.2 | 87.2 | 49.3 | 100.0 | 31.2 | 88.2 | 53.3 | |
| Hard | 14.2 | 58 | 66.4 | 29.9 | 86.8 | 37.5 | 100.0 | 34.6 | 88.1 | 38.6 | |
| Games | Base | 75.0 | 94 | 69.6 | 8.1 | 60.9 | 68.1 | 100.0 | 12.1 | 71.6 | 70.7 |
| Easy | 78.5 | 84 | 88.1 | 7.0 | 63.3 | 66.8 | 100.0 | 9.8 | 71.8 | 68.9 | |
| Medium | 75.3 | 83 | 78.5 | 19.9 | 64.8 | 63.4 | 100.0 | 24.4 | 75.5 | 66.2 | |
| Hard | 71.1 | 83 | 69.3 | 22.4 | 55.3 | 57.2 | 100.0 | 25.0 | 71.5 | 60.1 | |
| Music | Base | 37.3 | 90 | 67.0 | 48.8 | 82.4 | 74.5 | 100.0 | 61.3 | 95.3 | 82.0 |
| Easy | 39.7 | 86 | 91.8 | 23.2 | 88.3 | 75.5 | 100.0 | 29.3 | 95.1 | 80.4 | |
| Medium | 37.3 | 82 | 85.4 | 46.8 | 82.7 | 55.8 | 100.0 | 61.6 | 94.8 | 62.0 | |
| Hard | 35.2 | 80 | 77.3 | 40.5 | 79.2 | 50.5 | 100.0 | 53.1 | 92.9 | 53.9 | |
| Products | Base | 3.0 | 53 | 71.7 | 45.7 | 89.7 | 80.4 | 100.0 | 85.2 | 95.5 | 82.8 |
| Easy | 3.1 | 47 | 79.1 | 45.1 | 92.6 | 78.6 | 100.0 | 86.6 | 96.4 | 81.8 | |
| Medium | 3.1 | 42 | 72.1 | 47.0 | 88.9 | 71.2 | 100.0 | 90.7 | 96.6 | 76.6 | |
| Hard | 2.4 | 45 | 65.7 | 46.6 | 85.8 | 60.9 | 98.0 | 91.3 | 97.4 | 65.3 | |
| Scientific Papers | Base | 182.1 | 82 | 75.0 | 35.6 | 96.6 | 81.9 | 98.5 | 66.9 | 100.0 | 92.3 |
| Easy | 182.2 | 64 | 82.3 | 35.0 | 96.5 | 79.4 | 100.0 | 64.8 | 99.9 | 89.5 | |
| Medium | 182.1 | 60 | 74.9 | 35.7 | 95.3 | 77.3 | 100.0 | 68.0 | 99.9 | 86.1 | |
| Hard | 136.9 | 57 | 62.9 | 36.8 | 92.2 | 66.6 | 98.6 | 70.3 | 99.4 | 70.6 | |
The validation pipelines P2, P3, and P4 were also run on every variant. Fusion shows the clearest difficulty gradient. For every pipeline and domain, fusion accuracy on the hard variant lies below the base task, with losses of 16.7 to 30.0 points for P2, 13.1 to 29.7 for P3, and 2.0 to 14.6 for P4. On the hard variants, no pipeline exceeds 75.8 fusion accuracy in any domain. Schema matching stays at or above 91.3 F1 on every level. Values are percentages.
| Domain | Level | BoB (P2) | LLM (P3) | CC (P4) | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| SM | Norm. | EM | Fusion | SM | Norm. | EM | Fusion | SM | Norm. | EM | Fusion | ||
| Companies | Base | 97.7 | 29.3 | 89.3 | 66.4 | 92.7 | 84.8 | 92.6 | 75.7 | 100.0 | 97.8 | 91.2 | 82.0 |
| Easy | 100.0 | 22.2 | 93.6 | 49.2 | 100.0 | 57.6 | 90.0 | 52.6 | 100.0 | 73.7 | 96.0 | 81.5 | |
| Medium | 100.0 | 29.9 | 88.9 | 58.5 | 100.0 | 65.0 | 77.4 | 62.8 | 100.0 | 86.6 | 90.2 | 79.8 | |
| Hard | 91.3 | 24.4 | 94.5 | 40.6 | 100.0 | 64.7 | 88.5 | 51.1 | 100.0 | 59.6 | 95.1 | 71.2 | |
| Games | Base | 100.0 | 6.0 | 67.3 | 65.7 | 100.0 | 37.9 | 65.0 | 71.4 | 93.9 | 8.8 | 85.4 | 77.8 |
| Easy | 100.0 | 9.8 | 66.9 | 62.7 | 100.0 | 43.7 | 78.8 | 72.8 | 100.0 | 44.7 | 94.1 | 81.1 | |
| Medium | 100.0 | 24.4 | 69.7 | 62.4 | 100.0 | 50.0 | 72.2 | 70.0 | 100.0 | 36.7 | 79.3 | 71.6 | |
| Hard | 100.0 | 22.4 | 79.2 | 49.0 | 100.0 | 50.4 | 81.3 | 58.3 | 100.0 | 51.8 | 92.7 | 75.8 | |
| Music | Base | 100.0 | 55.0 | 94.8 | 81.4 | 100.0 | 75.0 | 98.1 | 75.2 | 100.0 | 56.3 | 95.5 | 86.6 |
| Easy | 100.0 | 17.4 | 94.9 | 75.2 | 100.0 | 20.7 | 97.8 | 69.1 | 100.0 | 21.7 | 95.3 | 79.8 | |
| Medium | 100.0 | 56.5 | 93.2 | 61.0 | 100.0 | 19.4 | 90.7 | 64.9 | 100.0 | 67.1 | 96.2 | 81.4 | |
| Hard | 100.0 | 42.0 | 94.3 | 53.9 | 100.0 | 19.1 | 88.2 | 53.2 | 100.0 | 64.8 | 96.5 | 72.0 | |
| Products | Base | 100.0 | 22.0 | 85.5 | 79.3 | 100.0 | 30.0 | 66.0 | 61.5 | 100.0 | 73.2 | 88.5 | 82.8 |
| Easy | 100.0 | 18.8 | 96.9 | 81.6 | 100.0 | 29.8 | 51.2 | 69.1 | 100.0 | 53.1 | 95.9 | 85.9 | |
| Medium | 100.0 | 20.4 | 86.0 | 73.9 | 100.0 | 29.9 | 20.9 | 54.9 | 100.0 | 69.0 | 85.0 | 75.2 | |
| Hard | 98.0 | 18.5 | 79.2 | 54.4 | 100.0 | 30.0 | 50.1 | 37.0 | 100.0 | 53.1 | 91.7 | 74.7 | |
| Scientific Papers | Base | 100.0 | 29.8 | 99.7 | 90.2 | 100.0 | 29.8 | 96.8 | 78.4 | 100.0 | 64.5 | 99.8 | 85.6 |
| Easy | 100.0 | 40.2 | 99.5 | 88.0 | 100.0 | 40.2 | 90.6 | 72.1 | 100.0 | 72.3 | 99.6 | 84.8 | |
| Medium | 98.6 | 39.0 | 99.2 | 85.2 | 100.0 | 39.0 | 87.2 | 69.8 | 100.0 | 75.7 | 99.6 | 81.8 | |
| Hard | 100.0 | 39.1 | 96.7 | 60.2 | 100.0 | 43.2 | 77.7 | 48.7 | 100.0 | 51.0 | 95.1 | 71.6 | |
SM is schema matching F1, Norm. is normalization accuracy, EM is entity matching F1, and Fusion is fusion accuracy. The human-engineered pipeline (P1) is not run on the variants.
This paper introduced the Mannheim Data Integration Benchmark (MaDI-Bench). The benchmark covers all steps of the data integration process, from schema matching and value normalization through blocking and entity matching to data fusion, and evaluates each step as well as the integrated output, taking into account the dependencies between the steps. To prevent a quick saturation of the benchmark as agentic systems progress, we introduced a generic variant-generation method for deriving harder as well as easier variants from the base tasks. We validated MaDI-Bench and the generated variants using human-designed pipelines, an LLM workflow, a best-of-breed pipeline, and a Claude Code integration agent. The validation showed the benchmark's utility for measuring the step-wise as well as end-to-end performance of data integration pipelines. We hope that the benchmark will prove useful for the community and will support the development of fully automatic as well as human-in-the-loop data integration systems.
Tasks are released as plain files (CSV, JSON, JSON Lines, and XML), so any system can read them. The evaluation package of the repository scores value normalization and data fusion; schema matching, blocking, entity matching, and the end-to-end metrics are scored with the evaluators of PyDI at the commit that the repository pins. The repository README describes the submission formats and the commands.
@misc{steiner2026madibench,
title = {MaDI-Bench: An End-to-End Data Integration Benchmark},
author = {Steiner, Aaron and Peeters, Ralph and Bizer, Christian},
year = {2026},
eprint = {2606.30371},
archivePrefix = {arXiv},
primaryClass = {cs.DB},
url = {https://arxiv.org/abs/2606.30371}
}