This article explains the two data feeds available in UNFI Insights, why their sales figures differ, and which table to use for each workflow.
Quick takeaway: Use portal tables for general sales reporting and dashboard validation. Use non-portal tables only for category-level workflows, such as Distribution Expansion and Category Performance.
The two UNFI data sources
UNFI provides Crisp with two separate data feeds. Each feed powers different tables in UNFI Insights, and the feeds are not interchangeable. Mixing them is the most common source of confusion when sending UNFI data to a destination.
Which table should I use?
It depends on the use case:
- Recreating or validating Sales dashboards? Use the portal tables. These align with what customers have historically seen in UNFI reporting.
- Working with category-level data? Use the non-portal / category tables for Distribution Expansion or Category Performance reporting.
Most customers prefer the portal tables because they match legacy UNFI reporting.
Best practices when joining tables
The key rule is simple: portal fact tables must be joined to portal dimension tables, and non-portal fact tables must be joined to non-portal dimension tables. Normalized tables between the two data sets have differing IDs that are not designed to join.
Do not mix portal and non-portal tables. If you join normalized_unfi_insights_natural_portal_fact_sales to normalized_unfi_insights_natural_dim_product, you will encounter mismatches. Always make sure the fact and dimension tables come from the same feed.
Correct portal join example
You may also see these called “P1” and “P2”
Some internal documentation and support conversations use P1 and P2 as shorthand for the two feeds.
Why P1 and P2 cannot be cross-joined: P1 and P2 have different sales dollar computations and different schemas. For example, P1 has product_code and product_case_quantity fields, while P2 uses a separate pack_size dimension with no product_code field. The two feeds were not built to reconcile with each other, so joining them produces mismatches in both sales figures and UPC data.
Quick reference