Implementing Text Changes in the DLC QPL

Last week, a program analyst at Rebate Bus became very confused when looking at a product qualified under “ Outdoor Non-Cutoff and Semi-Cutoff Wall-Mounted Area Luminaires”.

Where did all the rebates go?

Just a couple days earlier, the map had been full of rebates, so we knew that the data was there.

However, in the intervening time, our automated DLC synchronization process had executed. This meant that the product types available to our analyst team updated accordingly! I knew that there must be some sort of text change in DLC data which caused this error.

Comparing the Rebate Bus listed Con Edison eligible categories for the wall packs with the product categories for products like this one that were showing few rebates, we realized that a change from “Outdoor Non-Cutoff and Semi-Cutoff Wall-Mounted Area Luminaires” to “Outdoor Non-Cutoff and Semi-Cutoff Wall-Mounted Area Luminaires” introduced the issue.

I’m tempted to make Rebate Bus’ matching algorithm ignore case in order to handle this sort of situation. However, doing so would only be a solution for Rebate Bus, and only a partial solution at that. Instead of every developer who uses DLC’s data encounter and handle this issue independently, doesn’t it make sense for DLC to define the Primary Application field as a reference to another tab of its export spreadsheet? Think about it — including Primary Application in another tab would open up a way for them to include metadata, descriptions, and qualification criteria in a way that developers could use. It would also enable analysis to be embedded, like how many products qualified, how many applications were received, etc, at a category level. It would enable statistical properties like standard deviations and averages to be listed across the category. This would potentially be useful for program designers.

This solution would also solve the problem we encountered. If the Primary Application was a reference to another tab instead of just a text field, Rebate Bus would define a category ID instead of matching by text. Then, if DLC decided to change a name, punctuation, or spelling, the category ID would stay the same. Just making Rebate Bus case-insensitive wouldn’t get that level of reliability!

We’ve got the Non-Cutoff Wall Luminaires back to normal — this is what it looks like today:

Now go retrofit some walls!

Until next time,

Mitch Vogel, Rebate Bus


Leave a Reply

Your email address will not be published. Required fields are marked *