← Back to the demo
This document was generated by the close itself and is shown exactly as
produced (draft status and all). How it fits in the workflow is explained on the main page.
Data Quality Report: EventCo Monthly Ingestion
Generated by agents/ingestion_agent.py. This agent never reads data/ground_truth.md. Every fix and flag below is derived from generalizable heuristics (fuzzy matching, time-series interpolation, budget-relative outlier detection), the same way it would run against real, unseen monthly data.
- Rows in raw file: 124
- Rows after de-duplication: 120
1. BU/category name typos corrected (fuzzy match against canonical names)
| Month |
Original |
Corrected to |
Match confidence |
| 2024-12 |
"Brand Evnets" |
Brand Events |
0.92 |
| 2025-07 |
"corporate events" |
Corporate Events |
1.00 |
| 2025-02 |
"DIGITAL/INFLUENCE" |
Digital/Influence |
1.00 |
| 2026-04 |
"Digital/Inlfuence" |
Digital/Influence |
0.94 |
| 2024-05 |
"Government and Institutions" |
Government & Institutions |
0.92 |
| 2024-09 |
"Government&Institutions" |
Government & Institutions |
0.96 |
| 2026-06 |
"Government&Institutions" |
Government & Institutions |
0.96 |
2. Duplicate rows removed (same month + BU entered twice)
| Month |
Business Unit |
Identical to kept row? |
| 2025-01 |
Corporate Events |
Yes |
| 2025-06 |
Corporate Events |
Yes |
| 2026-04 |
Digital/Influence |
Yes |
| 2026-03 |
Digital/Influence |
Yes |
3. Missing Opex values imputed
Strategy: linear interpolation across each BU's own monthly time series for that column (interior gaps); for gaps at the very start/end of the series, the nearest available value is carried in, since linear interpolation cannot extrapolate beyond observed data. Opex budgets and actuals move smoothly month to month for a given BU, so a BU's own recent trend is a more defensible estimate than a company-wide average or a hard zero. No rows were dropped.
| Month |
Business Unit |
Column |
Imputed value |
| 2024-01 |
Government & Institutions |
opex_travel_budget |
EUR1,410 |
| 2025-02 |
Brand Events |
opex_travel_actual |
EUR10,036 |
| 2025-01 |
Corporate Events |
opex_travel_actual |
EUR5,815 |
| 2026-02 |
Government & Institutions |
opex_marketing_budget |
EUR470 |
| 2024-04 |
Brand Events |
opex_marketing_actual |
EUR2,075 |
| 2025-11 |
Digital/Influence |
opex_it_budget |
EUR12,440 |
| 2024-07 |
Government & Institutions |
opex_it_actual |
EUR15,361 |
| 2024-04 |
Corporate Events |
opex_facilities_budget |
EUR4,015 |
| 2025-06 |
Corporate Events |
opex_facilities_actual |
EUR4,018 |
4. Currency-formatted text amounts parsed to numeric
| Month |
Business Unit |
Column |
Raw value |
| 2025-10 |
Brand Events |
revenue_budget |
"EUR4,819,709" |
| 2026-06 |
Government & Institutions |
revenue_budget |
"EUR1,099,421" |
| 2025-11 |
Corporate Events |
revenue_prior_year |
"EUR2,292,396" |
| 2024-12 |
Digital/Influence |
cogs_budget |
"712,667 EUR" |
| 2025-05 |
Corporate Events |
cogs_actual |
"EUR837,734" |
| 2025-05 |
Brand Events |
payroll_budget |
"276,519 EUR" |
| 2026-05 |
Brand Events |
payroll_budget |
"EUR284,815" |
| 2025-12 |
Digital/Influence |
opex_it_budget |
"12,460 EUR" |
| 2024-08 |
Brand Events |
opex_facilities_budget |
"8,070 EUR" |
| 2025-01 |
Government & Institutions |
opex_facilities_actual |
"EUR9,109" |
5. Date formats standardized
Raw month values mixed ISO (YYYY-MM-DD), US (MM/DD/YYYY), long-form ("Month YYYY"), and year/month (YYYY/MM) styles. Sample of distinct raw values seen: 01/01/2024, 01/01/2025, 01/01/2026, 02/01/2024, 02/01/2026, 03/01/2024, 03/01/2025, 03/01/2026. All parsed successfully via flexible date inference and standardized to ISO (YYYY-MM-DD, first of month) in the cleaned file. Unparseable values: 0.
6. Flagged values: likely data entry errors (high confidence)
Rule: a line item actual coming in above 4x or below 0.25x its own budget is treated as a probable data entry error rather than a real business event. A single BU/month is not operationally capable of swinging that far from plan without a corresponding, equally extreme movement in related lines (COGS, payroll), which these do not show. These rows were not auto-corrected; they are flagged here for manual verification before any variance analysis uses them.
| Month |
Business Unit |
Column |
Actual |
Budget |
Ratio to budget |
| 2025-11 |
Brand Events |
revenue_actual |
EUR52,243,584 |
EUR5,238,445 |
10.0x |
7. Flagged values: notable variances (informational, not errors)
Rule: IQR outlier (1.5x IQR fence) on that BU/column's own historical actual-vs-budget ratio distribution, excluding anything already flagged above as a likely data error. These look like real, large-but-plausible business swings, well under the data-error magnitude threshold above. They are left untouched in the cleaned data and forwarded as-is for the Variance & Root-Cause Agent to explain, not treated as data quality issues.
| Month |
Business Unit |
Column |
Actual |
Budget |
Ratio to budget |
Historical normal range |
| 2024-05 |
Brand Events |
payroll_actual |
EUR279,965 |
EUR268,466 |
1.04x |
[0.96, 1.03] |
| 2025-04 |
Brand Events |
cogs_actual |
EUR3,201,900 |
EUR2,491,056 |
1.29x |
[0.88, 1.15] |
| 2025-05 |
Brand Events |
cogs_actual |
EUR3,352,549 |
EUR2,716,534 |
1.23x |
[0.88, 1.15] |
| 2025-06 |
Brand Events |
cogs_actual |
EUR3,347,006 |
EUR2,616,410 |
1.28x |
[0.88, 1.15] |
| 2025-08 |
Brand Events |
opex_facilities_actual |
EUR8,906 |
EUR8,190 |
1.09x |
[0.93, 1.06] |
| 2025-09 |
Brand Events |
payroll_actual |
EUR267,350 |
EUR279,257 |
0.96x |
[0.96, 1.03] |
| 2026-04 |
Brand Events |
revenue_actual |
EUR5,099,183 |
EUR4,710,360 |
1.08x |
[0.93, 1.08] |
| 2026-04 |
Brand Events |
cogs_actual |
EUR2,997,915 |
EUR2,590,698 |
1.16x |
[0.88, 1.15] |
| 2024-03 |
Corporate Events |
payroll_actual |
EUR109,072 |
EUR103,844 |
1.05x |
[0.96, 1.05] |
| 2024-04 |
Corporate Events |
opex_it_actual |
EUR2,081 |
EUR2,512 |
0.83x |
[0.87, 1.14] |
| 2024-06 |
Corporate Events |
opex_travel_actual |
EUR8,208 |
EUR6,360 |
1.29x |
[0.82, 1.23] |
| 2024-10 |
Corporate Events |
cogs_actual |
EUR846,462 |
EUR720,897 |
1.17x |
[0.87, 1.16] |
| 2024-12 |
Corporate Events |
opex_facilities_actual |
EUR3,743 |
EUR4,055 |
0.92x |
[0.93, 1.07] |
| 2025-03 |
Corporate Events |
opex_marketing_actual |
EUR51,262 |
EUR43,650 |
1.17x |
[0.67, 1.14] |
| 2025-07 |
Corporate Events |
opex_marketing_actual |
EUR25,840 |
EUR42,975 |
0.60x |
[0.67, 1.14] |
| 2025-08 |
Corporate Events |
payroll_actual |
EUR103,816 |
EUR108,284 |
0.96x |
[0.96, 1.05] |
| 2026-02 |
Corporate Events |
opex_it_actual |
EUR2,123 |
EUR2,604 |
0.82x |
[0.87, 1.14] |
| 2026-05 |
Corporate Events |
payroll_actual |
EUR106,299 |
EUR110,712 |
0.96x |
[0.96, 1.05] |
| 2026-05 |
Corporate Events |
opex_it_actual |
EUR2,128 |
EUR2,617 |
0.81x |
[0.87, 1.14] |
| 2024-07 |
Digital/Influence |
cogs_actual |
EUR457,359 |
EUR541,771 |
0.84x |
[0.86, 1.14] |
| 2025-01 |
Digital/Influence |
revenue_actual |
EUR1,291,857 |
EUR1,516,667 |
0.85x |
[0.86, 1.15] |
| 2025-01 |
Digital/Influence |
cogs_actual |
EUR379,132 |
EUR455,000 |
0.83x |
[0.86, 1.14] |
| 2025-01 |
Digital/Influence |
payroll_actual |
EUR259,167 |
EUR247,200 |
1.05x |
[0.96, 1.03] |
| 2024-01 |
Government & Institutions |
cogs_actual |
EUR69,459 |
EUR58,333 |
1.19x |
[0.81, 1.19] |
| 2024-06 |
Government & Institutions |
opex_marketing_actual |
EUR394 |
EUR530 |
0.74x |
[0.77, 1.25] |
| 2024-11 |
Government & Institutions |
opex_it_actual |
EUR39,366 |
EUR15,250 |
2.58x |
[0.81, 1.23] |