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.
- checksums.yaml +7 -0
- data/.gitignore +8 -0
- data/.pryrc +3 -0
- data/.rspec +2 -0
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/Gemfile +12 -0
- data/Gemfile.lock +61 -0
- data/README.rdoc +43 -0
- data/Rakefile +32 -0
- data/docs/BCM_Sample_Experian.csv +1 -0
- data/docs/DataDictionary_NonProfit_Experian.pdf +0 -0
- data/experian_data_dictionary.gemspec +21 -0
- data/lib/element_numbers/en_0000.rb +23 -0
- data/lib/element_numbers/en_0100.rb +34 -0
- data/lib/element_numbers/en_0103.rb +19 -0
- data/lib/element_numbers/en_0107.rb +24 -0
- data/lib/element_numbers/en_0108.rb +448 -0
- data/lib/element_numbers/en_0110.rb +20 -0
- data/lib/element_numbers/en_0112.rb +17 -0
- data/lib/element_numbers/en_0113.rb +22 -0
- data/lib/element_numbers/en_0118.rb +20 -0
- data/lib/element_numbers/en_0119.rb +16 -0
- data/lib/element_numbers/en_0130.rb +17 -0
- data/lib/element_numbers/en_0131.rb +18 -0
- data/lib/element_numbers/en_0132.rb +24 -0
- data/lib/element_numbers/en_0133.rb +16 -0
- data/lib/element_numbers/en_0134.rb +22 -0
- data/lib/element_numbers/en_0135.rb +22 -0
- data/lib/element_numbers/en_0136.rb +22 -0
- data/lib/element_numbers/en_0137.rb +22 -0
- data/lib/element_numbers/en_0138.rb +22 -0
- data/lib/element_numbers/en_0139.rb +22 -0
- data/lib/element_numbers/en_0140.rb +22 -0
- data/lib/element_numbers/en_0141.rb +22 -0
- data/lib/element_numbers/en_0155.rb +18 -0
- data/lib/element_numbers/en_0156.rb +18 -0
- data/lib/element_numbers/en_0160.rb +29 -0
- data/lib/element_numbers/en_0162.rb +26 -0
- data/lib/element_numbers/en_0164.rb +28 -0
- data/lib/element_numbers/en_0174.rb +21 -0
- data/lib/element_numbers/en_0711.rb +40 -0
- data/lib/element_numbers/en_0715.rb +22 -0
- data/lib/element_numbers/en_0716.rb +37 -0
- data/lib/element_numbers/en_0717.rb +41 -0
- data/lib/element_numbers/en_310M.rb +76 -0
- data/lib/element_numbers/en_8502.rb +40 -0
- data/lib/element_numbers/en_8503.rb +40 -0
- data/lib/element_numbers/en_8504.rb +40 -0
- data/lib/element_numbers/en_8505.rb +40 -0
- data/lib/element_numbers/en_8519.rb +40 -0
- data/lib/element_numbers/en_8525.rb +40 -0
- data/lib/element_numbers/en_8526.rb +40 -0
- data/lib/element_numbers/en_8528.rb +40 -0
- data/lib/element_numbers/en_8531.rb +40 -0
- data/lib/element_numbers/en_8532.rb +40 -0
- data/lib/element_numbers/en_8533.rb +40 -0
- data/lib/element_numbers/en_8538.rb +40 -0
- data/lib/element_numbers/en_8574.rb +40 -0
- data/lib/element_numbers/en_A107.rb +24 -0
- data/lib/element_numbers/en_B000.rb +20 -0
- data/lib/element_numbers/en_B2185.rb +17 -0
- data/lib/element_numbers/en_B3010.rb +17 -0
- data/lib/element_numbers/en_B5011.rb +17 -0
- data/lib/element_numbers/en_B5013.rb +17 -0
- data/lib/element_numbers/en_B5014.rb +17 -0
- data/lib/element_numbers/en_B5016.rb +17 -0
- data/lib/element_numbers/en_D105N.rb +29 -0
- data/lib/element_numbers/en_D200.rb +19 -0
- data/lib/element_numbers/en_F031.rb +29 -0
- data/lib/element_numbers/en_G2001.rb +15 -0
- data/lib/element_numbers/en_G2514.rb +26 -0
- data/lib/element_numbers/en_G2516.rb +26 -0
- data/lib/element_numbers/en_G2601.rb +14 -0
- data/lib/element_numbers/en_G2602.rb +19 -0
- data/lib/element_numbers/en_G2603.rb +25 -0
- data/lib/element_numbers/en_GE06.rb +28 -0
- data/lib/element_numbers/en_L000.rb +29 -0
- data/lib/element_numbers/en_P213E.rb +36 -0
- data/lib/element_numbers/en_P213H.rb +262 -0
- data/lib/element_numbers/en_P213W.rb +35 -0
- data/lib/element_numbers/en_P400.rb +47 -0
- data/lib/element_numbers/en_T200.rb +20 -0
- data/lib/element_numbers/en_V000.rb +18 -0
- data/lib/element_numbers/en_Y000.rb +20 -0
- data/lib/experian.rb +40 -0
- data/spec/functional/en_0000_spec.rb +24 -0
- data/spec/functional/en_0100_spec.rb +34 -0
- data/spec/functional/en_0103_spec.rb +20 -0
- data/spec/functional/en_0107_spec.rb +21 -0
- data/spec/functional/en_0108_spec.rb +504 -0
- data/spec/functional/en_0110_spec.rb +22 -0
- data/spec/functional/en_0112_spec.rb +19 -0
- data/spec/functional/en_0113_spec.rb +25 -0
- data/spec/functional/en_0118_spec.rb +23 -0
- data/spec/functional/en_0119_spec.rb +19 -0
- data/spec/functional/en_0130_spec.rb +21 -0
- data/spec/functional/en_0131_spec.rb +22 -0
- data/spec/functional/en_0132_spec.rb +18 -0
- data/spec/functional/en_0133_spec.rb +16 -0
- data/spec/functional/en_0134_spec.rb +27 -0
- data/spec/functional/en_0135_spec.rb +27 -0
- data/spec/functional/en_0136_spec.rb +27 -0
- data/spec/functional/en_0137_spec.rb +27 -0
- data/spec/functional/en_0138_spec.rb +27 -0
- data/spec/functional/en_0139_spec.rb +27 -0
- data/spec/functional/en_0140_spec.rb +27 -0
- data/spec/functional/en_0141_spec.rb +27 -0
- data/spec/functional/en_0155_spec.rb +19 -0
- data/spec/functional/en_0156_spec.rb +19 -0
- data/spec/functional/en_0160_spec.rb +22 -0
- data/spec/functional/en_0162_spec.rb +19 -0
- data/spec/functional/en_0164_spec.rb +22 -0
- data/spec/functional/en_0174_spec.rb +21 -0
- data/spec/functional/en_0711_spec.rb +21 -0
- data/spec/functional/en_0715_spec.rb +24 -0
- data/spec/functional/en_0716_spec.rb +24 -0
- data/spec/functional/en_0717_spec.rb +21 -0
- data/spec/functional/en_310M_spec.rb +78 -0
- data/spec/functional/en_8502_spec.rb +22 -0
- data/spec/functional/en_8503_spec.rb +22 -0
- data/spec/functional/en_8504_spec.rb +23 -0
- data/spec/functional/en_8505_spec.rb +22 -0
- data/spec/functional/en_8519_spec.rb +22 -0
- data/spec/functional/en_8525_spec.rb +22 -0
- data/spec/functional/en_8526_spec.rb +22 -0
- data/spec/functional/en_A107_spec.rb +24 -0
- data/spec/functional/en_B2185_spec.rb +18 -0
- data/spec/functional/en_B3010_spec.rb +18 -0
- data/spec/functional/en_B5011_spec.rb +18 -0
- data/spec/functional/en_B5013_spec.rb +18 -0
- data/spec/functional/en_B5014_spec.rb +18 -0
- data/spec/functional/en_B5016_spec.rb +18 -0
- data/spec/functional/en_D105N_spec.rb +30 -0
- data/spec/functional/en_D200_spec.rb +21 -0
- data/spec/functional/en_F031_spec.rb +25 -0
- data/spec/functional/en_G2001_spec.rb +17 -0
- data/spec/functional/en_G2514_spec.rb +21 -0
- data/spec/functional/en_G2516_spec.rb +21 -0
- data/spec/functional/en_G2602_spec.rb +18 -0
- data/spec/functional/en_G2603_spec.rb +21 -0
- data/spec/functional/en_L000_spec.rb +16 -0
- data/spec/functional/en_P213E_spec.rb +19 -0
- data/spec/functional/en_P213H_spec.rb +19 -0
- data/spec/functional/en_P213W_spec.rb +19 -0
- data/spec/functional/en_P400_spec.rb +17 -0
- data/spec/functional/en_T200_spec.rb +23 -0
- data/spec/functional/en_V000_spec.rb +18 -0
- data/spec/functional/en_Y000_spec.rb +20 -0
- data/spec/functional/experian_spec.rb +27 -0
- data/spec/spec_helper.rb +23 -0
- metadata +259 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 6a14db34da8f87cbe73a54b96832780f048bf3c5
|
4
|
+
data.tar.gz: c0c77765ecaf53e07a680e3b1463112ed4cd1e55
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: ccfd71cc01539400e655d521174b0d306a14ec308a872284ecf492c1624a74933524dd14407da4789b08ecae707d091c1099c52ac209fd50098e02067963ecf3
|
7
|
+
data.tar.gz: 8e67e2b2bb6f52dba20032d7079452533921e945bf80026c6943641b2b0d5f41eb6ed4f30c7494ada40a1125a33d79dc0b58e7e899688087ef75712c05204ce9
|
data/.gitignore
ADDED
data/.pryrc
ADDED
data/.rspec
ADDED
data/.ruby-gemset
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
experian-gem
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
ruby-2.1.2
|
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,61 @@
|
|
1
|
+
GEM
|
2
|
+
remote: http://rubygems.org/
|
3
|
+
specs:
|
4
|
+
coderay (1.1.0)
|
5
|
+
coveralls (0.7.8)
|
6
|
+
multi_json (~> 1.10)
|
7
|
+
rest-client (~> 1.7)
|
8
|
+
simplecov (~> 0.9.1)
|
9
|
+
term-ansicolor (~> 1.3)
|
10
|
+
thor (~> 0.19.1)
|
11
|
+
diff-lcs (1.2.5)
|
12
|
+
docile (1.1.5)
|
13
|
+
json (1.8.2)
|
14
|
+
method_source (0.8.2)
|
15
|
+
mime-types (2.4.3)
|
16
|
+
multi_json (1.10.1)
|
17
|
+
netrc (0.10.2)
|
18
|
+
pry (0.10.1)
|
19
|
+
coderay (~> 1.1.0)
|
20
|
+
method_source (~> 0.8.1)
|
21
|
+
slop (~> 3.4)
|
22
|
+
pry-nav (0.2.4)
|
23
|
+
pry (>= 0.9.10, < 0.11.0)
|
24
|
+
rake (10.4.2)
|
25
|
+
rest-client (1.7.2)
|
26
|
+
mime-types (>= 1.16, < 3.0)
|
27
|
+
netrc (~> 0.7)
|
28
|
+
rspec (3.1.0)
|
29
|
+
rspec-core (~> 3.1.0)
|
30
|
+
rspec-expectations (~> 3.1.0)
|
31
|
+
rspec-mocks (~> 3.1.0)
|
32
|
+
rspec-core (3.1.7)
|
33
|
+
rspec-support (~> 3.1.0)
|
34
|
+
rspec-expectations (3.1.2)
|
35
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
36
|
+
rspec-support (~> 3.1.0)
|
37
|
+
rspec-mocks (3.1.3)
|
38
|
+
rspec-support (~> 3.1.0)
|
39
|
+
rspec-support (3.1.2)
|
40
|
+
simplecov (0.9.1)
|
41
|
+
docile (~> 1.1.0)
|
42
|
+
multi_json (~> 1.0)
|
43
|
+
simplecov-html (~> 0.8.0)
|
44
|
+
simplecov-html (0.8.0)
|
45
|
+
slop (3.6.0)
|
46
|
+
term-ansicolor (1.3.0)
|
47
|
+
tins (~> 1.0)
|
48
|
+
thor (0.19.1)
|
49
|
+
tins (1.3.3)
|
50
|
+
|
51
|
+
PLATFORMS
|
52
|
+
ruby
|
53
|
+
|
54
|
+
DEPENDENCIES
|
55
|
+
coveralls
|
56
|
+
json
|
57
|
+
pry
|
58
|
+
pry-nav
|
59
|
+
rake
|
60
|
+
rspec
|
61
|
+
simplecov
|
data/README.rdoc
ADDED
@@ -0,0 +1,43 @@
|
|
1
|
+
= Experian Data Dictionary
|
2
|
+
|
3
|
+
This Ruby project is a gem to work with the Experience data dictionary.
|
4
|
+
|
5
|
+
|
6
|
+
== Install / Setup
|
7
|
+
|
8
|
+
Installing the gem
|
9
|
+
|
10
|
+
gem install experian-data-dictionary
|
11
|
+
|
12
|
+
|
13
|
+
To add it to your Gemfile
|
14
|
+
|
15
|
+
gem 'experian-data-dictionary'
|
16
|
+
|
17
|
+
|
18
|
+
== Example usage
|
19
|
+
|
20
|
+
Checkout the examples folder.
|
21
|
+
|
22
|
+
|
23
|
+
== Additional resources
|
24
|
+
|
25
|
+
Checkout the docs folder for the PDF.
|
26
|
+
|
27
|
+
|
28
|
+
== License
|
29
|
+
|
30
|
+
This project is released under the MIT license (see LICENSE).
|
31
|
+
|
32
|
+
This project is maintained by Blake Campbell (https://github.com/blakecampbells).
|
33
|
+
|
34
|
+
|
35
|
+
== Contributors
|
36
|
+
|
37
|
+
Wes Hays: https://github.com/weshays
|
38
|
+
|
39
|
+
|
40
|
+
== Want to Contribute?
|
41
|
+
|
42
|
+
If you would like to get involved in this project, then please fork the project. Make changes, add features, write some tests, and then send a pull request.
|
43
|
+
|
data/Rakefile
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'rspec/core/rake_task'
|
2
|
+
|
3
|
+
|
4
|
+
desc 'Default: run specs.'
|
5
|
+
task :default => :spec
|
6
|
+
task :test => :spec
|
7
|
+
|
8
|
+
desc "Run specs"
|
9
|
+
RSpec::Core::RakeTask.new do |t|
|
10
|
+
t.pattern = "./spec/**/*_spec.rb" # don't need this, it's default.
|
11
|
+
# Put spec opts in a file named .rspec in root
|
12
|
+
end
|
13
|
+
|
14
|
+
|
15
|
+
desc "Generate code coverage"
|
16
|
+
RSpec::Core::RakeTask.new(:coverage) do |t|
|
17
|
+
t.pattern = "./spec/**/*_spec.rb" # don't need this, it's default.
|
18
|
+
t.rcov = true
|
19
|
+
t.rcov_opts = ['--exclude', 'spec']
|
20
|
+
end
|
21
|
+
|
22
|
+
|
23
|
+
|
24
|
+
namespace :docs do
|
25
|
+
|
26
|
+
desc 'Build the docs for the Experian Data Dictionary.'
|
27
|
+
task :build do
|
28
|
+
system('rm -rf doc')
|
29
|
+
system('yardoc --no-private --protected lib/**/*.rb')
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
in_first_name, in_last_name, in_seq, in_subseq, Address1, Address2, City, State, ZIP_Code, First_Name, Last_Name,in_cvtseq,in_zip_code,120,0108E,162,0107A,313HH,0100C,717,715,711,716,653,670,671,672,858,860,118,119,131,133,134,134,134,134,134,134,134,134,135,135,135,135,135,135,135,134,136,136,136,136,137,140,139,138,141,141,103,100,130,112,134,135,136,141,3442,3443,GEO6,GEO6,GEO6,0110P,0100C,T2000,T2000,0,0,0,0113A,P400,8502,8503,8504,8505,8519,8525,8526,8528,8531,8532,8533,8538,8574,8502P,8503P,8504P,8505P,8519P,8525P,8526P,8528P,8531P,8532P,8533P,8538P,8574P,5558,GEO6,GEO6,6661,6664,6667,6668,6671,6672,6675,7504,G2514,7522,8200,164,F031,161,14538,14675
|
2
|
Kenneth,Hays,23,0,222 A st, , North Tonawanda, NY,141201622, Kenneth,Hays,23,14120,,Y,11,5S,J36,,,,,,C,235,202,201,,,,26,,,,,,,,,,,,,,,,,,,,,,,,,,,,,M,,,,N,N,N,N,,,2,6,22902,,,4,8882,G,4,4,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,15380,36,63,N,5N,5U,5U,5N,5N,5N,1,4,5,12,0,4,I3,,A
|
Binary file
|
@@ -0,0 +1,21 @@
|
|
1
|
+
Gem::Specification.new do |s|
|
2
|
+
PROJECT_GEM = 'experian-data-dictionary'
|
3
|
+
PROJECT_GEM_VERSION = '1.0'
|
4
|
+
|
5
|
+
s.name = PROJECT_GEM
|
6
|
+
s.version = PROJECT_GEM_VERSION
|
7
|
+
s.platform = Gem::Platform::RUBY
|
8
|
+
|
9
|
+
s.homepage = 'https://github.com/blakecampbells/experian_data_dictionary'
|
10
|
+
s.rubyforge_project = 'Project on www.github.com'
|
11
|
+
s.authors = ['Blake Campbell']
|
12
|
+
s.email = ['blake93campbell@gmail.com']
|
13
|
+
|
14
|
+
s.summary = 'Ruby gem/plugin to interact with the Experian.com Data Dictionary'
|
15
|
+
s.description = 'Ruby gem/plugin to interact with the Experian.com Data Dictionary. Checkout the project on github for more detail.'
|
16
|
+
|
17
|
+
s.files = `git ls-files`.split("\n").delete_if { |f| !(f =~ /^examples/).nil? }
|
18
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
19
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
20
|
+
s.require_paths = ["lib"]
|
21
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Experian
|
2
|
+
class DataDictionary
|
3
|
+
|
4
|
+
# Enhancement Mandatory Append
|
5
|
+
def self.en_0000_description
|
6
|
+
'The enrichment mandatory append is required when any data from the enrichment master file is appended. It consists of a match type.'
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.en_0000(key)
|
10
|
+
values = {
|
11
|
+
'H' => 'Household Match',
|
12
|
+
'F' => 'Household Match',
|
13
|
+
'P' => 'Person Match',
|
14
|
+
'I' => 'Person Match',
|
15
|
+
'G' => 'Geographic or Area Level Match',
|
16
|
+
'E' => 'Geographic or Area Level Match',
|
17
|
+
'N' => 'Non-match'
|
18
|
+
}
|
19
|
+
key.empty? ? 'Non-match' : values[key]
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
module Experian
|
2
|
+
class DataDictionary
|
3
|
+
|
4
|
+
# Date of Birth/Combined Adult Age
|
5
|
+
def self.en_0100_description
|
6
|
+
'Date of Birth is acquired from public and proprietary files. These sources provide, at a minimum, the year of birth. The birth month is provided where available. Estimated ages are acquired from proprietary data sources and Experian models which estimate the adult age.'
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.en_0100c_description
|
10
|
+
self.en_0100_description
|
11
|
+
end
|
12
|
+
|
13
|
+
# CCYYMM
|
14
|
+
def self.en_0100(key)
|
15
|
+
return nil if key.empty?
|
16
|
+
year = key[0..3]
|
17
|
+
month = key.length > 4 ? key[4..5] : nil
|
18
|
+
[month, year].compact.join('/')
|
19
|
+
end
|
20
|
+
|
21
|
+
|
22
|
+
def self.en_0100c(key)
|
23
|
+
return nil unless %w(e i u).include?(key[0].downcase) # I noticed another 0100c column that uses M and F which is probably for Male and Female
|
24
|
+
text = case key[0].downcase
|
25
|
+
when 'e' then 'Exact age'
|
26
|
+
when 'i' then 'Estimated age'
|
27
|
+
when 'u' then 'Unknown age'
|
28
|
+
else nil
|
29
|
+
end
|
30
|
+
return [key[1..key.length-1], text].compact.join(' - ')
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Experian
|
2
|
+
class DataDictionary
|
3
|
+
|
4
|
+
# Gender Code
|
5
|
+
def self.en_0103_description
|
6
|
+
'Gender information is applied during the convert prior to enhancement. Approximately five to eight percent of the client records are coded as gender unknown because of ambiguous or unisex names. Records coded as gender both include those with prefixes of Mr. & Mrs. and/or first names like John & Mary.'
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.en_0103(key)
|
10
|
+
values = {
|
11
|
+
'M' => 'Male',
|
12
|
+
'F' => 'Female',
|
13
|
+
'B' => 'Both',
|
14
|
+
'U' => 'Unknown'
|
15
|
+
}
|
16
|
+
key.empty? ? 'Unknown' : values[key]
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Experian
|
2
|
+
class DataDictionary
|
3
|
+
|
4
|
+
# Marital Status
|
5
|
+
def self.en_0107a_description
|
6
|
+
"Marital status is determined based on the composition of the Living unit or through the application of a predictive model. Note: Single refers to an individual that has never married and not single because of divorce or spouse's death."
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.en_0107a(key)
|
10
|
+
likely = {
|
11
|
+
'1' => 'Extremely Likely',
|
12
|
+
'5' => 'Likely',
|
13
|
+
'0' => 'Unknown'
|
14
|
+
}
|
15
|
+
marital_status = {
|
16
|
+
'M' => 'Married',
|
17
|
+
'S' => 'Single',
|
18
|
+
'U' => 'Unknown Status'
|
19
|
+
}
|
20
|
+
return 'Unknown' if key.size != 2 or marital_status[key[1]].nil? or likely[key[0]].nil?
|
21
|
+
[marital_status[key[1]], likely[key[0]]].join(' - ')
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,448 @@
|
|
1
|
+
module Experian
|
2
|
+
class DataDictionary
|
3
|
+
|
4
|
+
# Country of Origin
|
5
|
+
def self.en_0108c_description
|
6
|
+
"Indicates Country of Origin using a sophisticated program that analyzes first name, last name, expert system rules and geography."
|
7
|
+
end
|
8
|
+
|
9
|
+
# Ethnicity Detail
|
10
|
+
def self.en_0108d_description
|
11
|
+
"Indicates the likely ethnicity using a sophisticated program that analyzes first name, last name, expert system rules and geography."
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.en_0108e_description
|
15
|
+
"Ethnic Insight Elements. Ethnic Insight is a comprehensive predictive name analysis process which identifies ethnic origin, probable religion, and the language preference of individuals. Experian can now code and identify 177 ethnicities, 33 groups, 10 religions, 79 language groups and 22 Country of Origin codes.The Ethnic Insight software utilizes over 550,000 surnames by ethnicity, over 75,000 first names unique to a given ethnicity, and over 3000 expert system rules. Also utilized are a group of geographic reference tables for determining the proper codes to apply to an individual. Each record passed through the process uses the above files as references while examining the individuals first name, last names, and the zip code of the record. Note: Element 0108E calls elements 0108C, 0108D, 0108G, 0108L, 0108R, 0108T"
|
16
|
+
end
|
17
|
+
|
18
|
+
# Ethnic Group Code
|
19
|
+
def self.en_0108g_description
|
20
|
+
"Experian derived code that groups ethnicities in general categories."
|
21
|
+
end
|
22
|
+
|
23
|
+
# Language
|
24
|
+
def self.en_0108l_description
|
25
|
+
"Ethnic Insight Language indicates the language preference."
|
26
|
+
end
|
27
|
+
|
28
|
+
# Religion
|
29
|
+
def self.en_0108r_description
|
30
|
+
"Ethnic Insights Religion indicates the likely religion."
|
31
|
+
end
|
32
|
+
|
33
|
+
# e-Tech Group
|
34
|
+
def self.en_0108t_description
|
35
|
+
"e-Tech derived code that groups ethnicities in general categories."
|
36
|
+
end
|
37
|
+
|
38
|
+
def self.en_0108c(key)
|
39
|
+
values = {
|
40
|
+
'00' => 'Unknown',
|
41
|
+
'01' => 'Mexico',
|
42
|
+
'02' => 'Cuba',
|
43
|
+
'03' => 'Puerto Rico',
|
44
|
+
'04' => 'Nicaragua',
|
45
|
+
'05' => 'Dominican Republic',
|
46
|
+
'06' => 'Colombia',
|
47
|
+
'07' => 'Honduras',
|
48
|
+
'08' => 'Guatemala',
|
49
|
+
'09' => 'El Salvador',
|
50
|
+
'10' => 'Costa Rica',
|
51
|
+
'11' => 'Panama',
|
52
|
+
'12' => 'Ecuador',
|
53
|
+
'13' => 'Venezuela',
|
54
|
+
'14' => 'Argentina',
|
55
|
+
'15' => 'Chile',
|
56
|
+
'16' => 'Peru',
|
57
|
+
'17' => 'Bolivia',
|
58
|
+
'18' => 'Uruguay',
|
59
|
+
'19' => 'Paraguay',
|
60
|
+
'20' => 'Spain',
|
61
|
+
'22' => 'Brazil'
|
62
|
+
}
|
63
|
+
key.empty? ? 'Unknown' : values[key]
|
64
|
+
end
|
65
|
+
|
66
|
+
def self.en_0108d(key)
|
67
|
+
values = {
|
68
|
+
'00' => 'Unknown',
|
69
|
+
'01' => 'English',
|
70
|
+
'02' => 'Scottish',
|
71
|
+
'03' => 'Danish',
|
72
|
+
'04' => 'Swedish',
|
73
|
+
'05' => 'Norwegian',
|
74
|
+
'06' => 'Finnish',
|
75
|
+
'07' => 'Icelandic',
|
76
|
+
'08' => 'Dutch',
|
77
|
+
'09' => 'Belgian',
|
78
|
+
'10' => 'German',
|
79
|
+
'11' => 'Austrian',
|
80
|
+
'12' => 'Hungarian',
|
81
|
+
'13' => 'Czech',
|
82
|
+
'14' => 'Slovak',
|
83
|
+
'15' => 'Irish',
|
84
|
+
'16' => 'Welsh',
|
85
|
+
'17' => 'French',
|
86
|
+
'18' => 'Swiss',
|
87
|
+
'19' => 'Italian',
|
88
|
+
'20' => 'Hispanic',
|
89
|
+
'21' => 'Portuguese',
|
90
|
+
'22' => 'Polish',
|
91
|
+
'23' => 'Estonian',
|
92
|
+
'24' => 'Latvian',
|
93
|
+
'25' => 'Lithuanian',
|
94
|
+
'26' => 'Ukrainian',
|
95
|
+
'27' => 'Georgian',
|
96
|
+
'28' => 'Byelorussian',
|
97
|
+
'29' => 'Armenian',
|
98
|
+
'30' => 'Russian',
|
99
|
+
'31' => 'Turkish',
|
100
|
+
'32' => 'Kurdish',
|
101
|
+
'33' => 'Greek',
|
102
|
+
'34' => 'Persian',
|
103
|
+
|
104
|
+
'35' => 'Moldovan',
|
105
|
+
'36' => 'Bulgarian',
|
106
|
+
'37' => 'Romanian',
|
107
|
+
'38' => 'Albanian',
|
108
|
+
'39' => 'Native American',
|
109
|
+
'40' => 'Slovenian',
|
110
|
+
'41' => 'Croatian',
|
111
|
+
'42' => 'Serbian',
|
112
|
+
'43' => 'Bosniak',
|
113
|
+
'44' => 'Azerbaijani',
|
114
|
+
'45' => 'Kazakh',
|
115
|
+
'46' => 'Afghan',
|
116
|
+
'47' => 'Pakistani',
|
117
|
+
'48' => 'Bangladeshi',
|
118
|
+
'49' => 'Indonesian',
|
119
|
+
'50' => 'Indian',
|
120
|
+
'51' => 'Burmese (Myanmar)',
|
121
|
+
'52' => 'Mongolian',
|
122
|
+
'53' => 'Chinese',
|
123
|
+
'56' => 'Korean',
|
124
|
+
'57' => 'Japanese',
|
125
|
+
'58' => 'Thai',
|
126
|
+
'59' => 'Malay',
|
127
|
+
'60' => 'Laotian',
|
128
|
+
'61' => 'Khmer',
|
129
|
+
'62' => 'Vietnamese',
|
130
|
+
'63' => 'Sri Lankan',
|
131
|
+
'64' => 'Uzbek',
|
132
|
+
'65' => 'Other Asian',
|
133
|
+
'66' => 'Jewish',
|
134
|
+
'67' => 'Aleut',
|
135
|
+
'68' => 'Hebrew',
|
136
|
+
'70' => 'Arab',
|
137
|
+
'72' => 'Turkmen',
|
138
|
+
'73' => 'Tajik',
|
139
|
+
'74' => 'Kirghiz',
|
140
|
+
'75' => 'Saudi',
|
141
|
+
'76' => 'Iraqi',
|
142
|
+
'77' => 'Libyan',
|
143
|
+
'78' => 'Egyptian',
|
144
|
+
'79' => 'Rwandan',
|
145
|
+
'80' => 'Tongan',
|
146
|
+
'81' => 'Senegalese',
|
147
|
+
'82' => 'Malawian',
|
148
|
+
'83' => 'Sudanese',
|
149
|
+
'84' => 'Moroccan',
|
150
|
+
'85' => 'African American',
|
151
|
+
'86' => 'Kenyan',
|
152
|
+
'87' => 'Nigerian (Nigeria)',
|
153
|
+
'88' => 'Ghanaian',
|
154
|
+
'89' => 'Zambian',
|
155
|
+
'90' => 'Congolese (DRG)',
|
156
|
+
'91' => 'Surinamese',
|
157
|
+
'92' => 'Mozambican (Mozambique)',
|
158
|
+
'93' => 'Ivorian (Ivory Coast)',
|
159
|
+
'94' => 'Bhutanese',
|
160
|
+
'95' => 'Ethiopian',
|
161
|
+
'96' => 'Ugandan',
|
162
|
+
'97' => 'Batswana (Botswana)',
|
163
|
+
'98' => 'Cameroonian',
|
164
|
+
'99' => 'Zimbabwean',
|
165
|
+
'7A' => 'Hindu',
|
166
|
+
'7B' => 'Djiboutian',
|
167
|
+
'7C' => 'Manx',
|
168
|
+
'7D' => 'Telugu',
|
169
|
+
'7E' => 'Nepalese',
|
170
|
+
'7F' => 'Samoan',
|
171
|
+
'7G' => 'Mauritanian',
|
172
|
+
'7H' => 'Native American Inuit',
|
173
|
+
'8A' => 'Congolese',
|
174
|
+
'8B' => 'Central African (Central African Republic)',
|
175
|
+
'8C' => 'Togolese',
|
176
|
+
'8D' => 'Bahraini',
|
177
|
+
'8E' => 'Qatari',
|
178
|
+
'8F' => 'Guyanese',
|
179
|
+
'8G' => 'Tibetan',
|
180
|
+
'8H' => 'Fijian',
|
181
|
+
'8I' => 'Swazi',
|
182
|
+
'8J' => 'Zulu',
|
183
|
+
'8K' => 'Xhosa',
|
184
|
+
'8L' => 'Basotho',
|
185
|
+
'8M' => 'South African',
|
186
|
+
'8N' => 'Liberian',
|
187
|
+
'8O' => 'Comoran',
|
188
|
+
'8P' => 'Beninese',
|
189
|
+
'8Q' => 'Burkinabe (Burkina Faso)',
|
190
|
+
'8R' => 'Nigerien (Niger)',
|
191
|
+
'8S' => 'Ashanti',
|
192
|
+
'8T' => 'Swahili',
|
193
|
+
'8U' => 'Haitian',
|
194
|
+
'8V' => 'Malian',
|
195
|
+
'8W' => 'Jamaican',
|
196
|
+
'8X' => 'Hausa',
|
197
|
+
'8Y' => 'Pili',
|
198
|
+
'9A' => 'Namibian',
|
199
|
+
'9B' => 'Burundi',
|
200
|
+
'9C' => 'Tanzanian',
|
201
|
+
'9D' => 'Gambian',
|
202
|
+
'9E' => 'Somali',
|
203
|
+
'9F' => 'Macedonian',
|
204
|
+
'9G' => 'Chadian',
|
205
|
+
'9H' => 'Gabonese',
|
206
|
+
'9I' => 'Angolan',
|
207
|
+
'9J' => 'Chechen',
|
208
|
+
'9K' => 'Igbo',
|
209
|
+
'9L' => 'Yoruba',
|
210
|
+
'9M' => 'Algerian',
|
211
|
+
'9N' => 'Filipino',
|
212
|
+
'9O' => 'Sotho (Lesotho)',
|
213
|
+
'9P' => 'Tunisian',
|
214
|
+
'9Q' => 'Hawaiian',
|
215
|
+
'9R' => 'Malagasy (Madagascar)',
|
216
|
+
'9S' => 'Basque',
|
217
|
+
'9T' => 'Siere Leonean',
|
218
|
+
'9U' => 'Kuwaiti',
|
219
|
+
'9V' => 'Yemeni',
|
220
|
+
'9W' => 'Guinean (Guinea-Bissau)',
|
221
|
+
'9X' => 'Papua New Guinean',
|
222
|
+
'9Y' => 'Equatorial Guinean',
|
223
|
+
'9Z' => 'Syrian',
|
224
|
+
'A1' => 'African American (Arabic Surname), 80%+',
|
225
|
+
'A2' => 'African American (Arabic Surname), 70-79%',
|
226
|
+
'A3' => 'African American (Arabic Surname), 60-69%',
|
227
|
+
'A4' => 'African American (Arabic Surname), 50-59%',
|
228
|
+
'A5' => 'African American (Arabic Surname), 30-49%',
|
229
|
+
'D1' => 'African American (Dutch Surname), 80%+',
|
230
|
+
'D2' => 'African American (Dutch Surname), 70-79%',
|
231
|
+
'D3' => 'African American (Dutch Surname), 60-69%',
|
232
|
+
'D4' => 'African American (Dutch Surname), 50-59%',
|
233
|
+
'D5' => 'African American (Dutch Surname), 30-49%',
|
234
|
+
'E1' => 'African American (English Surname), 80%+',
|
235
|
+
'E2' => 'African American (English Surname), 70-79%',
|
236
|
+
'E3' => 'African American (English Surname), 60-69%',
|
237
|
+
'E4' => 'African American (English Surname), 50-59%',
|
238
|
+
'E5' => 'African American (English Surname), 30-49%',
|
239
|
+
'F1' => 'African American (French Surname), 80%+',
|
240
|
+
'F2' => 'African American (French Surname), 70-79%',
|
241
|
+
'F3' => 'African American (French Surname), 60-69%',
|
242
|
+
'F4' => 'African American (French Surname), 50-59%',
|
243
|
+
'F5' => 'African American (French Surname), 30-49%',
|
244
|
+
'I1' => 'African American (Irish Surname), 80%+',
|
245
|
+
'I2' => 'African American (Irish Surname), 70-79%',
|
246
|
+
'I3' => 'African American (Irish Surname), 60-69%',
|
247
|
+
'I4' => 'African American (Irish Surname), 50-59%',
|
248
|
+
'I5' => 'African American (Irish Surname), 30-49%',
|
249
|
+
'S1' => 'African American (Scotch Surname), 80%+',
|
250
|
+
'S2' => 'African American (Scotch Surname), 70-79%',
|
251
|
+
'S3' => 'African American (Scotch Surname), 60-69%',
|
252
|
+
'S4' => 'African American (Scotch Surname), 50-59%',
|
253
|
+
'S5' => 'African American (Scotch Surname), 30-49%',
|
254
|
+
'U1' => 'African American (Unknown Surname), 80%+',
|
255
|
+
'U2' => 'African American (Unknown Surname), 70-79%',
|
256
|
+
'U3' => 'African American (Unknown Surname), 60-69%',
|
257
|
+
'U4' => 'African American (Unknown Surname), 50-59%',
|
258
|
+
'U5' => 'African American (Unknown Surname), 30-49%',
|
259
|
+
'W1' => 'African American (Welsh Surname), 80%+',
|
260
|
+
'W2' => 'African American (Welsh Surname), 70-79%',
|
261
|
+
'W3' => 'African American (Welsh Surname), 60-69%',
|
262
|
+
'W4' => 'African American (Welsh Surname), 50-59%',
|
263
|
+
'W5' => 'African American (Welsh Surname), 30-49%',
|
264
|
+
'ZZ' => 'Multi-Ethnic'
|
265
|
+
}
|
266
|
+
key.empty? ? 'Unknown' : values[key]
|
267
|
+
end
|
268
|
+
|
269
|
+
def self.en_0108e(key)
|
270
|
+
values = {
|
271
|
+
'Y' => 'Matched to Ethnic Insight'
|
272
|
+
}
|
273
|
+
key.empty? ? 'Unknown' : values[key]
|
274
|
+
end
|
275
|
+
|
276
|
+
def self.en_0108g(key)
|
277
|
+
values = {
|
278
|
+
'01' => 'African',
|
279
|
+
'02' => 'African American',
|
280
|
+
'03' => 'Asian Other',
|
281
|
+
'04' => 'Chinese',
|
282
|
+
'05' => 'Czech',
|
283
|
+
'06' => 'Dutch',
|
284
|
+
'07' => 'Eastern European',
|
285
|
+
'08' => 'English',
|
286
|
+
'09' => 'French',
|
287
|
+
'10' => 'German',
|
288
|
+
'11' => 'Greek',
|
289
|
+
'12' => 'Hawaiian',
|
290
|
+
'13' => 'Hispanic',
|
291
|
+
'14' => 'Indonesian',
|
292
|
+
'15' => 'Irish',
|
293
|
+
'16' => 'Italian',
|
294
|
+
'17' => 'Japanese',
|
295
|
+
'18' => 'Jewish',
|
296
|
+
'19' => 'Korean',
|
297
|
+
'20' => 'Middle Eastern',
|
298
|
+
'21' => 'Miscellaneous Other',
|
299
|
+
'22' => 'Native American',
|
300
|
+
'23' => 'Polish',
|
301
|
+
'24' => 'Polynesian',
|
302
|
+
'25' => 'Portuguese',
|
303
|
+
'26' => 'Russian',
|
304
|
+
'27' => 'Scandinavian',
|
305
|
+
'28' => 'Scotch',
|
306
|
+
'29' => 'Swiss',
|
307
|
+
'30' => 'Ukrainian',
|
308
|
+
'31' => 'Uncoded (no group)',
|
309
|
+
'32' => 'Vietnamese',
|
310
|
+
'33' => 'Western European'
|
311
|
+
}
|
312
|
+
key.empty? ? 'Unknown' : values[key]
|
313
|
+
end
|
314
|
+
|
315
|
+
def self.en_0108l(key)
|
316
|
+
values = {
|
317
|
+
'00' => 'Unknown',
|
318
|
+
'01' => 'English',
|
319
|
+
'03' => 'Danish',
|
320
|
+
'04' => 'Swedish',
|
321
|
+
'05' => 'Norwegian',
|
322
|
+
'06' => 'Finnish',
|
323
|
+
'07' => 'Icelandic',
|
324
|
+
'08' => 'Dutch',
|
325
|
+
'09' => 'Flemish/Walloon',
|
326
|
+
'10' => 'German',
|
327
|
+
'12' => 'Hungarian',
|
328
|
+
'13' => 'Czech',
|
329
|
+
'14' => 'Slovak',
|
330
|
+
'17' => 'French',
|
331
|
+
'19' => 'Italian',
|
332
|
+
'20' => 'Spanish',
|
333
|
+
'21' => 'Portuguese',
|
334
|
+
'22' => 'Polish',
|
335
|
+
'23' => 'Estonian',
|
336
|
+
'24' => 'Latvian',
|
337
|
+
'25' => 'Lithuanian',
|
338
|
+
'27' => 'Georgian',
|
339
|
+
'29' => 'Armenian',
|
340
|
+
'30' => 'Russian',
|
341
|
+
'31' => 'Turkish',
|
342
|
+
'32' => 'Kurdish',
|
343
|
+
'33' => 'Greek',
|
344
|
+
'34' => 'Farsi',
|
345
|
+
'35' => 'Moldovan',
|
346
|
+
'36' => 'Bulgarian',
|
347
|
+
'37' => 'Romanian',
|
348
|
+
'38' => 'Albanian',
|
349
|
+
'40' => 'Slovenian',
|
350
|
+
'41' => 'Serbo-Croatian',
|
351
|
+
'44' => 'Azeri',
|
352
|
+
'45' => 'Kazakh',
|
353
|
+
'46' => 'Pashtu/Pashto',
|
354
|
+
'47' => 'Urdu',
|
355
|
+
'48' => 'Bengali/Bangla',
|
356
|
+
'49' => 'Bahasa Indonesia',
|
357
|
+
'51' => 'Burmese',
|
358
|
+
'52' => 'Mongolian',
|
359
|
+
'53' => 'Chinese (Mandarin, Cantonese and other dialects',
|
360
|
+
'56' => 'Korean',
|
361
|
+
'57' => 'Japanese',
|
362
|
+
'58' => 'Thai',
|
363
|
+
'59' => 'Bahasa Melayu',
|
364
|
+
'60' => 'Lao',
|
365
|
+
'61' => 'Khmer',
|
366
|
+
'62' => 'Vietnamese',
|
367
|
+
'63' => 'Sinhala',
|
368
|
+
'64' => 'Uzbek',
|
369
|
+
'68' => 'Hebrew',
|
370
|
+
'70' => 'Arabic',
|
371
|
+
'72' => 'Turkmen',
|
372
|
+
'73' => 'Tajik',
|
373
|
+
'74' => 'Kirghiz',
|
374
|
+
'7A' => 'Hindi',
|
375
|
+
'7E' => 'Nepali',
|
376
|
+
'7F' => 'Samoan',
|
377
|
+
'80' => 'Tongan',
|
378
|
+
'86' => 'Oromo',
|
379
|
+
'88' => 'Ga',
|
380
|
+
'8G' => 'Tibetan',
|
381
|
+
'8I' => 'Siswati',
|
382
|
+
'8J' => 'Zulu',
|
383
|
+
'8K' => 'Xhosa',
|
384
|
+
'8M' => 'Afrikaans',
|
385
|
+
'8O' => 'Comorian/Shikomoro',
|
386
|
+
'8S' => 'Twi (Of Ashanti Ethnicity)',
|
387
|
+
'8T' => 'Swahili',
|
388
|
+
'8X' => 'Hausa',
|
389
|
+
'92' => 'Bantu',
|
390
|
+
'94' => 'Dzongkha',
|
391
|
+
'95' => 'Amharic',
|
392
|
+
'97' => 'Tswana',
|
393
|
+
'9E' => 'Somali',
|
394
|
+
'9F' => 'Macedonian',
|
395
|
+
'9K' => 'Ibo/Igbo',
|
396
|
+
'9L' => 'Yoruba',
|
397
|
+
'9N' => 'Tagalog',
|
398
|
+
'9O' => 'Sotho',
|
399
|
+
'9R' => 'Malagasy',
|
400
|
+
'9S' => 'Basque'
|
401
|
+
}
|
402
|
+
key.empty? ? 'Unknown' : values[key]
|
403
|
+
end
|
404
|
+
|
405
|
+
def self.en_0108r(key)
|
406
|
+
values = {
|
407
|
+
'B' => 'Buddhist',
|
408
|
+
'C' => 'Catholic',
|
409
|
+
'E' => 'Ethiopian Orthodox',
|
410
|
+
'G' => 'Greek Orthodox',
|
411
|
+
'H' => 'Hindu',
|
412
|
+
'I' => 'Muslim',
|
413
|
+
'J' => 'Jewish',
|
414
|
+
'K' => 'Sikh',
|
415
|
+
'L' => 'Lutheran',
|
416
|
+
'M' => 'Mormon',
|
417
|
+
'O' => 'Eastern Orthodox',
|
418
|
+
'P' => 'Protestant',
|
419
|
+
'S' => 'Shinto',
|
420
|
+
'X' => 'Not Known or Unmatched',
|
421
|
+
}
|
422
|
+
key.empty? ? 'Unknown' : values[key]
|
423
|
+
end
|
424
|
+
|
425
|
+
def self.en_0108t(key)
|
426
|
+
values = {
|
427
|
+
'A' => 'African American',
|
428
|
+
'B' => 'Southeast Asian',
|
429
|
+
'C' => 'South Asian',
|
430
|
+
'D' => 'Central Asian',
|
431
|
+
'E' => 'Mediterranean',
|
432
|
+
'F' => 'Native American',
|
433
|
+
'G' => 'Scandinavian',
|
434
|
+
'H' => 'Polynesian',
|
435
|
+
'I' => 'Middle Eastern',
|
436
|
+
'J' => 'Jewish',
|
437
|
+
'K' => 'Western European',
|
438
|
+
'L' => 'Eastern European',
|
439
|
+
'M' => 'Caribbean Non-Hispanic',
|
440
|
+
'N' => 'East Asian',
|
441
|
+
'O' => 'Hispanic',
|
442
|
+
'Z' => 'Uncoded'
|
443
|
+
}
|
444
|
+
key.empty? ? 'Unknown' : values[key]
|
445
|
+
end
|
446
|
+
|
447
|
+
end
|
448
|
+
end
|