experian-data-dictionary 1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +8 -0
  3. data/.pryrc +3 -0
  4. data/.rspec +2 -0
  5. data/.ruby-gemset +1 -0
  6. data/.ruby-version +1 -0
  7. data/Gemfile +12 -0
  8. data/Gemfile.lock +61 -0
  9. data/README.rdoc +43 -0
  10. data/Rakefile +32 -0
  11. data/docs/BCM_Sample_Experian.csv +1 -0
  12. data/docs/DataDictionary_NonProfit_Experian.pdf +0 -0
  13. data/experian_data_dictionary.gemspec +21 -0
  14. data/lib/element_numbers/en_0000.rb +23 -0
  15. data/lib/element_numbers/en_0100.rb +34 -0
  16. data/lib/element_numbers/en_0103.rb +19 -0
  17. data/lib/element_numbers/en_0107.rb +24 -0
  18. data/lib/element_numbers/en_0108.rb +448 -0
  19. data/lib/element_numbers/en_0110.rb +20 -0
  20. data/lib/element_numbers/en_0112.rb +17 -0
  21. data/lib/element_numbers/en_0113.rb +22 -0
  22. data/lib/element_numbers/en_0118.rb +20 -0
  23. data/lib/element_numbers/en_0119.rb +16 -0
  24. data/lib/element_numbers/en_0130.rb +17 -0
  25. data/lib/element_numbers/en_0131.rb +18 -0
  26. data/lib/element_numbers/en_0132.rb +24 -0
  27. data/lib/element_numbers/en_0133.rb +16 -0
  28. data/lib/element_numbers/en_0134.rb +22 -0
  29. data/lib/element_numbers/en_0135.rb +22 -0
  30. data/lib/element_numbers/en_0136.rb +22 -0
  31. data/lib/element_numbers/en_0137.rb +22 -0
  32. data/lib/element_numbers/en_0138.rb +22 -0
  33. data/lib/element_numbers/en_0139.rb +22 -0
  34. data/lib/element_numbers/en_0140.rb +22 -0
  35. data/lib/element_numbers/en_0141.rb +22 -0
  36. data/lib/element_numbers/en_0155.rb +18 -0
  37. data/lib/element_numbers/en_0156.rb +18 -0
  38. data/lib/element_numbers/en_0160.rb +29 -0
  39. data/lib/element_numbers/en_0162.rb +26 -0
  40. data/lib/element_numbers/en_0164.rb +28 -0
  41. data/lib/element_numbers/en_0174.rb +21 -0
  42. data/lib/element_numbers/en_0711.rb +40 -0
  43. data/lib/element_numbers/en_0715.rb +22 -0
  44. data/lib/element_numbers/en_0716.rb +37 -0
  45. data/lib/element_numbers/en_0717.rb +41 -0
  46. data/lib/element_numbers/en_310M.rb +76 -0
  47. data/lib/element_numbers/en_8502.rb +40 -0
  48. data/lib/element_numbers/en_8503.rb +40 -0
  49. data/lib/element_numbers/en_8504.rb +40 -0
  50. data/lib/element_numbers/en_8505.rb +40 -0
  51. data/lib/element_numbers/en_8519.rb +40 -0
  52. data/lib/element_numbers/en_8525.rb +40 -0
  53. data/lib/element_numbers/en_8526.rb +40 -0
  54. data/lib/element_numbers/en_8528.rb +40 -0
  55. data/lib/element_numbers/en_8531.rb +40 -0
  56. data/lib/element_numbers/en_8532.rb +40 -0
  57. data/lib/element_numbers/en_8533.rb +40 -0
  58. data/lib/element_numbers/en_8538.rb +40 -0
  59. data/lib/element_numbers/en_8574.rb +40 -0
  60. data/lib/element_numbers/en_A107.rb +24 -0
  61. data/lib/element_numbers/en_B000.rb +20 -0
  62. data/lib/element_numbers/en_B2185.rb +17 -0
  63. data/lib/element_numbers/en_B3010.rb +17 -0
  64. data/lib/element_numbers/en_B5011.rb +17 -0
  65. data/lib/element_numbers/en_B5013.rb +17 -0
  66. data/lib/element_numbers/en_B5014.rb +17 -0
  67. data/lib/element_numbers/en_B5016.rb +17 -0
  68. data/lib/element_numbers/en_D105N.rb +29 -0
  69. data/lib/element_numbers/en_D200.rb +19 -0
  70. data/lib/element_numbers/en_F031.rb +29 -0
  71. data/lib/element_numbers/en_G2001.rb +15 -0
  72. data/lib/element_numbers/en_G2514.rb +26 -0
  73. data/lib/element_numbers/en_G2516.rb +26 -0
  74. data/lib/element_numbers/en_G2601.rb +14 -0
  75. data/lib/element_numbers/en_G2602.rb +19 -0
  76. data/lib/element_numbers/en_G2603.rb +25 -0
  77. data/lib/element_numbers/en_GE06.rb +28 -0
  78. data/lib/element_numbers/en_L000.rb +29 -0
  79. data/lib/element_numbers/en_P213E.rb +36 -0
  80. data/lib/element_numbers/en_P213H.rb +262 -0
  81. data/lib/element_numbers/en_P213W.rb +35 -0
  82. data/lib/element_numbers/en_P400.rb +47 -0
  83. data/lib/element_numbers/en_T200.rb +20 -0
  84. data/lib/element_numbers/en_V000.rb +18 -0
  85. data/lib/element_numbers/en_Y000.rb +20 -0
  86. data/lib/experian.rb +40 -0
  87. data/spec/functional/en_0000_spec.rb +24 -0
  88. data/spec/functional/en_0100_spec.rb +34 -0
  89. data/spec/functional/en_0103_spec.rb +20 -0
  90. data/spec/functional/en_0107_spec.rb +21 -0
  91. data/spec/functional/en_0108_spec.rb +504 -0
  92. data/spec/functional/en_0110_spec.rb +22 -0
  93. data/spec/functional/en_0112_spec.rb +19 -0
  94. data/spec/functional/en_0113_spec.rb +25 -0
  95. data/spec/functional/en_0118_spec.rb +23 -0
  96. data/spec/functional/en_0119_spec.rb +19 -0
  97. data/spec/functional/en_0130_spec.rb +21 -0
  98. data/spec/functional/en_0131_spec.rb +22 -0
  99. data/spec/functional/en_0132_spec.rb +18 -0
  100. data/spec/functional/en_0133_spec.rb +16 -0
  101. data/spec/functional/en_0134_spec.rb +27 -0
  102. data/spec/functional/en_0135_spec.rb +27 -0
  103. data/spec/functional/en_0136_spec.rb +27 -0
  104. data/spec/functional/en_0137_spec.rb +27 -0
  105. data/spec/functional/en_0138_spec.rb +27 -0
  106. data/spec/functional/en_0139_spec.rb +27 -0
  107. data/spec/functional/en_0140_spec.rb +27 -0
  108. data/spec/functional/en_0141_spec.rb +27 -0
  109. data/spec/functional/en_0155_spec.rb +19 -0
  110. data/spec/functional/en_0156_spec.rb +19 -0
  111. data/spec/functional/en_0160_spec.rb +22 -0
  112. data/spec/functional/en_0162_spec.rb +19 -0
  113. data/spec/functional/en_0164_spec.rb +22 -0
  114. data/spec/functional/en_0174_spec.rb +21 -0
  115. data/spec/functional/en_0711_spec.rb +21 -0
  116. data/spec/functional/en_0715_spec.rb +24 -0
  117. data/spec/functional/en_0716_spec.rb +24 -0
  118. data/spec/functional/en_0717_spec.rb +21 -0
  119. data/spec/functional/en_310M_spec.rb +78 -0
  120. data/spec/functional/en_8502_spec.rb +22 -0
  121. data/spec/functional/en_8503_spec.rb +22 -0
  122. data/spec/functional/en_8504_spec.rb +23 -0
  123. data/spec/functional/en_8505_spec.rb +22 -0
  124. data/spec/functional/en_8519_spec.rb +22 -0
  125. data/spec/functional/en_8525_spec.rb +22 -0
  126. data/spec/functional/en_8526_spec.rb +22 -0
  127. data/spec/functional/en_A107_spec.rb +24 -0
  128. data/spec/functional/en_B2185_spec.rb +18 -0
  129. data/spec/functional/en_B3010_spec.rb +18 -0
  130. data/spec/functional/en_B5011_spec.rb +18 -0
  131. data/spec/functional/en_B5013_spec.rb +18 -0
  132. data/spec/functional/en_B5014_spec.rb +18 -0
  133. data/spec/functional/en_B5016_spec.rb +18 -0
  134. data/spec/functional/en_D105N_spec.rb +30 -0
  135. data/spec/functional/en_D200_spec.rb +21 -0
  136. data/spec/functional/en_F031_spec.rb +25 -0
  137. data/spec/functional/en_G2001_spec.rb +17 -0
  138. data/spec/functional/en_G2514_spec.rb +21 -0
  139. data/spec/functional/en_G2516_spec.rb +21 -0
  140. data/spec/functional/en_G2602_spec.rb +18 -0
  141. data/spec/functional/en_G2603_spec.rb +21 -0
  142. data/spec/functional/en_L000_spec.rb +16 -0
  143. data/spec/functional/en_P213E_spec.rb +19 -0
  144. data/spec/functional/en_P213H_spec.rb +19 -0
  145. data/spec/functional/en_P213W_spec.rb +19 -0
  146. data/spec/functional/en_P400_spec.rb +17 -0
  147. data/spec/functional/en_T200_spec.rb +23 -0
  148. data/spec/functional/en_V000_spec.rb +18 -0
  149. data/spec/functional/en_Y000_spec.rb +20 -0
  150. data/spec/functional/experian_spec.rb +27 -0
  151. data/spec/spec_helper.rb +23 -0
  152. metadata +259 -0
@@ -0,0 +1,20 @@
1
+ module Experian
2
+ class DataDictionary
3
+
4
+ # Person Type
5
+ def self.en_0110p_description
6
+ 'Assignment of person type in the living unit based on age and activity.'
7
+ end
8
+
9
+ def self.en_0110p(key)
10
+ values = {
11
+ 'P' => 'Primary Decision Maker',
12
+ 'E' => 'Elderly Parent',
13
+ 'D' => 'Deceased',
14
+ 'Y' => 'Young Adult',
15
+ 'O' => 'Other or blank'
16
+ }
17
+ key.empty? ? 'Other or blank' : values[key]
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,17 @@
1
+ module Experian
2
+ class DataDictionary
3
+
4
+ # Deceased Indicator
5
+ def self.en_0112_description
6
+ 'Deceased Indicator identifies client input records that Experian believes are deceased individuals. This information is sourced primarily from Social Security records and other proprietary sources, as well as consumers who may have contacted Experian directly. The deceased indicator communicates that we have reason to believe that the individual is deceased based on this source information.'
7
+ end
8
+
9
+ def self.en_0112(key)
10
+ values = {
11
+ 'D' => 'Deceased Indicator',
12
+ 'blank' => 'Unknown'
13
+ }
14
+ key.empty? ? 'Unknown' : values[key]
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,22 @@
1
+ module Experian
2
+ class DataDictionary
3
+
4
+ # Combined Homeowner
5
+ def self.en_0113a_description
6
+ 'Combined homeowner is a mixture of several data elements / fields. This element provides these separate data components in a single position. Homeowner information indicates the likelihood of a consumer owning a home, and is received from tax assessor and deed information. For records where exact Homeownership information is not available, homeownership propensity is calculated using a proprietary statistical model which predicts the likelihood of homeownership. Renter status is derived from self reported data. Unit numbers are not used to infer rented status because units may be owner condominium/coop. Probable Renter is calculated using an algorithm based on lack of Homeowner, the Address Type, and Census Percent Renter.'
7
+ end
8
+
9
+ def self.en_0113a(key)
10
+ values = {
11
+ 'H' => 'Homeowner',
12
+ '9' => 'Extremely Likely',
13
+ '8' => 'Highly Likely',
14
+ '7' => 'Likely',
15
+ 'R' => 'Renter',
16
+ 'T' => 'Probable Renter',
17
+ 'U' => 'Unknown'
18
+ }
19
+ key.empty? ? 'Unknown' : values[key]
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,20 @@
1
+ module Experian
2
+ class DataDictionary
3
+
4
+ # Dwelling Type
5
+ def self.en_0118_description
6
+ 'Each household is assigned a dwelling type code based on United States Postal Service (USPS) information. Single Family Dwelling Units are residences for one family or living unit (S). If the address contains an apartment number or has a small dwelling size (5 units or less), the code is set to Multi-Family (A). Marginal Multi Family Dwelling Units lack an apartment number and are considered of questionable deliverability (M). Values also include P.O. Boxes (P) and Unknown dwelling types (U).'
7
+ end
8
+
9
+ def self.en_0118(key)
10
+ values = {
11
+ 'S' => 'Single Family',
12
+ 'A' => 'Multi-Family & Condominiums',
13
+ 'M' => 'Marginal Multi-Family',
14
+ 'P' => 'Post Office Box',
15
+ 'U' => 'Unknown'
16
+ }
17
+ key.empty? ? 'Unknown' : values[key]
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,16 @@
1
+ module Experian
2
+ class DataDictionary
3
+
4
+ # Length Of Residence
5
+ def self.en_0119_description
6
+ "Length of Residence (LOR) is the length of time a Living Unit has resided at their current address. A primary source of LOR is public source white page compilation initiating a counter showing the first time a name and number appear in the directory. LOR information is also received from proprietary sources and through updates of our source files against the USPS National Change of Address* file. For all sources, LOR data is aged over time.\n\nWhen there is insufficient data to match a customer's record to our Enrichment master for Length of Residence, a median LOR based on the LOR's assigned to other living units in the same ZIP+4 area is used. In the rare case that the ZIP+4 is not on the record, median LOR is based on the LOR's assigned to other records in that ZIP region.\n\nThe median level data applied to records for this element can be identified through the Enrichment Mandatory Append - Total Enrichment Match Type indicator (E)."
7
+ end
8
+
9
+ def self.en_0119(key)
10
+ return nil unless /[0-9]+/ =~ key
11
+ key.to_i == 0 ? 'Less than a year' : [key.to_i, 'years'].join(' ')
12
+ end
13
+
14
+ end
15
+ end
16
+
@@ -0,0 +1,17 @@
1
+ module Experian
2
+ class DataDictionary
3
+
4
+ # Direct Mail Responder - Individual Level
5
+ def self.en_0130_description
6
+ 'Direct Mail Responder information identifies consumers who have purchased by direct mail. Data is carried at the individual level. If one member of a household is a direct mail responder, that member will be coded as a direct mail responder at the individual level.'
7
+ end
8
+
9
+ def self.en_0130(key)
10
+ values = {
11
+ 'Y' => 'Yes',
12
+ 'U' => 'Unknown'
13
+ }
14
+ key.empty? ? 'Unknown' : values[key]
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,18 @@
1
+ module Experian
2
+ class DataDictionary
3
+
4
+ # Multi-Company Direct Mail Responder - Living Units Level
5
+ def self.en_0131_description
6
+ 'Direct Mail Responder information identifies consumers who have purchased by direct mail. Data is carried at both the individual and household level. If one member of a household is a direct mail responder at the individual level, the remaining members of the household will be coded as a direct mail responder at the household level.'
7
+ end
8
+
9
+ def self.en_0131(key)
10
+ values = {
11
+ 'Y' => 'Yes',
12
+ 'U' => 'Unknown',
13
+ 'M' => 'Multi-Buyer (purchased from multiple mail order companies)'
14
+ }
15
+ key.empty? ? 'Unknown' : values[key]
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,24 @@
1
+ module Experian
2
+ class DataDictionary
3
+
4
+ # MOR Bank- Deduped Hit Count
5
+ def self.en_0132a_description
6
+ 'The total number of categories in which the living unit has at least one hit, but with any specific participant counted in only one category.'
7
+ end
8
+
9
+ def self.en_0132a(key)
10
+ return 'Unknown' if key.size != 3 or key.to_i > 999
11
+ key
12
+ end
13
+
14
+ def self.en_0132b_description
15
+ 'The total number of categories in which the living unit has at least one hit, with participant hits counted in all applicable categories.'
16
+ end
17
+
18
+ def self.en_0132b(key)
19
+ return 'Unknown' if key.size != 3 or key.to_i > 999
20
+ key
21
+ end
22
+
23
+ end
24
+ end
@@ -0,0 +1,16 @@
1
+ module Experian
2
+ class DataDictionary
3
+
4
+ # Multi-Category Buyer
5
+ def self.en_0133_description
6
+ 'Multi-category buyer information identifies consumers who have made purchases by direct mail in multiple product categories. Data is carried at the household level.'
7
+ end
8
+
9
+ def self.en_0133(key)
10
+ values = {
11
+ 'Y' => 'Yes'
12
+ }
13
+ key.empty? ? 'Unknown' : values[key]
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,22 @@
1
+ module Experian
2
+ class DataDictionary
3
+
4
+ # Direct Mail Merchandise Buyer Categories
5
+ def self.en_0134_description
6
+ "The Direct Mail Merchandise Buyer Categories information is compiled via mail order responsiveness by categorized offers/media. Information is collected from 300+ proprietary participants who give us mail order responders and we subsequently categorize them into 1 of 25 categories. No single participant's information may exceed 25% of any category."
7
+ end
8
+
9
+ def self.en_0134(key)
10
+ return 'Unknown' if key.empty? or key.to_i > 9 or key.size > 1
11
+
12
+ if key.to_i == 1
13
+ return key.to_i.to_s + ' Response'
14
+ elsif key.to_i > 1 and key.to_i < 10 or key.to_i == 0
15
+ return key.to_i.to_s + ' Responses'
16
+ else
17
+ return nil
18
+ end
19
+ end
20
+
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ module Experian
2
+ class DataDictionary
3
+
4
+ # Magazine Buyer Categories
5
+ def self.en_0135_description
6
+ "The Direct Mail Magazine Buyer Categories information is compiled via mail order responsiveness by categorized offers/media. Information is collected from 300+ proprietary participants who give us mail order responders and we subsequently categorize them into 1 of 25 categories. No single participant's information may exceed 25% of any category."
7
+ end
8
+
9
+ def self.en_0135(key)
10
+ return 'Unknown' if key.empty? or key.to_i > 9 or key.size > 1
11
+
12
+ if key.to_i == 1
13
+ return key.to_i.to_s + ' Response'
14
+ elsif key.to_i > 1 and key.to_i < 10 or key.to_i == 0
15
+ return key.to_i.to_s + ' Responses'
16
+ else
17
+ return nil
18
+ end
19
+ end
20
+
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ module Experian
2
+ class DataDictionary
3
+
4
+ # Contributors Categories
5
+ def self.en_0136_description
6
+ "The Contributors Categories information is compiled via mail order responsiveness by categorized offers/media. Information is collected from 300+ proprietary participants who give us mail order responders and we subsequently categorize them into 1 of 25 categories. No single participant's information may exceed 25% of any category."
7
+ end
8
+
9
+ def self.en_0136(key)
10
+ return 'Unknown' if key.empty? or key.to_i > 9 or key.size > 1
11
+
12
+ if key.to_i == 1
13
+ return key.to_i.to_s + ' Response'
14
+ elsif key.to_i > 1 and key.to_i < 10 or key.to_i == 0
15
+ return key.to_i.to_s + ' Responses'
16
+ else
17
+ return nil
18
+ end
19
+ end
20
+
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ module Experian
2
+ class DataDictionary
3
+
4
+ # Sweepstakes / Contests
5
+ def self.en_0137_description
6
+ "The Sweepstakes/Contests Categories information is compiled via mail order responsiveness by categorized offers/media. Information is collected from 300+ proprietary participants who give us mail order responders and we subsequently categorize them into 1 of 25 categories. No single participant's information may exceed 25% of any category."
7
+ end
8
+
9
+ def self.en_0137(key)
10
+ return 'Unknown' if key.empty? or key.to_i > 9 or key.size > 1
11
+
12
+ if key.to_i == 1
13
+ return key.to_i.to_s + ' Response'
14
+ elsif key.to_i > 1 and key.to_i < 10 or key.to_i == 0
15
+ return key.to_i.to_s + ' Responses'
16
+ else
17
+ return nil
18
+ end
19
+ end
20
+
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ module Experian
2
+ class DataDictionary
3
+
4
+ # Do-It-Yourself
5
+ def self.en_0138_description
6
+ "The Do-It-Yourself Categories information is compiled via mail order responsiveness by categorized offers/media. Information is collected from 300+ proprietary participants who give us mail order responders and we subsequently categorize them into 1 of 25 categories. No single participant's information may exceed 25% of any category."
7
+ end
8
+
9
+ def self.en_0138(key)
10
+ return 'Unknown' if key.empty? or key.to_i > 9 or key.size > 1
11
+
12
+ if key.to_i == 1
13
+ return key.to_i.to_s + ' Response'
14
+ elsif key.to_i > 1 and key.to_i < 10 or key.to_i == 0
15
+ return key.to_i.to_s + ' Responses'
16
+ else
17
+ return nil
18
+ end
19
+ end
20
+
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ module Experian
2
+ class DataDictionary
3
+
4
+ # News & Financial
5
+ def self.en_0139_description
6
+ "The News & Financial Categories information is compiled via mail order responsiveness by categorized offers/media. Information is collected from 300+ proprietary participants who give us mail order responders and we subsequently categorize them into 1 of 25 categories. No single participant's information may exceed 25% of any category."
7
+ end
8
+
9
+ def self.en_0139(key)
10
+ return 'Unknown' if key.empty? or key.to_i > 9 or key.size > 1
11
+
12
+ if key.to_i == 1
13
+ return key.to_i.to_s + ' Response'
14
+ elsif key.to_i > 1 and key.to_i < 10 or key.to_i == 0
15
+ return key.to_i.to_s + ' Responses'
16
+ else
17
+ return nil
18
+ end
19
+ end
20
+
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ module Experian
2
+ class DataDictionary
3
+
4
+ # Photography
5
+ def self.en_0140_description
6
+ "The Photography Categories information is compiled via mail order responsiveness by categorized offers/media. Information is collected from 300+ proprietary participants who give us mail order responders and we subsequently categorize them into 1 of 25 categories. No single participant's information may exceed 25% of any category."
7
+ end
8
+
9
+ def self.en_0140(key)
10
+ return 'Unknown' if key.empty? or key.to_i > 9 or key.size > 1
11
+
12
+ if key.to_i == 1
13
+ return key.to_i.to_s + ' Response'
14
+ elsif key.to_i > 1 and key.to_i < 10 or key.to_i == 0
15
+ return key.to_i.to_s + ' Responses'
16
+ else
17
+ return nil
18
+ end
19
+ end
20
+
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ module Experian
2
+ class DataDictionary
3
+
4
+ # Mail Responders - Odds & Ends / Miscellaneous
5
+ def self.en_0141_description
6
+ "The Miscellaneous/Odds & Ends Categories information is compiled via mail order responsiveness by categorized offers/media. Information is collected from 300+ proprietary participants who give us mail order responders and we subsequently categorize them into 1 of 25 categories. No single participant's information may exceed 25% of any category."
7
+ end
8
+
9
+ def self.en_0141(key)
10
+ return 'Unknown' if key.empty? or key.to_i > 9 or key.size > 1
11
+
12
+ if key.to_i == 1
13
+ return key.to_i.to_s + ' Response'
14
+ elsif key.to_i > 1 and key.to_i < 10 or key.to_i == 0
15
+ return key.to_i.to_s + ' Responses'
16
+ else
17
+ return nil
18
+ end
19
+ end
20
+
21
+ end
22
+ end
@@ -0,0 +1,18 @@
1
+ module Experian
2
+ class DataDictionary
3
+
4
+ # Presence Of Young Adult
5
+ def self.en_0155_description
6
+ "Presence of Young Adult indicates if there is a young adult in the household."
7
+ end
8
+
9
+ def self.en_0155(key)
10
+ values = {
11
+ 'Y' => 'Yes',
12
+ 'U' => 'Unknown'
13
+ }
14
+ key.empty? ? 'Unknown' : values[key]
15
+ end
16
+
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ module Experian
2
+ class DataDictionary
3
+
4
+ # Presence Of Elderly Parent
5
+ def self.en_0156_description
6
+ "Presence of Elderly Parent indicates if there is an elderly parent in the household."
7
+ end
8
+
9
+ def self.en_0156(key)
10
+ values = {
11
+ 'Y' => 'Yes',
12
+ 'U' => 'Unknown'
13
+ }
14
+ key.empty? ? 'Unknown' : values[key]
15
+ end
16
+
17
+ end
18
+ end
@@ -0,0 +1,29 @@
1
+ module Experian
2
+ class DataDictionary
3
+
4
+ # Occupation Group
5
+ def self.en_0160a_description
6
+ "Information is compiled from self-reported surveys, derived from state licensing agencies, or calculated through the application of predictive models. When there is insufficient data to match a customer's record in our enrichment master for occupation group, a median occupation group based on the Experian modeled occupation assigned to other living units in the same zip+4 area is used. In the rare case that zip+4 is not on the record, occupation group is based on the occupation assigned to other records in that zip region. Note: the median level data applied to records for this element can be identified through the Enrichment Mandatory Append û Total Enrichment Match Type indicator (E)."
7
+ end
8
+
9
+ def self.en_0160a(key)
10
+ type = {
11
+ 'K' => 'Known',
12
+ 'I' => 'Inferred'
13
+ }
14
+ values = {
15
+ '01' => 'Professional/Technical',
16
+ '02' => 'Sales/Service',
17
+ '03' => 'Farm Related',
18
+ '04' => 'Blue Collar',
19
+ '05' => 'Other',
20
+ '06' => 'Retired'
21
+ }
22
+ return 'Unknown' if key.size != 3 or values[key[1..2]].nil? or type[key[0]].nil? or key.eql?("U00")
23
+ [values[key[1..2]], type[key[0]]].join(' - ')
24
+
25
+ end
26
+
27
+ end
28
+ end
29
+