Alternative Categorization
Alternative categorization
Description
Alternative Categorization has been developed as the result of a multi-year collaboration with many of our customers. As our existing two-level categorization is not flexible and detailed enough to accommodate all the different requests and improvement ideas, we have created an alternative one that will coexist with the existing DataSource categorization. Many of our customers are relying on our legacy categorization which we will continue to maintain. However for those DataSource customers who would like to create a deep and versatile catalog tree on their website we now have a new Alternative Categorization they can take advantage of.
Alternative Categorization was developed with the following two goals in mind:
Goal 1: E-commerce-friendly Categorization
- Create an alternative product categorization deprived of the shortcomings of the existing DataSource categorization and related issues reported by DataSource customers.
- This new categorization should comply with the e-commerce industry trends and best practices, and should be self-explanatory for the end-users.
Goal 2: Customization-ready Categorization
- New alternative categorization should provide a good starting point for those customers that would choose to map DataSource categories to their own categorization.
- In most of the instances DataSource customers should be able to map their categories to DataSource categories without the use of searchable attributes.
Features & Benefits
Categorization Structure
Alternative Categorization consists of five categorization levels:
Mandatory & Optional levels
Levels 1, 2, 3 and 4 are mandatory and every SKU will be assigned to at least one category on each level.
Level 5 is optional. It exists only for certain catalog segments where four categorization levels are not sufficient.
Parametric search
Levels 1, 2 and 3 might contain products grouped from a variety of different categories, which might have a different attribute structure. Consequently in most of the instances parametric search and side-by-side product comparison will not work across all products from levels 1, 2 and 3. Levels 4 and 5 are comprised of homogeneous products, and parametric search will work across any level-4 or level-5 category.
Overlapping Categorization
Alternative Categorization is overlapping: certain SKUs might be included into several categories at a time. For example, an all-in-one desktop with and Intel processor positioned as a PC Media Center by its manufacturer will be assigned to three level-5 categories at the same time:
1001010101 | Intel Desktops |
1001010105 | All-In-One Desktops |
1001010106 | PC Media Centers |
Primary Category
When a product is linked to several categories, one of these categories is marked for this SKU as the primary category. Every product has only one primary category.
Category IDs
Category IDs of Alternative Categorization are formed hierarchically and include IDs of the parent classification levels. Each classification level adds two digits to the ID. Consequently category ID of a level-1 category contains 2 digits, and category ID of a level-5 category contains 10 digits.
Category IDs usually do not change from one version of Alternative Categorization to another. However, if a category is moved from one parent category to another, its Category ID will be changed to a new one.
To avoid potential confusion, old Category IDs of moved or deleted categories will not be reused for anything else.
Category Keys
Category Key is a non-hierarchical unique category identifier that does not change when a category is moved from one parent category to another.
We recommend using Category Keys in custom category mapping rules. Category Keys will help to make transition to new versions of Alternative Categorization more seamless and effortless.
New Versions
We plan to release new versions of the categorization at least once a year or as needed. At the same time we will keep supporting older versions of Alternative Categorization and legacy DataSource Categorization as well.
Integration Choices
How could DataSource customers benefit from Alternative Categorization?
Some of our customers have already done extensive work on mapping their own categories to the legacy DataSource categories and searchable attributes, and may not have any plans or need for any further improvements.
However if a customer sees room for improvement, Alternative Categorization might be a good way to improve catalog structure and website navigation.
Here are some of the options:
Replace |
Alternative Categorization can be adopted and replace existing customer categorization. It might be taken as is, or might be flattened by removing the first or second categorization level, or grouping levels 4 and 5 together. It is also up to the customer whether to use categories marked as Optional and Obsolete. |
Customize |
Alternative Categorization can be used as a basis for custom categorization. As it is deeper and more versatile than the legacy DataSource categorization, it is easier to create mapping rules to any custom classes and categories using new Alternative Categorization structure. |
Complement |
Alternative Categorization might be used to complement customers’ existing categorization mapping rules, especially for some of the segments, which – if legacy DataSource categorization is used – require creation of complex mapping rules and extensive use of searchable attributes. |
Advantages of New Categorization
The new Alternative Categorization is different from the legacy DataSource categorization in many ways:
Existing "Legacy" DataSource Categorization | New Alternative Categorization |
---|---|
2 categorization levels: class & category |
5 categorization levels for higher flexibility and depth |
246 unique classes & categories |
3310 unique categories on all hierarchical level |
SKUs can be assigned to a single category |
SKUs can be assigned to multiple categories |
Fixed in time, does not change |
Continually evolves with the changes in the marketplace |
Examples of the improvements in Alternative Categorization versus the legacy DataSource categories:
Existing "Legacy" DataSource Categorization | New Alternative Categorization |
---|---|
A single Desktops & Servers category |
Desktops and Servers are split into 2 separate level-3 categories. Servers are split into Tower Servers, Rack Servers, Blade Servers, x86 Servers, RISC Servers, and Clusters. Desktops are split into Desktops, Workstations, Barebone Systems, Thin Clients and POS. Also there is a further split of Desktops into Intel Desktops, AMD Desktops, Apple Desktops, All-in-One Desktops, and PC Media Centers. |
A single Camcorders & Digital Cameras category |
Camcorders & Digital Cameras are split into 2 separate level-3 categories (Digital Cameras and Camcorders). Digital Cameras are split into 5 categories (Compact Digital Cameras, SLR Digital Cameras, Mirrorless System Digital Cameras, Underwater Digital Cameras, Digital Cameras For Kids) and Camcorders are split into 9 categories (Flash Memory Camcorders, Action Cameras, HDD Camcorders, DVD Camcorders, High Definition Camcorders, Mini-DV Camcorders, HDV Camcorders, Analog Camcorders, Professional Camcorders) |
A single Applications category for all games, applications, utilities, licenses, etc. |
Applications are split into 13 categories (Antivirus & Security, Office Software, Business & Productivity, Development Tools, etc.) and 100 more granular subcategories. Games are split into 8 categories and 112 subcategories. |
USB cables can be found in several categories: System Cables, Input Cables, Output Cables, etc. |
All USB cables are assigned to the same USB Cables subcategory of the Cables class. |
A single Network Cables category |
Network Cabling class is split into Twisted Pair Cables (with 4 subcategories for Cat 5, Cat 5e, Cat 6 and Cat 6e cables), Coaxial Cables, Fiber Cables, Patch Cables, Patch Panels, Crossover Cables, etc. |
Database Structure
Alternative Categorization is provided in the five new Download.zip tables:
Tables | Files |
---|---|
cds_Cct_Categories
|
Categorization\Cct_Categories.txt
|
These tables are structured to deliver multiple versions of Alternative Categorization, as well as some other 3rd-party product classifications.
Unlike many other Download.zip tables, categorization tables are more likely to be opened and viewed manually by customers’ catalog managers, website developers and integration specialists. Therefore we included certain de-normalized fields that make the export schema more readable and understandable.
Alternative Categorization is added in addition to the existing legacy DataSource categorization, and does not replace it. It adds additional tables to the Download.zip, but does not change any of the existing tables or fields.
Tables Format
- cds_Cct_Categories table is always complete and does not depend on the customer’s catalog. Consequently it will have all the categories including those that might not be applicable and may not exist in the cds_Cct_Products table.
- CategoryID is unique only within a certain version of categorization. CategoryID is formed hierarchically and includes the IDs of parent Categories.
- Breadcrumbs in the cds_Cct_Categories table are generated in English, and are intended for browsing/reference purposes. They show the categories of the previous levels.
- IsOptional indentifies extra/duplicating branches of the categorization tree added for user convenience and improved catalog navigation.
- IsObsolete is intended for old and/or mostly-dead technology categories like EDO RAM or Floppy Disks.
- cds_Cct_Products table is linked to cds_Catalog_Info table and utilizes the same ProdID.
- cds_Cct_Vocabulary table contains translations of category names to all languages a customer is subscribed to.
- cds_Cct_Version table identifies the version of the categorization.
All versions of the same categorization will have the same SourceID. The most recent version of the categorization is marked using IsLatest field.
Besides Alternative Categorization we plan to use these new tables for other 3rd-party categorizations. The SourceID for them will be different.
Client Export Schema
This schema is also applicable for the customers who receive cds_Catalog table instead of cds_Catalog_Info table in their download.zip. In this case cds_Cct_Products will be linked to cds_Catalog table.
DisplayOrder in cds_Cct_Categories
As Category IDs do not always represent the best sorting order for the categories, we recommend the display order of categories and sub-categories using logical category sorting when Desktops are followed by Notebooks, then Servers, eBook Reader, Storage products, Printers, Scanners, etc.
DisplayOrder field provides consecutive numbering of all the categories. It lists the first level-1 category, then its first child, then the first child of its first child, and so on to the last level. For example:
The DisplayOrder for these categories will look like:
Subscription Options
When adding Alternative Categorization tables to a download.zip, you will need to consider the following distribution options:
Versions |
Fixed Version
|
Levels |
All Levels
|
Uniqueness |
Multiple Categories
|
Distribution Mode
All the categorization tables are non-incremental. Each download.zip contains a full update of categorization data for all SKUs in the customer’s catalog.
Here are the default settings 1WorldSync recommends and will apply for all new accounts and customers:
Versions |
Latest Version |
Levels |
All Levels |
Uniqueness |
Multiple Categories |
Related Queries
Here are the sample queries for Alternative Categorization data.
-- All available categories
SELECT *
FROM cds_cct_categories;
-- Different level of categorization for a product
SELECT p.prodid,
p.catid,
v.categoryname,
p.isprimary,
languageid,
c.breadcrumbs
FROM cds_cct_products p JOIN cds_cct_vocabulary v
ON v.catid = p.catid
JOIN cds_cct_categories c
ON c.catid = p.catid
WHERE p.prodid = 'PRODUCTID'
ORDER BY Length(p.catid), p.catid
-- Primary Category Last Level
SELECT pc.prodid,
c.catid,
v.categoryname
FROM (SELECT p.prodid,
Max(p.catid) AS maxcatid
FROM cds_cct_products p
INNER JOIN cds_cct_categories c
ON c.catid = p.catid
WHERE p.isprimary = 1
GROUP BY p.prodid) pc
INNER JOIN cds_cct_categories c
ON c.catid = maxcatid
INNER JOIN cds_cct_vocabulary v
ON v.catid = maxcatid
WHERE languageid = 'en'