Skip to main content
Loading...

The Pleasepoint data model.

Description of the data model used in the Pleasepoint platform. This article is primarily intended for the initial data load.


In this article, we describe the data architecture needed to start using Pleasepoint’s artificial intelligence. Here, you will find all the information about the initial data entities, their attributes, and the format required to extract them for a first load using CSV files.

This is the content of the article:

  1. Data entities.
  2. Customer table.
  3. Product table.
  4. Store table (optional).
  5. Order table.
  6. Order lines table.

Pleasepoint also works with interaction data, but it is not essential for an initial data load. You can find details on how to use interaction data in this link.

Data entities.

Pleasepoint uses historical transactional data to understand purchasing patterns and the buying propensity of each customer. To do this, it uses 5 data entities:

  1. Customers: Table with all available customer information.
  2. Products: Table with all available product information. This requires the entire product history, whether currently active or not.
  3. Shops: This table is optional and refers to the sales channel or stores/branches. If there is only an eCommerce channel, this entity is not needed.
  4. Orders: All purchase order information. The order is linked to the customer and store identifiers.
  5. Order lines: Information about the content of orders. The order line is linked to both the order and product identifiers.

This is the class diagram of the various entities:



Customer table.

This is the structure of the customer table that should be extracted. The resulting file must be a UTF8 CSV.

These are the main attributes of the customer table:

  • reference_id (Required, primary key, text): Unique customer identifier. This identifier will be used to link orders and customers.
  • contact_id (Optional, unique, text): Unique customer identifier, often used to link the customer to other systems, such as a CRM.
  • name (Optional, text): Customer name. This field can be anonymized.
  • surname (Optional, text): Customer surname. This field can be anonymized.
  • email (Optional, Unique, text): Customer’s email address. This field can be anonymized.
  • email_validated (Optional, boolean): Indicates if the email is validated.
  • email_communications (Optional, boolean): Indicates if the customer is subscribed to email communications.
  • phone (Optional, text): Customer’s phone number.
  • address (Optional, text): Customer’s address.
  • postal_code (Optional, text): Customer’s postal code.
  • city (Optional, text): Customer’s city.
  • gender (Optional, integer): Customer’s gender, with values: 1 for female, 2 for male, and 0 for other or unknown.
  • birth_date (Optional, date): Customer’s birthdate.

The customer table, as well as any entity, accepts any other attributes, allowing you to add all the customer information you have collected.

Here is an example of data export:



Product table.

This is the structure of the product table that should be extracted. The resulting file must be a UTF8 CSV.

These are the main attributes of the product table:

  • reference_id (Required, primary key, text): Unique product identifier. This identifier will be used to link products and order lines.
  • name (Required, text): Product name.
  • price (Required, number): Product price.
  • margin (Optional, number): Product margin.
  • description (Required, text): Product description.
  • category_n1 (Required, text): First level of product categories.
  • category_n2 (Optional, text): Second level of product categories.
  • category_n3 (Optional, text): Third level of product categories.
  • category_n4 (Optional, text): Fourth level of product categories.
  • category_n5 (Optional, text): Fifth level of product categories.
  • category_nX (Optional, text): Xth level of product categories.
  • total_stock (Required, integer): Product stock. You can use 0 for unavailable products and 1 for active products.
  • url (Optional, text): URL for accessing the product page (PDP).
  • image_url (Optional, text): URL of the main product image. This image will be used by Pleasepoint’s SDK to display the recommendation.

The product table, as well as any entity, accepts any other attributes, allowing you to add any additional information that helps categorize the product, such as brand, style, collection, season, primary use, or main ingredient...

Here is an example of data export:



Store table.

This is the structure of the store table that should be extracted. The resulting file must be a UTF8 CSV. When there is only one sales channel, this table is not necessary.

These are the main attributes of the store table:

  • reference_id (Required, primary key, text): Unique store identifier. This identifier will be used to link stores and orders.
  • name (Required, text): Store name.
  • description (Optional, text): Store description.
  • type (Optional, text): Store type.
  • location (Optional, text): Store location type, such as shopping center, city center, online, outlet, etc.
  • city (Optional, text): Store city.
  • country (Optional, text): Store country.

The store table, as well as any entity, accepts any other attributes, allowing additional information to be added for each store.

Here is an example of data export:



Order table.

This is the structure of the order table that should be extracted. The resulting file must be a UTF8 CSV.

These are the main attributes of the order table:

  • reference_id (Required, primary key, text): Unique order identifier. This identifier will be used to link orders and order lines.
  • reference_date (Required, date): Date the order was placed.
  • user_reference_id (Required, foreign key, date): Customer identifier. This column is linked to the customer’s reference_id.
  • shop_reference_id (Required, foreign key, date): Store identifier. This column is linked to the store’s reference_id.
  • total_amount (Required, number): Total value of the order.
  • total_discount (Optional, number): Total value of the discount applied.
  • discount_code (Optional, text): Discount code applied.
  • discount_type (Optional, text): Type of discount applied.

The order table, as well as any entity, accepts any other attributes, allowing additional information to be added for each order.

Here is an example of data export:



Order lines table.

This is the structure of the order lines table that should be extracted. The resulting file must be a UTF8 CSV.

These are the main attributes of the order lines table:

  • ticket_reference_id (Required, primary key, text): Unique order identifier. This identifier will be used to link orders and order lines.
  • product_reference_id (Required, foreign key, date): Product identifier. This column is linked to the product’s reference_id.
  • quantity (Required, number): Total number of product units in the order.
  • price (Required, number): Total value of the product in the order.
  • discount_code (Optional, text): Discount code applied.
  • discount_value (Optional, text): Discount value applied to the total price.
  • variation_id (Optional, text): Product variation identifier.

The order lines table, as well as any entity, accepts any other attributes, allowing additional information to be added to each order line.

Here is an example of data export:



También te puede interesar...

Benefits of one-to-one recommendations in eCommerce.

Benefits of one-to-one recommendations compared to traditional best-seller or trending product strategies.

Technical guide to one-to-one personalization with the SDK.

Discover how to implement the Pleasepoint SDK in your eCommerce for real-time one-to-one personalization.

API: Personalize one-to-one in eCommerce (Part 4).

How to use the Pleasepoint API for real-time product recommendations in your eCommerce.

Amazon Web Services (AWS) Independent Software Vendor (ISV) Partners.

We are AWS Independent Software Vendor (ISV) partners and have been selected for the ISV-Accelerate program. Visit the AWS Marketplace to create your account and start a free trial today.

Request more information AWS Marketplace

With Pleasepoint, we have moved from the traditional campaign management model to a more dynamic, segmented, and enriched customer model, personalizing CRM campaigns and improving the conversion of our e-commerce channel customers.

Josep Jarque
Digital Project Manager & IT Architect

The implementation of one-to-one personalization has allowed us to generate much more interesting content for users, as well as foster loyalty, improve the shopping experience, and generate additional sales through personalized recommendations.

Jose Antonio Linde
COO of Condisline

Our clients endorse us.