Analysis Datatypes

All database management systems and programming languages have their own set of datatypes (or data types, if you prefer). But, until now, there was no set of datatypes for use in business analysis.

I've utilized these analysis datatypes over the last several years in consulting projects and in business analysis training classes. I've found that people understand them with little explanation and they help make the data requirements gathering, analysis, and documentation processes easier and clearer for everyone involved.

We're making this list publicly available to support the business analysis community. We encourage you to use it for non-commercial purposes and tell others. Please contact us with any proposed additions. We'll credit you on this page for accepted additions.

Analysis Datatypes: what, why, who, when, where, and how

What are they? An easy and simple way to categorize data elements during the analysis process. They are definitely not implementation datatypes, although they can be mapped to a particular database management system's data types. See below for details of these mappings.

Why should I bother? Utilizing analysis datatypes will help your subject matter experts to be clearer about their data requirements. By classifying data elements into these analysis datatypes, you'll improve the precision of your analysis work products, thus helping to reduce the likelihood of misunderstandings. Utilizing analysis datatypes will assist your software and database designers. In a current data warehouse project I'm working on, they're saving us many hours of time!

Who? Who assigns the analysis datatypes? Any knowledgeable person, certainly the business analyst would be responsible for this. I've found that subject matter experts frequently understand them easily enough they can assign analysis datatypes themselves! Who uses the analysis datatypes? The people that design the software and database: software engineers, database adminstrators, etc.

When do we assign them? As early as practical during the process of gathering and documenting your data requirements.

Where do we document the analysis datatypes? Wherever you document your data requirements. I recommend using data requirements lists and then an analysis data model.

How do I determine the most appropriate analysis datatype? Begin at the top of the list, work your way down, and stop at the first applicable analysis datatype.

Analysis Datatypes
Datatype NameDescriptionExample Value(s)Sample attribute using the datatype
indicatora two valued code set representing the values true/false or yes/no; also known as booleanyes; nohazardous material indicator
codea constrained value set, typically used for categorizing somethingM (for male); F (for female)gender code
datetimea point in time11/9/2008 9:09 p.m.accident date and time
datea specific date in timeJanuary 28, 2009birth date
timea specific time of day5:30 p.m.appointment time
moneya monetary amount, including the unit of currency4.35 US dollarsbank account balance
amounta measured or observed amount, including the units; you may want to subcategorize amounts into distance, time, weight, etc., as was done for monetary amounts2.1 metersheight
quantitya count of individual items such as people, places, and things47attendee count
sequence numbera specific position within an an ordinal ranking (e.g. by time, by importance)2birth order
percentagethe ratio between two amounts having the same units or between two quantities of the same type of items, expressed as a percentage75%current year cost increase
(postal) addressa street or post office box address157 Raymond St, Cambridge, MA 02140, USAwork address
phone numbera telephone number; includes phone, fax, and pager numbers+1 (617) 555-1212work phone
email addressan electronic mail addressMeMyselfAndI@gmail.compersonal email address
internet addressa web address, Uniform Resource Locatorwww.DaoustAssociates.comweb address
name-persona name of a human beingNorman Ronald Daoustspouse name
name-organizationa name of an organizationIIBA Greater Boston Chapterchapter name
name-othera name of something other than a person or organizationMonthly Chapter Meetingmeeting name
identifiera value that uniquely distinguishes one occurrence from all others1321 5823 0583 2910credit card number
specification texta textual specification that can be parsed into distinct data elements2nd Thursday of the monthmeeting schedule
texthuman readable text, frequently a description of somethingWhen, in the course of human events, it becomes necessary product description
encoded dataa file, document, etc. that typically requires special software to unencode or view itND-picture.jpgpicture
ratioa ratio between two amounts, each having different units30 mphspeed limit

Some of these datatypes (e.g. person name, address, code, money, ratio) are compound: they can be broken down further. We've found that utilizing these compound datatypes keeps our analysis models smaller, simpler, and easier to understand for subject matter experts. Don't neglect to document the structure of these compound datatypes in detail as part of your model!

Implementation Considerations for Analysis Datatypes

If you're concerned about design and implementation, you'll want to read our Implementation Considerations for Analysis Datatypes.

Mappings to Database Managment System (DBMS) Data Types

In case your software developers or database administrators are wondering how to translate these analysis datatypes into the datatypes of your specific database management system, several experts have generously provided that information for you:

If we don't list a mapping to your favorite database management system (DBMS) or programming language, please contact us.

For those that don't understand the need for analysis datatypes in analysis data models and UML class models and only think in terms of a particular database management system's datatypes, I suggest referring to The Zachman Framework, in particular, the What column of the Business row (sometimes known as row 2, column 2). That's the type of model for which these analysis datatypes is applicable.


Thanks to the following people for their contributions:

back to top