NL2015279B1 - Computer-implemented method for assigning a common access key to a group of products. - Google Patents

Computer-implemented method for assigning a common access key to a group of products. Download PDF

Info

Publication number
NL2015279B1
NL2015279B1 NL2015279A NL2015279A NL2015279B1 NL 2015279 B1 NL2015279 B1 NL 2015279B1 NL 2015279 A NL2015279 A NL 2015279A NL 2015279 A NL2015279 A NL 2015279A NL 2015279 B1 NL2015279 B1 NL 2015279B1
Authority
NL
Netherlands
Prior art keywords
product
products
matching
text string
group
Prior art date
Application number
NL2015279A
Other languages
Dutch (nl)
Inventor
Van Tiel Jeroen
Kazius Gerben
Vonken Rudy
Heikens Frank
Original Assignee
Jumbo Supermarkten B V
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jumbo Supermarkten B V filed Critical Jumbo Supermarkten B V
Priority to NL2015279A priority Critical patent/NL2015279B1/en
Application granted granted Critical
Publication of NL2015279B1 publication Critical patent/NL2015279B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data

Abstract

The disclosure relates to a computer-implemented method for assigning a common access key to a group of products stored in a product database. The common access key enables access to the group of products in the product database. The products are associated with one or more first product iden- tifiers amongst which European Article Numbers (EAN) and one or more second product identifiers, different from the Euro- pean Article Numbers. The computer-implemented method comprises a first step of obtaining a set of potentially matching pairs of products by identifying identical European Article Numbers of the products in the product database. A second step of calculating at least one matching score for each potentially matching pair of products by comparing the one or more second product identifiers of the potentially matching pairs of products. A third step of obtaining a set of actually matching pairs of products from the set of poten- tially matching pairs of products by analyzing whether at least one matching score meets a preset condition. And a fourth step of assigning the common access key to the group of products.

Description

Computer-implemented method for assigning a common access key to a group of products
FIELD OF THE INVENTION
The invention relates to a computer-implemented method for assigning a common access key to a group of products stored in a database.
BACKGROUND
Retailers, especially supermarkets, are nowadays fully aware of the value of data. Large databases filled with thousands of transactions, customers or products may be key to adapting to customer needs, boosting profitability and beating the competition.
An important trend in the field of data analysis is Big Data analysis, which relates to, among others, statistical analyses of large datasets in order to find unrevealed correlations. In an example, Big Data analysis of a transaction database may reveal that two products are correlated in the sense that they are often purchased together. A retailer may then decide to start a promotion campaign for the two products combined, or he may decide to place the two products close to each other in the supermarket. The retailer is better informed and is able to make better business decisions. A prerequisite for Big Data analysis is of course the presence of data. More importantly the data should be accessible for analysis. An algorithm that performs statistical analysis should be able to access the right data in the database .
To be able to perform meaningful and efficient analysis it is important that a group of products, consisting of products that are stored as different products in a product database, but that are identical in e.g. the perception of the consumer can be retrieved.
An aspect of product databases of supermarkets is that they are complex and large. A supermarket easily offers over 30.000 products and the product offering typically changes often. New products may be added, others may be taken out and product characteristics may also change, such as article number, price, contents or product descriptions. A problem arising from changed products is that they may be stored as new products in a database, while the consumer still perceives the changed products as the same product as before. "Big Data" methods are known that include data sets with sizes beyond the ability of commonly used software tools to capture curate, manage, and process data within a tolerable elapsed time. (See "Big data - Wikipedia, the free encyclopedia", 5th August 2015.)
Further, methods are known in the art for grouping a set of objects in such a way that objects in the same group are more similar to each other than to those in other groups. (See "Cluster analysis - Wikipedia, the free encyclopedia", 4th of August 2015.)
Also, methods are known for preprocessing data before using data mining algorithms. Such methods comprise cleaning a data set wherein observations containing noise and observations with missing data are removed from the set. (See "Data mining "Data mining - Wikipedia, the free encyclopedia", 3rd of August 2015 . )
SUMMARY
It is an object of the present disclosure to provide an identification method of common products in a dataset comprising a large number of products in order to enable access to these common products.
To that end, a computer-implemented method is disclosed for assigning a common access key to a group of products stored in a database. The common access key enables access to the group of products in the product database. Products in the product database comprise a first product, a second product and a third product and are each associated with one or more first product identifiers amongst which are European Article Numbers (EAN)and one or more second product identifiers, different from the first product identifiers.
The computer-implemented method comprises, in a first step, obtaining a set of potentially matching pairs of products, by identifying identical European Article Numbersof the products in the product database, wherein the set of potentially matching pairs of products comprises pairs of the first product and the second product, the second product and the third product, and the first product and the third product .
It should be noted that a potentially matching pair of products, consisting of a first pairing product and a second pairing product, to be comprised in the set of potentially matching pairs of products, may be identified by comparing a plurality of first product identifiers associated with the first pairing product with a plurality of first product identifiers associated with the second pairing product.
Each comparison between two first product identifiers yields a comparison result, that indicates whether the compared first product identifiers are identical or not.
In addition, it may also be that the comparison results of the potentially matching pair should satisfy a comparison condition in order to be identified as a potentially matching pair of products.
The comparison condition may be that a particular number of comparison results should indicate identical first product identifiers, or it may be that a specific comparison result should indicate identical first product identifiers. The comparison condition may also be a combination of the above two comparison conditions.
The computer-implemented method comprises, in a second step, for each potentially matching pair of products in the set identified in the first step, calculating at least one matching score, wherein the at least one matching score is obtained by comparing the one or more corresponding second product identifiers of the potentially matching pairs of products .
The computer-implemented method comprises, in a third step, obtaining a set of actually matching pairs of products from the set of potentially matching pairs of products, by analyzing whether at least one matching score meets a preset condition, wherein the set of actually matching pairs of products comprises the pair of the first product and the second product.
The computer-implemented method comprises, in a fourth step, assigning the common access key to the group of products comprising the first product and the second product by assigning the common access key to the first product, the second product and other products forming an actually matching pair of products with the first product.
Another aspect of the invention relates to a computer system comprising a processor being configured for executing the method.
Another aspect of the invention relates to a computer program or suite of computer programs comprising at least one software code portion or a computer program product storing at least one software code portion, the software code portion, when run on a computer system, being configured for executing the method.
The applicant has developed a new and improved method and computer system to identify corresponding products in a dataset comprising a large number of products. The first step involves a processing step requiring relatively few processing resources by comparing the exact first identifiers to find potentially matching pairs of products. The first step constitutes a filtering step in order to reduce the number of product pairs for which the second processing step is performed. The second processing step requires significantly more processing resources by comparing the second soft product identifiers. Since the second processing step is only performed on the filtered dataset of potentially matching pairs of products, a too heavy processing burden may be avoided. The result of the second processing step is used for assigning a common access key to a group of products stored in the large product database in order to enable access to the group of products.
The method is particularly advantageous in that it provides a data set with linked data entries that can very well serve as an input for a Big Data analysis as mentioned above that may for example be performed for discovering relationships between groups of products. Since the data set provided by the method already contains links between entries, subsequent analyses can be performed faster and will yield better insights. Furthermore, the method can be performed with commonly used software tools whereas Big Data requires more advanced resources, e.g. resources having very high computing power .
Another advantage of the method is that its measures are very easy to implement. The method is for example easier to implement than a typical clustering method as known in the prior art and does not for example require any machine learning. After all, assigning the common access key according to the method is a straightforward operation defined by claim 1 and is as such not to be regarded as a typical clustering method.
The method is advantageous over prior art pre-processing methods (or data cleaning methods) wherein observations (or data entries) are removed from a data set that is to be analyzed. The method does not require that data is removed which may prevent that valuable data is lost.
Furthermore, the applicant has made the decision to use the European Article Number as an exact identifier for identification of potentially matching pairs of products, based on technical considerations that the European Article Numbers of products are virtually always correctly stored in the product database and that the processing burden of identifying identical European Article Numbers is very limited.
The product database may contain the complete product offering of a supermarket and the group of products to which the common access key is assigned may relate to products that are the same in the customer's perception.
It should be appreciated that the one or more first product identifiers may relate to at least one of brand name,
European Article Number (EAN), presentation group and an article replacement number. It should also be appreciated that the one or more second product identifiers may relate to at least one of contents, prices, product descriptions and digital images of a product.
It should be noted that a matching score may express a degree of similarity between two second product identifiers.
It should be appreciated that the preset condition may have been set based on a previous result of the method. For example, it may be that a previous result of the method is checked and that an improved preset condition is identified. The improved preset condition may then be set for the next execution of the method.
In one embodiment, wherein at least one matching score of the potentially matching pair of the first product and the third product fails to meet the preset condition, the method further comprises the step of assigning the common access key to the third product when the third product forms an actually matching pair with the second product. The embodiment enables better results by not only assigning a common access key to products forming an actually matching pair with the first product, but also, under the above terms, to products that do not form an actually matching pair with the first product. These matches are referred to as 'indirect matches'. The embodiment allows for maintaining strict preset conditions for the matching score(s), which in the first instance may cause incorrect exclusion of the third product from the group of products .
In one embodiment the products in the product database comprise a group of new products to which no common access key has been assigned, and a group of unchanged products, to which a common access key has been assigned and each potentially matching pair of products comprises at least one product from the group of new products.
The group of new products comprises products that are not stored as such in the product database and that need to be added to the database, for example during a weekly update of the product offering of a supermarket. It should be appreciated that "not stored as such" could mean that the products in the group of new products could be very similar to products already in the database, but differ slightly in the sense that a product description has been updated, or that a price of a product has slightly changed.
The group of unchanged products comprise products that are already in the database, for example because they are existing products in the product offering of a supermarket.
The embodiment enables efficient comparison of products in the product database, by not comparing unchanged products with each other, thereby reducing calculation time. At the same time, it is beneficial to compare the products in the group of new products both with products in the unchanged group, in order to allow new products to be assigned an existing common access key if appropriate, and to compare the products in the group of new products with each other, in order to secure that products in the group of new products are assigned an identical common access key if appropriate.
In one embodiment, a previous common access key has been assigned to the second product and the common access key assigned to the first product is the previous common access key of the second product. The embodiment enables the addition of a new product to an existing product group.
In one embodiment, the first product identifiers relate to exact identifiers. It should be appreciated that "exact identifiers" refer to identifiers for which it would not be of any value to assess the degree of similarity between them in the comparison of two products, or even to express the degree of similarity in a matching score. The conclusion of a comparison between two fixed identifiers may be either that the two fixed identifiers are identical, or that the two fixed identifiers are not identical.
In one embodiment the one or more second product identifiers relate to soft identifiers. It should be appreciated that soft identifiers may relate to identifiers for which it is valuable to assess the degree of similarity between them in the comparison of two products, and to express the degree of similarity in a matching score.
In one embodiment the at least one second product identifier associated with the first product is a first number and at least one second product identifier associated with the second product is a second number. It should be noted that a number based matching score may be the ratio between two second product identifiers being numbers. The embodiment enables a low processing time calculation of a matching score .
In one embodiment the at least one second product identifier associated with the first product is a first free text string and at least one second product identifier associated with the second product is a second free text string. In the embodiment the matching score of the potentially matching pair of the first and second product is a text based matching score, which is calculated by applying at least one text string comparison algorithm to the first free text string and the second free text string. It should be appreciated that the first and second free text strings may relate to product descriptions including alphanumeric characters. The first and second free text strings may also relate to ingredients descriptions, comments, description of the colors of a package, or other free text associated with a product.
The embodiment allows for a comparison between two second product identifiers that are free text strings. Free text strings are preferable in that they allow free coding of product characteristics, wherein the disclosed method enables using these free coded characteristics to identify similar products .
In one embodiment the at least one text string comparison algorithm is at least one of the following algorithms. A Longest Common Subsequence (LCS) algorithm that calculates an LCS ratio. The LCS ratio is the ratio of a number of characters of all common character sequences that occur in both the first free text string and the second free text string and an average number of characters of the first free text string and the second free text string. A Longest Common Subsequence algorithm as described above may be chosen over the well-known Jaro-Winkler algorithm, that calculates an edit distance between to strings as a measure of similarity, because the LCS algorithm yields better results when applied on a product database.
Another algorithm that may be applied is a Compare Two Strings (CTS) algorithm that calculates a CTS score. The CTS score is based on a number of identical characters in the first and second free text string, a number of characters of all common character sequences that occur in both the first free text string and the second free text string, a weighting factor and an average number of characters of the first free text string and the second free text string. A CTS algorithm may, just as the LCS algorithm, calculate a score based on the length of common subsequences. However, the CTS algorithm may also take into account the number of matching characters in two text strings. The CTS algorithm therefore may yield high scores for two text strings with similar characters, even if many of the characters are not in the same order. For example "APPLE JUICE" and "JUICE APPLE" would yield a high CTS score, but a lower LCS score.
In one embodiment the at least one matching score comprises at least one number based matching score and at least one text based matching score. In the embodiment the preset condition comprises the condition that each of the at least one number based matching score meets a preset sub-condition, and that at least one of the at least one text based matching score meets a preset sub condition. The embodiment enables the use of more than one text string comparison algorithms in parallel in a comparison of one or more second product identifiers .
In one embodiment the method further comprises the steps of splitting the group of products in at least two subgroups when the group of products does not meet a post assigning applied condition and assigning different common access keys to the first sub group and the second sub group. A post assigning applied condition may be that the group of products does not comprise more than one product without an end list date. An end list date may be a date at which a product is scheduled to be taken out of a product offering of a supermarket. When two products are not associated with an end list date, both products may be scheduled to co-exist in the supermarket's product offering, which means they cannot be in the same product group. The embodiment enables a corrective assignment of a new common access key to a product even after the product has already been associated with a previously assigned common access key.
In one embodiment the preset condition is dependent on a type of compared second product identifiers. A type of compared second product identifiers may relate to contents, product descriptions, or prices. The embodiment enables the application of different preset conditions.
In one embodiment the preset condition is dependent on a type of identified identical first product identifiers. A type of identified identical first product identifiers may relate to EAN, brand, presentation group, article replacement number .
As will be appreciated by one skilled in the art, one or more steps of the present disclosure may be embodied as a system, a method or a computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a "circuit," "module" or "system." Functions described in this disclosure may be implemented as an algorithm executed by a processor/micro-processor of a computer. Furthermore, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied, e.g., stored, thereon.
Any combination of one or more computer readable me-dium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a computer readable storage medium may include, but are not limited to, the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of the present invention, a computer readable storage medium may be any tangible medium that can contain, or store, a program for use by or in connection with an instruction execution system, apparatus, or device. A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electromagnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber, cable, RF, etc., or any suitable combination of the foregoing. Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java(TM), Smalltalk, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Aspects of the present invention are described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present invention.
It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor, in particular a microprocessor or a central processing unit (CPU) , of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer, other programmable data processing apparatus, or other devices create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
Embodiments of the present invention will be further illustrated with reference to the attached drawings, which schematically will show embodiments according to the invention. It will be understood that the present invention is not in any way restricted to these specific embodiments.
It is noted that the invention relates to all possible combinations of features recited in the claims.
BRIEF DESCRIPTION OF THE DRAWINGS
Aspects of the invention will be explained in greater detail by reference to exemplary embodiments shown in the drawings, in which:
Fig. 1 is a schematic illustration of an exemplary data processing system that may be used in an embodiment of the disclosed computer-implemented method.
Fig. 2 is a flow chart showing steps comprised in an embodiment of the disclosed computer-implemented method.
Fig. 3 is a detailed flow chart showing the steps of an embodiment.
Fig. 4 is an example of a product database.
Fig. 5 is an example of an analysis to obtain a set of potentially matching pairs.
Fig. 6 is an example of a calculation of matching scores .
Fig. 7 is an example of applied preset conditions.
Fig. 8 is an example of an analysis of matching scores.
Fig. 9 is an example of an analysis to obtain a set of actually matching pairs of products.
Fig. 10 is an example of a set of actually matching pairs of products.
Fig. 11 is an example result of an embodiment, wherein a common access key has been assigned to a group of products.
Fig. 12 is another example result of an embodiment, wherein common access keys have been assigned to products.
DESCRIPTION
As shown in Fig. 1, the data processing system 100 may include at least one processor 102 coupled to memory elements 104 through a system bus 106. As such, the data processing system may store program code within memory elements 104.
Further, the processor 102 may execute the program code accessed from the memory elements 104 via a system bus 106. In one aspect, the data processing system may be implemented as a computer that is suitable for storing and/or executing program code. It should be appreciated, however, that the data processing system 100 may be implemented in the form of any system including a processor and a memory that is capable of performing the functions described within this specification.
The memory elements 104 may include one or more physical memory devices such as, for example, local memory 108 and one or more bulk storage devices 110. The local memory may refer to random access memory or other non-persistent memory device(s) generally used during actual execution of the program code. A bulk storage device may be implemented as a hard drive or other persistent data storage device. The processing system 100 may also include one or more cache memories (not shown) that provide temporary storage of at least some program code in order to reduce the number of times program code must be retrieved from the bulk storage device 110 during execution.
Input/output (I/O) devices depicted as an input device 112 and an output device 114 optionally can be coupled to the data processing system. Examples of input devices may include, but are not limited to, a keyboard, a pointing device such as a mouse, or the like. Examples of output devices may include, but are not limited to, a monitor or a display, speakers, or the like. Input and/or output devices may be coupled to the data processing system either directly or through intervening I/O controllers.
In an embodiment, the input and the output devices may be implemented as a combined input/output device (illustrated in Fig. 1 with a dashed line surrounding the input device 112 and the output device 114). An example of such a combined device is a touch sensitive display, also sometimes referred to as a "touch screen display" or simply "touch screen". In such an embodiment, input to the device may be provided by a movement of a physical object, such as e.g. a stylus or a finger of a user, on or near the touch screen display. A network adapter 116 may also be coupled to the data processing system to enable it to become coupled to other systems, computer systems, remote network devices, and/or remote storage devices through intervening private or public networks. The network adapter may comprise a data receiver for receiving data that is transmitted by said systems, devices and/or networks to the data processing system 100, and a data transmitter for transmitting data from the data processing system 100 to said systems, devices and/or networks. Modems, cable modems, and Ethernet cards are examples of different types of network adapter that may be used with the data processing system 100.
As pictured in Fig. 1, the memory elements 104 may store an application 118. In various embodiments, the application 118 may be stored in the local memory 108, the one or more bulk storage devices 110, or apart from the local memory and the bulk storage devices. It should be appreciated that the data processing system 100 may further execute an operating system (not shown in Fig. 1) that can facilitate execution of the application 118. The application 118, being implemented in the form of executable program code, can be executed by the data processing system 100, e.g., by the processor 102. Responsive to executing the application, the data processing system 100 may be configured to perform one or more operations or method steps described herein.
In one aspect of the present invention, the data processing system 100 may represent a server system.
In another aspect, the data processing system 100 may represent a client data processing system. In that case, the application 118 may represent a client application that, when executed, configures the data processing system 100 to perform the various functions described herein with reference to a "client". Examples of a client can include, but are not limited to, a personal computer, a portable computer, a mobile phone, or the like.
In yet another aspect, the data processing system 100 may represent a server. For example, the data processing system may represent an (HTTP) server, in which case the application 118, when executed, may configure the data processing system to perform (HTTP) server operations.
Various embodiments of the invention may be implemented as a program product for use with a computer system, where the program(s) of the program product define functions of the embodiments (including the methods described herein). In one embodiment, the program(s) can be contained on a variety of non-transitory computer-readable storage media, where, as used herein, the expression "non-transitory computer readable storage media" comprises all computer-readable media, with the sole exception being a transitory, propagating signal.
In another embodiment, the program(s) can be contained on a variety of transitory computer-readable storage media. Illustrative computer-readable storage media include, but are not limited to: (i) non-writable storage media (e.g., readonly memory devices within a computer such as CD-ROM disks readable by a CD-ROM drive, ROM chips or any type of solid-state non-volatile semiconductor memory) on which information is permanently stored; and (ii) writable storage media (e.g., flash memory, floppy disks within a diskette drive or harddisk drive or any type of solid-state random-access semiconductor memory) on which alterable information is stored. The computer program may be run on the processor 102 described herein.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and/or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of embodiments of the present invention has been presented for purposes of illustration, but is not intended to be exhaustive or limited to the implementations in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the present invention. The embodiments were chosen and described in order to best explain the principles and some practical applications of the present invention, and to enable others of ordinary skill in the art to understand the present invention for various embodiments with various modifications as are suited to the particular use contemplated.
Fig. 2 is a flow chart comprising method steps to be performed with the data processing system 100 in Fig. 1.
Step SI involves obtaining a set of potentially matching pairs of products by identifying identical exact first product identifiers of the products in the product database. The first step SI involves a processing step requiring relatively few processing resources by comparing the exact first identifiers to find potentially matching pairs of products. The first step constitutes a filtering step in order to reduce the number of product pairs for which the computing intensive second processing step S2 is performed.
Step S2 involves, for each potentially matching pair of products in the set identified in the first step, calculating at least one matching score. The matching score is obtained by comparing the one or more corresponding soft second product identifiers of the potentially matching pairs of products. The second processing step S2 requires significantly more processing resources by comparing the second soft product identifiers. Since the second processing step is only performed on the filtered dataset of potentially matching pairs of products, a too heavy processing burden may be avoided.
The result of the second processing step S2 is a set of rated potentially matching pairs and is used for assigning a common access key to a group of products stored in the large product database in order to enable access to the group of products .
Step S3 involves obtaining a set of actually matching pairs of products from the set of potentially matching pairs of products, by analyzing whether at least one matching score meets a preset condition. A high matching score calculated from two second (soft) product identifiers, may indicate a high degree of similarity between the two second product identifiers, which may be an indication that two products should be assigned a common access key. The preset condition that a matching score does or does not meet, may be that the matching score exceeds a particular threshold value, or in a particular range. As such, the preset conditions operate as reference values with respect to which matching scores may be considered high or low.
In an optional step S4, product pairs forming indirect matches are identified. For example, when two actually matching pairs of products are obtained in step S3, pair 1 may consist of product A and product B, and pair 2 may consist of product B and product C. Then product A and product C form an indirect match since they both form an actually matching pair with product B.
Step S5 involves assigning the common access key to the group of products, which is performed by taking a first product and assigning a common access key to at least all products that form an actually matching pair with this first product. An optional sub-step in step S5 involves assigning the common access key also to all products that form an indirect match with this first product.
Fig. 3 shows the steps according to a specific embodiment that results in the assignment of a common access key to new products that have been added to a product database. Fig. 3 shows an example wherein a group of unchanged products is already present in a product database PD stored in one or more bulk storage devices 110 of Fig. 1, and wherein a group G1 of new products has been added to the product database PD. The product database PD at this point comprises both the group G2 of unchanged products and the group of new products G1. To the products in the group of unchanged products G2 a common access key has already been assigned. Operation of the method according to Fig. 3 will be described with reference to Figs . 4-12.
Fig. 4 shows an example product database PD comprising eight products. The first exact product identifiers in this example comprise Brand, EAN and Presentation Group. EAN stands for European Article Number (or International Article Number). EANs are represented by barcodes and are used worldwide for marking products often sold at retail points of sales. Presentation Group is a category of products. An example of a Presentation Group is "5591", which stands for "Tobacco", and comprises many different products with a common denominator (i.e. cigarette cases of different brands).. The second soft product identifiers in this example comprise Price, Contents and Product descriptions.
In this example, the only product to which already a common access key has been assigned is product 2, namely access key "B". Product 2 was already stored in the product database PD and is the only product in group G2 of unchanged products. Product 1 and products 3-8 belong to the group G1 of new products.
Referring to Fig. 3, in a first step SI, the first exact product identifiers of the products in the group G1 of new products are compared to the first product identifiers of the products in the product database PD. Since the product database PD comprises both the group G1 of new products and the group G2 of unchanged products, the first exact product identifiers of each product in the group G1 of new products are compared to the first product identifiers of both the products in group G1 and the products in group G2. From this first step, a set of potentially matching pairs of products is obtained.
Fig. 5 shows an example of step SI of Fig. 3. It shows 28 comparisons of the first exact product identifiers of the product database shown in Fig. 4 (note that the number of possible combinations of two products from eight products is 28). In this example, the first product identifiers EAN and Presentation Group are compared, while the first product identifier Brand is not compared. The EAN of each product is compared to the EAN of all other products and the Presentation Group of each product is compared to the Presentation Group of all other products. In this example, for a pair of products to be considered a potentially matching pair, the pair of products should meet the condition that both products either have an identical EAN or an identical Presentation Group. Note for example comparison 6, between product 1 and product 7, that do not have identical EANs, but do have identical Presentation Groups. Hence products 1 and 7 are considered a potentially matching pair of products. Also note for example comparison 28, between product 6 and product 7. Neither the EANs are identical (500 vs 550), and neither are the Presentation Groups (5000 vs 6000). Hence the pair of product 6 and product 7 is not a potentially matching pair of products. In this example 20 potentially matching pairs have been identified as can be seen in the most right column.
In a second step S2 shown in Fig. 3, matching scores are calculated for each potentially matching pair of products by comparing second soft product identifiers. The matching scores may be based on numbers, number based matching scores, or based on text, text based matching scores. Number based matching scores are for example based on second soft product identifiers relating to price, contents, units sold, units in stock, etc. Text based matching scores are for example based on product descriptions, ingredients descriptions, comments, etcetera .
Fig. 6 shows an example of step S2. It shows the calculation of matching scores for the potentially matching pairs identified in Fig. 5. In this example four matching scores are calculated and depicted in the columns marked by an arrow. Two number based matching scores are calculated, one based on prices (Price matching score) and one based on contents (Contents matching score). In this case the number based matching scores are ratios of the prices and contents. Fig. 6 also shows two text based matching scores in the most right two columns, which are calculated by applying two text string comparison algorithms, algo 1 and algo 2, to the product descriptions of each pair, yielding two matching scores.
Algo 1 may be a Longest Common Subsequence algorithm that calculates an LCS ratio as a text based matching score of two compared free text strings, which in this case are two product descriptions. The operation of the algorithm is best explained by an example.
For example, it may be that the first free text string is "ABCDEFGH", and the second free text string is "ABXXEFGH". The common subsequences in these two text strings are "AB" and "EFGH". Hence, the number of characters of all common character sequences is 6. The average number of characters of the first free text string and the second free text string is 8, since both the first and second free text string consist of 8 characters. The LCS ratio may then be calculated as 6 divided by 8, leading to an LCS ratio of 0.75.
Algo 2 may be a Compare Two Strings algorithm that calculates a CTS ratio as a text based matching score of two compared free text strings, which in this case are two product descriptions.
The CTS algorithm is best explained by an example. It may be that the first free text string is "ABCDEFGH", and that the second free text string is "EFGHABCD". The "A" in the first position of the first free text string matches with the "A" at the fifth position in the second free text string. A matching character count is increased by 1 (to 1). Then, the second character of the first free text string is compared to the sixth character of the second free text string in order to find a common subsequence. Since both characters are "B", these also match. The matching character count is increased by 1 (to 2) and a subsequence count is increased by 1 (to 1). Then the third character of the first free text string and the seventh character of the second free text string are compared to see whether the common subsequence is even longer. Since both characters are "C", these match. The matching character count is increased by 1 (to 3) and the subsequence count is also increased by 1 (to 2). Next, the fourth character of the first free text string is compared to the eighth character of the second free text string. Both are "D" and match. The matching character count is increased by 1 (to 4) and the subsequence count is increased by 1 (to 3).
The complete common subsequence "ABCD" has now been identified .
Next, in order to find another common subsequence, the fifth character of the first free text string is compared to the first character of the second free text string. Since both are "E", these match. The common character count is increased by 1 (to 5). The subsequence count is not increased by 1, since no common character subsequence has been identified yet. (It may be only one matching character.) Performing the steps as described above in finding the common subsequence "ABCD", but now for "EFGH", at the end, the common character count is 8 and the subsequence count is 6.
The CTS score may be calculated with the following formula :
"Weight" is a weighing factor that determines the importance of the subsequence count in the calculation and "longest string length" is the number of characters of the longest text string among first free text string and the second free text string.
As can be seen in Fig. 6, algo 1 and algo 2 may yield different matching scores. Note especially pair 4, where product description 1 is "APPLE JUICE" and product description 2 is "JUICE APPLE". Algo 1, which may be an LCS algorithm configured to find common subsequences, may result in a low score of 0.10, whereas algo 2, which may be a CTS algorithm configured to find both common subsequences and common characters, results in a much higher score of 0.80.
In a third step S3 the calculated matching scores are analyzed to determine whether they meet preset conditions. Fig. 3 shows that the preset conditions are delivered by a Rules Engine Source of the data processing system of Fig. 1. The analysis of whether matching scores meet preset conditions is depicted by the diamond shaped box "Analyze matching scores and preset conditions". When a potentially matching pair does not meet a preset condition, it is not an actually matching pair. If a potentially matching pair does meet the preset conditions, it is an actually matching pair of products .
Figure 7 shows an example of the applied preset conditions per potentially matching pair as shown in Fig. 5 and Fig. 6. The preset conditions are delivered by the Rules Engine Source of Fig. 3. In this example the preset conditions for the number based matching scores relate to ranges and the conditions for the text based matching scores relate to a threshold value. Note that each type of matching score, i.e. matching scores based on prices, matching scores based on contents and matching scores based on product descriptions, should meet different preset conditions (i.e. a "Price Preset Condition", "Contents Preset Condition" and "Product Description Preset Condition"). Also note that the preset conditions are dependent on the type of identified identical first product identifiers. This can be seen by looking at pair 5 and pair 6, indicated by arrows. The products of pair 5 have identical EANs and the price matching score should meet the preset condition that it is between 0.70 and 1.43. The products of pair 6 do not have identical EANs, they have identical Presentation Group (not shown in Fig.7), and the price matching score should meet the preset condition that it is between 0.90 and 1.11. In a similar way the preset conditions for the matchings scores based on contents and based on product descriptions are dependent on the type of identified identical first product identifier.
Fig. 8 shows an example of step S3 of Fig. 3, wherein the matching scores of Fig. 6 are analyzed whether they meet the preset conditions of Fig. 7. The columns indicated by an arrow show the results. See for example pair 2, consisting of product 1 and product 3, which has a price matching score of 3.03 and therefore does not meet the preset condition that it should be in the range of 0.70 - 1.43.
Fig. 9 shows a summary of the results of the analysis performed in step S3 in the example of Fig. 8. In the rightmost column, indicated by an arrow, the outcome is shown whether a pair is an actually matching pair or not. In this example the condition is applied that at least one of the text based matching scores should meet a preset condition and that both the number based matching scores should meet preset conditions. This can be seen in Fig. 9 for pair 3, consisting of product 1 and product 4, where only the price preset condition is not met, which leads to the result that pair 3 is not an actually matching pair of products. Also note pair 4, where only one text based matching score does not meet a preset condition, which leads to the result that pair 4 is an actually matching pair of products.
Fig. 10 shows the set of actually matching pairs.
In a further step S5 of Fig. 3 a common access key is assigned to a group of products. Note that the optional step S4 of Fig 2, identifying indirectly matching pairs, is not shown, but may be performed prior to assigning a common access key.
Fig. 11 shows an exemplary result of an embodiment of the computer-implemented method. It shows the product database of Fig. 4, wherein the common access key has been assigned. As can be seen in Fig. 4, a common access key, "B", had already been assigned to product 2, since product 2 is comprised in the group G2 of unchanged products. Therefore product 1, which is an actually matching pair with product 2, is assigned common access key "B". Furthermore, since product 1 also forms an actually matching pair with product 5 and 6 (see Fig. 10), the common access key "B" has also been assigned to product 5 and 6. Although product 4 does not form an actually matching pair of products with product 1, it does form an actually matching pair with product 2 (see pair 8 in Fig. 10), thus product 4 is an "indirect match" with product 1. Hence the common access key "B" has also been assigned to product 4.
Figure 12 shows another example result of the method, wherein a condition has been applied post assignment of the common access key. A post assigning applied condition may be that the group of products does not comprise more than one product without an end list date. The end list dates of products have been disregarded in the previous example steps, but are shown in figure 12 in the column indicated by an arrow. Since both product 5 and 6 do not have an end list date, the post assignment applied condition is not met. As a result, a different common access key has been assigned to product 6, namely "C".

Claims (15)

1. Op een computer geïmplementeerde werkwijze voor het toewijzen van een gemeenschappelijke toegangsleutel aan een groep in een productgegevensbank opgeslagen producten, waarbij de gemeenschappelijke toegangssleutel toegang mogelijk maakt tot de groep producten in de productgegevensbank, waarbij producten in de productgegevensbank een eerste product, een tweede product en een derde product omvatten, waarbij de producten zijn geassocieerd met een of meer eerste product-identificaties waaronder Europese artikelnummers (EAN) en een of meer tweede productidentificaties, verschillend van de eerste productidentificaties, waarbij de werkwijze omvat: - het, in een eerste stap, verwerven van een verzameling potentieel bij elkaar passende producten, door het identificeren van identieke Europese artikelnummers van de producten in de productgegevensbank, waarbij de verzameling potentieel bij elkaar passende paren producten paren omvat van het eerste product en het tweede product, het tweede product en het derde product, en het eerste product en het derde product ; het, in een tweede stap, voor elk in de eerste stap geïdentificeerd potentieel bij elkaar passend paar producten in de verzameling, berekenen van ten minste één overeenstemmingsscore, waarbij de ten minste één bijpassend-heidsscore wordt verkregen door de een of meer productidentificaties van de potentieel bij elkaar passende paren producten te vergelijken; het, in een derde stap, verkrijgen van een verzameling feitelijk bij elkaar passende paren producten uit de verzameling potentieel bij elkaar passende paren producten, door te analyseren of ten minste één bijpassendheidsscore voldoet aan een vooraf bepaalde voorwaarde, waarbij de verzameling feitelijk bij elkaar passende paren producten het paar van het eerste product en het tweede product omvat; - het, in een vierde stap, toewijzen van de gemeenschappelijk toegangssleutel aan de groep producten die het eerste product en het tweede product omvatten door de gemeenschappelijke toegangssleutel toe te wijzen aan het eerste product, het tweede product en andere producten die een feitelijk bij elkaar passend paar producten vormen met het eerste product.A computer-implemented method for assigning a common access key to a group of products stored in a product database, wherein the common access key allows access to the group of products in the product database, wherein products in the product database a first product, a second product and a third product, wherein the products are associated with one or more first product identifications including European item numbers (EAN) and one or more second product identifiers, different from the first product identifications, the method comprising: - in a first step , acquiring a collection of potentially matching products, by identifying identical European article numbers of the products in the product database, the collection of potentially matching pairs of products comprising pairs of the first product and the second product, the second product ct and the third product, and the first product and the third product; calculating, in a second step, for each potentially matching pair of products in the set identified in the first step, at least one matching score, the at least one matching score being obtained by the one or more product identifications of the potential compare matching pairs of products; obtaining, in a third step, a set of actually matching pairs of products from the set of potentially matching pairs of products, by analyzing whether at least one matching score meets a predetermined condition, wherein the set of actually matching pairs products comprises the pair of the first product and the second product; - assigning, in a fourth step, the common access key to the group of products comprising the first product and the second product by assigning the common access key to the first product, the second product and other products that actually match each other few products with the first product. 2. Werkwijze volgens conclusie 1, waarbij de ten minste één bijpassendheidsscore van het potentieel bij elkaar passende paar van het eerste product en het derde product niet voldoet aan de vooraf bepaalde voorwaarde, bovendien de stappen omvattend van het toewijzen van de gemeenschappelijke toegangssleutel aan het derde product wanneer het derde product een feitelijk bij elkaar passend paar vormt met het tweede product.The method of claim 1, wherein the at least one matching score of the potentially matched pair of the first product and the third product does not meet the predetermined condition, further comprising the steps of assigning the common access key to the third product when the third product forms an actual pair with the second product. 3. Werkwijze volgens conclusie 1 of 2, waarbij de producten in de productengegevensbank een groep nieuwe producten omvat waaraan geen gemeenschappelijke toegangssleutel is toegewezen, en een groep ongewijzigde producten, waaraan een gemeenschappelijke toegangssleutel is toegewezen, en waarbij elk potentieel bij elkaar passend paar producten ten minste één product omvat uit de groep nieuwe producten.Method according to claim 1 or 2, wherein the products in the product database comprise a group of new products to which a common access key is not assigned, and a group of unchanged products, to which a common access key is assigned, and wherein each potentially matching pair of products comprises at least one product from the group of new products. 4. Werkwijze volgens een of meer van de voorgaande conclusies, waarbij een voorafgaande gemeenschappelijke toegangssleutel is toegewezen aan het tweede product en waarbij de gemeenschappelijke aan het eerste product toegewezen toegangssleutel de gemeenschappelijke voorafgaande toegangssleutel van het tweede product is.Method according to one or more of the preceding claims, wherein a preceding common access key is assigned to the second product and wherein the common access key assigned to the first product is the common prior access key of the second product. 5. Werkwijze volgens een of meer van de voorgaande conclusies, waarbij de eerste productidentificaties betrekking hebben op exacte identificaties.Method according to one or more of the preceding claims, wherein the first product identifications relate to exact identifications. 6. Werkwijze volgens een of meer van de voorgaande conclusies, waarbij de een of meer productidentificaties betrekking hebben op zachte identificaties.Method according to one or more of the preceding claims, wherein the one or more product identifications relate to soft identifications. 7. Werkwijze volgens een of meer van de voorgaande conclusies, waarbij de ten minste één tweede productidentifi-catie die verband houdt met het eerste product een eerste getal is en ten minste één tweede productidentificatie die verband houdt met het tweede product een tweede getal is, waarbij de bijpassendheidsscore van het potentieel bij elkaar passende paar van het eerste en tweede product een op een getal gebaseerde bijpassendheidsscore is, die is berekend door het eerste getal te delen door het tweede getal.Method according to one or more of the preceding claims, wherein the at least one second product identification associated with the first product is a first number and at least one second product identification associated with the second product is a second number, wherein the matching score of the potentially matched pair of the first and second product is a number based matching score, calculated by dividing the first number by the second number. 8. Werkwijze volgens één of meer van de voorgaande conclusies, waarbij de ten minste één tweede productidentifi-catie die verband houdt met het eerste product een eerste vrij-teksttekenreeks is en ten minste één tweede productiden-tificatie die verband houdt met het tweede product een tweede vrije-teksttekenreeks is, waarbij de bijpassendheidsscore van het potentieel bij elkaar passende paar van het eerste en tweede product een op tekst gebaseerde bijpassendheidsscore is, die wordt berekend door het toepassen van ten minste één teksttekenreeks vergelijkingsalgoritme op de eerste vrije-teksttekenreeks en de tweede vrije-teksttekenreeks.A method according to one or more of the preceding claims, wherein the at least one second product identifier associated with the first product is a first free text string and at least one second product identifier associated with the second product second free text string, wherein the matching score of the potentially matched pair of the first and second product is a text based matching score, calculated by applying at least one text string comparison algorithm to the first free text string and the second free text string. 9. Werkwijze volgens conclusie 8, waarbij het ten minste één teksttekenreeks vergelijkingsalgoritme er ten minste één is van: - een Langste Gemeenschappelijke Deelsequentie (Longest Common Subsequence; LCS) algoritme is dat een LCS verhouding berekent zijnde de verhouding van een aantal tekens van alle gemeenschappelijke tekensequenties die voorkomen in zowel de eerste vrije tekst tekenreeks als de tweede vrije tekst tekenreeks en een gemiddeld aantal tekens van de eerste vrije tekst tekenreeks en de tweede vrije tekst tekenreeks; - een Vergelijk Twee Tekenreeksen (Compare Two Strings; CTS) algoritme dat een CTS score berekent op basis van een aantal identieke tekens in de eerste en tweede vrije tekst tekenreeks, een aantal tekens van alle gemeenschappelijke tekensequenties die voorkomen in zowel de eerste vrije text tekenreeks als de tweede vrije tekst tekenreeks, een weegfactor en een gemiddeld aantal tekens van de eerste vrije tekst tekenreeks en de tweede vrije tekst tekenreeks.The method of claim 8, wherein the at least one text string comparison algorithm is at least one of: - a Longest Common Subsequence (Longest Common Subsequence; LCS) algorithm that calculates an LCS ratio being the ratio of a number of characters of all common character sequences occurring in both the first free text string and the second free text string and an average number of characters from the first free text string and the second free text string; - a Compare Two Strings (Compare Two Strings; CTS) algorithm that calculates a CTS score based on a number of identical characters in the first and second free text string, a number of characters from all common character sequences that occur in both the first free text string as the second free text string, a weighting factor and an average number of characters from the first free text string and the second free text string. 10. Werkwijze volgens een of meer van de voorgaande conclusies 7 tot en met 9, waarbij de ten minste één bijpas-sendheidsscore ten minste één op getallen gebaseerde bijpassendheidsscore omvat en ten minste één op tekst gebaseerde bijpassendheidsscore, waarbij de vooraf bepaalde voorwaarde de voorwaarde omvat dat elk van de ten minste één op getallen gebaseerde bijpassendheidsscore voldoet aan een vooraf bepaalde subvoor-waarde, en dat ten minste één van de ten minste één op tekst gebaseerde bijpassendheidsscore voldoet aan een vooraf bepaalde subvoorwaarde.The method of any one of the preceding claims 7 to 9, wherein the at least one matching score includes at least one number-based matching score and at least one text-based matching score, the predetermined condition comprising the condition that each of the at least one number-based suitability score meets a predetermined sub-condition, and that at least one of the at least one text-based suitability score satisfies a predetermined sub-condition. 11. Werkwijze volgens één of meer van de voorgaande conclusies bovendien de stappen omvattend: - het opsplitsen van de groep producten in ten minste twee subgroepen wanneer de groep producten niet voldoet aan een na het toewijzen toegepaste voorwaarde; - het toewijzen van verschillende gemeenschappelijke toegangssleutels aan de eerste subgroep en de tweede subgroep.Method according to one or more of the preceding claims, furthermore comprising the steps of: - splitting the group of products into at least two subgroups when the group of products does not satisfy a condition applied after allocation; - assigning different common access keys to the first subgroup and the second subgroup. 12. Werkwijze volgens een of meer van de voorgaande conclusies, waarbij de vooraf bepaalde voorwaarde afhankelijk is van een type van vergeleken tweede productidentificaties.Method according to one or more of the preceding claims, wherein the predetermined condition depends on a type of compared second product identifications. 13. Werkwijze volgens een of meer van de voorgaande conclusies, waarbij de vooraf bepaalde voorwaarde afhankelijk is van een type geïdentificeerde identieke eerste productidentif icaties .Method according to one or more of the preceding claims, wherein the predetermined condition depends on a type of identified identical first product identifications. 14. Computersysteem omvattende een verwerkingseenheid die is ingericht voor het uitvoeren van de werkwijze volgens één of meer van de voorgaande conclusies.A computer system comprising a processing unit which is adapted to perform the method according to one or more of the preceding claims. 15. Computerprogramma of -suite van computerprogramma's dat/die ten minste één programmacodegedeelte omvat of een computerprogrammaproduct waarop ten minste één programmacodegedeelte is opgeslagen, waarbij het programmacodegedeelte, wanneer dat wordt uitgevoerd op een computersysteem, is ingericht voor het uitvoeren van de werkwijze volgens één of meer van de voorgaande conclusies.A computer program or suite of computer programs comprising at least one program code portion or a computer program product on which at least one program code portion is stored, wherein the program code portion, when executed on a computer system, is arranged to perform the method according to one or more more of the preceding claims.
NL2015279A 2015-08-06 2015-08-06 Computer-implemented method for assigning a common access key to a group of products. NL2015279B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
NL2015279A NL2015279B1 (en) 2015-08-06 2015-08-06 Computer-implemented method for assigning a common access key to a group of products.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
NL2015279A NL2015279B1 (en) 2015-08-06 2015-08-06 Computer-implemented method for assigning a common access key to a group of products.

Publications (1)

Publication Number Publication Date
NL2015279B1 true NL2015279B1 (en) 2017-02-21

Family

ID=55077580

Family Applications (1)

Application Number Title Priority Date Filing Date
NL2015279A NL2015279B1 (en) 2015-08-06 2015-08-06 Computer-implemented method for assigning a common access key to a group of products.

Country Status (1)

Country Link
NL (1) NL2015279B1 (en)

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ANONYMOUS: "Big data - Wikipedia, the free encyclopedia", 5 August 2015 (2015-08-05), pages 1 - 15, XP055259224, Retrieved from the Internet <URL:https://en.wikipedia.org/w/index.php?title=Big_data&oldid=674660688> [retrieved on 20160317] *
ANONYMOUS: "Cluster analysis - Wikipedia, the free encyclopedia", 4 August 2015 (2015-08-04), pages 1 - 16, XP055259275, Retrieved from the Internet <URL:https://en.wikipedia.org/w/index.php?title=Cluster_analysis&oldid=674547149> [retrieved on 20160317] *
ANONYMOUS: "Data mining - Wikipedia, the free encyclopedia", 3 August 2015 (2015-08-03), pages 1 - 21, XP055259250, Retrieved from the Internet <URL:https://en.wikipedia.org/w/index.php?title=Data_mining&oldid=674422857> [retrieved on 20160317] *

Similar Documents

Publication Publication Date Title
JP6802370B2 (en) Product title selection
US9965531B2 (en) Data storage extract, transform and load operations for entity and time-based record generation
US10504120B2 (en) Determining a temporary transaction limit
JP6352798B2 (en) Marketing measure optimization apparatus, method, and program
WO2019061994A1 (en) Electronic device, insurance product recommendation method and system, and computer readable storage medium
US10163117B2 (en) System, method, and computer program product for model-based data analysis
US20160004757A1 (en) Data management method, data management device and storage medium
WO2019071906A1 (en) Financial product recommendation device and method, and computer-readable storage medium
US11450434B2 (en) Implementation of machine-learning based query construction and pattern identification through visualization in user interfaces
US20160132496A1 (en) Data filtering
US20180121939A1 (en) Method and system for predicting behavioral characteristics of customers in physical stores
US11948094B2 (en) Selecting attributes by progressive sampling to generate digital predictive models
US10325274B2 (en) Trend data counter
KR20200025431A (en) Total management system and method about open market
US11295326B2 (en) Insights on a data platform
US20160127255A1 (en) Method and system for capacity planning of system resources
US20180260875A1 (en) Method and system for providing one or more purchase recommendations to a user
US20160005056A1 (en) System and method for predicting affinity towards a product based on personality elasticity of the product
JP6643912B2 (en) Proposal support method, proposal support system, and program
NL2015279B1 (en) Computer-implemented method for assigning a common access key to a group of products.
CN112487021A (en) Correlation analysis method, device and equipment for business data
US20210182701A1 (en) Virtual data scientist with prescriptive analytics
JPWO2014050837A1 (en) Determination apparatus, determination method, and program
US20190005525A1 (en) System and method for determining effectiveness of product promotions
US11710137B2 (en) Method and system for identifying electronic devices of genuine customers of organizations