So if I have a transpromo piece that I am working on how do I know that the result is correct? And, more importantly, that my employees have done the right things to produce it.
Let's think about the messages first. One presumes that they are provided along with some sort of characterization about which ad goes with which database query type. So, in our example from last time there would be an ad for X, Y and Z. Validation of X, Y, and Z from the perspective that they are graphically correct is fairly straight forward particularly if the ads are in PDF or raster form.
If they are not its important to convert them to one or the other. The reason for this is that some formats, e.g., PostScript and EPS, can affect pages they are embedded within. There an also be problems with formats like PDF. An example of this might be an embedded spot color. Ideally there are already mechanisms in place to address these types of issues and correct them.
As to when its right you will have to RIP the pieces and check that there are no errors when they are produced. Further checking will be needed which will be discussed later...
So as you will recall our coupon criteria (which pieces get which transpromo ad) is as follows:
Coupon A B
------------ ---- ----
X T 1
X T 3
Y S 1
Y S 2
Z X 4
Now, from a database perspective let's think about what might arrive in our "raw" customer database along with mailing information. Let's assume the mailing is important and everyone must receive the information.
Account A B
------------ ---- ----
000001 T 1
000002 T 3
000042 T 4
000003 S 1
000004 3
000005 X 4
000065 X
000075 X 1
Now our customer has supposedly given us specific criteria for each coupon. So, for the moment, let's believe what they have told us an create an extraction criteria to count how many customers get each type of coupon.
(We are going to use various forms of generic query and programming language fragments to discuss the next part of this. First, its important to remember that the logic we are using can be expressed in most any database or programming language so the details do not matter. Secondly, some VDP applications allow this in the application itself, others do not so you would do them "outside" the application - again the details are not important.)
So I might say:
Count Unique (Account) where A = 'T' and (B = '1' or B = '3')
for coupon X,
Count Unique (Account) where A = 'S' and (B = '1' or B = '2')
for coupon Y, and
Count Unique (Account) where A = 'X' and B = '4'
for coupon Z. Now, this gives me a count of 2 for X, 1 for Y and 1 for Z - a total of 4.
But we received 8 records! Well, first off our queries are correct - they ask specifically for what the customer told us to look for. But our result is incorrect. The reason for this is of course that the initial database we received is not logically closed over the given queries.
In this case we use closed to mean that if we A) receive a set of customer records and B) a set of queries to extract specific groups of customer then we have closure over A and B if we add up the count of all B's queries and we match the count of records in A.
In real life we can usually assume some sort of query for "all the rest", e.g., in this case for the items that do not match, that, when added to the other queries matches the total.
In any kind of VDP and/or transpromo situation it is a really good idea to validate what you receive from your customer for logical closure. This is just as important as making sure there are no graphic problems like spot colors. If you don't do this then you are sure to create misery for yourself and your customer.
No comments:
Post a Comment