IP Library › Granted Patent US 12,455,863
Granted Patent B2
US 12,455,863 · App. 18/155,533 · Granted Oct 28, 2025

Data ingestion and cleansing tool

Inventor: Diego Bauducco (San Francisco, CA)
Assignee: Shipt, Inc.
G06F16/215G06F16/212G06F16/254
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,455,863
App. No.
18/155,533
Granted
Oct 28, 2025
Kind
B2
Abstract

A system and method for ingesting data is disclosed. In example embodiments, the method may include receiving a structured data file, such as a comma separated value (CSV) file, and translating the file to an internal schema. Translating the file to the internal schema may including mapping one or more incoming fields of the file to one or more internal fields of the internal schema. The method may further include displaying a user interface and receiving, via the user interface, a mapping of an unmapped incoming field to a selected internal field. The method may further include receiving a second structured data file, which may include a second plurality of incoming fields, including the unmapped field. The method may further include mapping the unmapped field of the second file to the selected internal field.

Claims (83)

1. A method for ingesting data, the method comprising:

receiving, by a processor, a first CSV file, the first CSV file including a plurality of incoming fields;

translating, by the processor, the first CSV file to an internal schema, wherein translating the first CSV file to the internal schema comprises applying a mapping library to map one or more of the plurality of incoming fields to one or more of a plurality of internal fields of the internal schema;

displaying, by the processor, a user interface;

via the user interface, receiving, by the processor, an input corresponding to a mapping of an unmapped field of the plurality of incoming fields to a selected field of the plurality of internal fields;

determining, by the processor, a content of the incoming data of the first CSV file, wherein the content is a location or an identification;

validating, by the processor, the content using a third-party service;

in response to failing to validate the content, displaying, by the processor, an error user interface;

by the processor, receiving, via the error user interface, an updated data entry;

updating, by the processor, the mapping library to include the mapping of the unmapped field to the selected field of the plurality of internal fields, the mapping causing the unmapped field in subsequent received CSV files to be automatically mapped to the selected field;

receiving, by the processor, a second CSV file, the second CSV file including a second plurality of incoming fields, the second plurality of incoming fields including the unmapped field; and

translating, by the processor, the second CSV file to the internal schema, wherein translating the second CSV file to the internal schema comprises automatically applying the updated mapping library and the mapping of the unmapped field to the selected field.

2. The method of claim 1 ,

wherein the first CSV file is sent by a first retailer; and

wherein the second CSV file is sent by a second retailer.

3. The method of claim 1 ,

wherein the first CSV file and the second CSV file are sent by a same entity;

wherein mapping the one or more of the plurality of incoming fields to the one or more of the plurality of internal fields comprises applying an entity-specific mapping library;

wherein the method further comprises adding the mapping of the unmapped field to the selected field to the entity-specific mapping library; and

wherein translating the second CSV file to the internal schema comprises applying the entity-specific mapping library.

4. The method of claim 1 ,

further comprising validating, by the processor, a data format of the incoming data, wherein validating the data format of the incoming data comprises:

determining, by the processor, a format of a data entry of the incoming data;

comparing, by the processor, the format of the data entry to an expected format of a field of the plurality of internal fields;

in response to determining that the format of the data entry does not match the expected format, displaying, by the processor, the error user interface; and

by the processor, receiving, via the error user interface, second updated data entry.

5. The method of claim 1 , wherein translating, by the processor, the first CSV file to the internal schema further comprises one or more of:

separating, by the processor, a combined incoming field of the plurality of incoming fields to two or more separate internal fields of the plurality of internal fields; or

combining, by the processor, two or more separate incoming fields of the plurality of incoming fields into one combined internal field of the plurality of internal fields.

6. The method of claim 1 ,

wherein the internal schema is one of a plurality of internal schemas; and

wherein the method further comprises selecting, by the processor, the internal schema from the plurality of internal schemas based on a category of the incoming data.

7. The method of claim 1 , wherein incoming data of the first CSV file and second incoming data of the second CSV file relate to one or more of retail store data or product data.

8. The method of claim 1 ,

further comprising transmitting, by the processor, an ingested CSV file to a downstream service;

wherein fields of the ingested CSV file correspond to the plurality of internal fields; and

wherein data of the ingested CSV file correspond to incoming data of the first CSV file.

9. The method of claim 1 , wherein translating, by the processor, the first CSV file to the internal schema comprises generating, by the processor, data based at least in part on incoming data of the first CSV file.

10. The method of claim 1 , wherein translating, by the processor, the first CSV file to the internal schema comprises:

attempting to map the unmapped field to the plurality of internal fields;

failing to map the unmapped field to the plurality of internal fields; and

wherein displaying, by the processor, the user interface comprises displaying, by the processor, the user interface in response to failing to map the unmapped field to the plurality of internal fields, the user interface comprising the unmapped field and an input field to select the selected field from the plurality of internal fields.

11. The method of claim 1 , wherein the user interface comprises:

text related to the unmapped field; and

a drop-down list of at least some of the plurality of internal fields;

wherein the input comprises a selection in the drop-down list.

12. The method of claim 1 , further comprising:

displaying, by the processor, a receiving user interface for receiving the first and second CSV files;

wherein receiving the first and second CSV files is performed by receiving the first and second CSV files via the receiving user interface;

wherein the receiving user interface includes a template, the template including the plurality of internal fields;

wherein the receiving user interface comprises a view-template input field; and

wherein, in response to a selection of the view-template input field, the receiving user interface provides one or more of a display of the template or a download of the template.

13. A system for ingesting data, the system comprising:

a mapping library;

an internal schema;

a processor;

and a memory storing instructions, wherein the instructions, when executed by the processor, cause the data-ingestion system to:

receive a first CSV file, the first CSV file including a plurality of incoming fields;

translate the first CSV file to the internal schema, wherein translating the first CSV file to the internal schema comprises mapping, using the mapping library, one or more of the plurality of incoming fields to one or more of a plurality of internal fields of the internal schema;

receive an input corresponding to a mapping of an unmapped field of the plurality of incoming fields to a selected field of the plurality of internal fields;

attempt to validate a content of incoming data of the first CSV file by sending a request to a third-party service, wherein the content is a location, an email, or an identification;

in response to failing to validate the content, display an error via a user interface;

receive, via the user interface, an updated data entry;

update the mapping library to include the mapping of the unmapped field of the plurality of incoming fields to the selected field of the plurality of internal fields, the mapping causing the unmapped field in subsequent received CSV files to be automatically mapped to the selected field;

receive a second CSV file, the second CSV file including a second plurality of incoming fields, the second plurality of incoming fields including the unmapped field; and

translate the second CSV file to the internal schema, wherein translating the second CSV file to the internal schema comprises applying, using the updated mapping library, the mapping of the unmapped field to the selected field.

14. The system of claim 13 , wherein the instructions, when executed by the processor, further cause the data-ingestion system to:

in response to failing to map the unmapped field to any of the plurality of internal fields, display the user interface; and

receive, via the user interface, the mapping of the unmapped field of the plurality of incoming fields to the selected field of the plurality of internal fields.

15. A data cleansing method, the method comprising:

receiving, by a processor, a first CSV file, the first CSV file including a plurality of incoming fields;

translating, by the processor, the first CSV file to an internal schema, wherein translating the first CSV file to the internal schema comprises applying a mapping library to map one or more of the plurality of incoming fields to one or more of a plurality of internal fields of the internal schema;

displaying, by the processor, a user interface;

via the user interface, receiving, by the processor, an input corresponding to a mapping of an unmapped field of the plurality of incoming fields to a selected field of the plurality of internal fields;

updating, by the processor, the mapping library to include the mapping of the unmapped field to the selected field of the plurality of internal fields, the mapping causing the unmapped field in subsequent received CSV files to be automatically mapped to the selected field;

attempting to validate, by the processor, a content of incoming data of the first CSV file by invoking a third-party service, wherein the content is a location, an email, or an identification;

in response to failing to validate the content, displaying, by the processor, an error via the user interface;

by the processor, receiving, via the user interface, an updated data entry;

receiving, by the processor, a second CSV file, the second CSV file including a second plurality of incoming fields, the second plurality of incoming fields including the unmapped field; and

translating, by the processor, the second CSV file to the internal schema, wherein translating the second CSV file to the internal schema comprises applying the updated mapping library and the mapping of the unmapped field to the selected field.

16. The method of claim 15 ,

wherein the first CSV file is sent by a first location of a retailer; and

wherein the second CSV file is sent by a second location of the retailer.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2023
From: BAUDUCCO, DIEGO
To: SHIPT, INC.
Reel/Frame 062398/0984 →
Continuity (1)
Related Publication 20240241869A1 · Jul 18, 2024
References Cited (16)
US 8224830B2 · Bidlack · 2012 [cited by applicant]
US 9418085B1 · Shih et al. · 2016 [cited by applicant]
US 9514205B1 · Yazicioglu · 2016 [cited by examiner]
US 9990383B2 · Brinnand · 2018 [cited by applicant]
US 10817533B2 · Kim et al. · 2020 [cited by applicant]
US 20060069717A1 · Mamou · 2006 [cited by examiner]
US 20160267110A1 · deValk · 2016 [cited by examiner]
US 20210133392A1 · Liao · 2021 [cited by examiner]
US 20210240676A1 · Meyer · 2021 [cited by examiner]
US 20230078600A1 · Ji · 2023 [cited by examiner]
US 20230342690A1 · Cruise · 2023 [cited by examiner]
Jetpack CRM, How to Map CSV Importer fields; Dated: Oct. 12, 2022—11 Pages. [cited by applicant]
Text Import Wizard; Dated: Oct. 12, 2022—7 Pages. [cited by applicant]
CSV Lint About—About this service—How to Use CSVLint; Dated: Oct. 12, 2022—12 Pages. [cited by applicant]
CSV Box—Features—CSV Uploader Built for SaaS—Powerful features to help you integrate a perfect CSV upload experience in your app.; Dated: Oct. 12, 2022—7 Pages. [cited by applicant]
ConvertCSV—Secure and easy CSV Data Conversion—Dated: 2013-2022—3 Pages. [cited by applicant]