Building a Code System

A well-structured code list is important for further analysis, where you look for relationships and patterns in the data, with the goal of integrating all results to tell a coherent story. If, as in a survey, you only have questions with the answer categories "yes" and "no" in your questionnaire, your data will only consist of nominal variables. This means that the analysis is limited and does not go beyond the descriptive level. This is comparable to a codebook that consists of a set of codes whose analysis level remains indefinite. The aim of building a code system is that you can access your data through the codes and that you can make full use of the analysis tools.

At the end of the chapter you will find a list of articles and books based on which the following recommendations were written.

How to Begin Building a Code System

Unless you are working with theoretically derived a priori codes, to start with, you will be creating codes to catch ideas as they happen. The list of code grows, and it becomes more and more difficult to keep an overview. It is time to begin managing your list of codes. This can be after coding one document, one interview or a few. Managing your code means to start sorting and ordering them into folders, categories and subcodes. Code groups can help in this process as well. Via code groups you can collect codes that are connected. Then set the code group as filter so that you can focus on this smaller subset of codes. Which codes might form a category, which ones need to be merged or split?

Applying a hierarchically organised catalogue to your code system has several benefits. See also Bazely (2013:179-183).

  • It creates order: you know where to look to place or find a particular code

  • It brings conceptual clarity for yourself and others

  • It provides a prompt to code additional aspects as you continue to code. You are for instance reminded to code for 'reasons for having children', 'sources of happiness', 'definition of happiness', etc. because you have a category for these types of things. It also sensitizes you to notice other subcodes that appear in the data.

  • it will assist you in identifying patterns of relationships in your data. Not only will you be able to ask questions about a particular category, this will also allow you to explore relationships between categories, e.g., between emotions and events. You can for instance explorer whether particular events regularly bring forth particular emotions. This can best be achieved if the kinds of things whose associations you want to explore are coded to different categories, in this case a category 'Emotion' with the various types of emotions as subcodes, and a category 'Event' with the various events as subcodes. Hence, you only need a 2-level hierarchy consisting of categories and subcodes.

Several authors provide suggestions in what kind of ways codes in a code system might be grouped. Lofland (1971) for example suggested acts, activities, meanings, participation, relationships, and settings. Bogdan and Biklen (1992) proposed setting/context, definition of the situation, perspectives, understandings of people and objects, process, activities, events, strategies, relationships and social structure. Bazeley (2013) added people/actors/players, issues, i.e., matters raised about which there may be some debate, attitudes, beliefs, ideological positions, frameworks, cultural context, emotional responses or states, personal characteristics, impact/outcomes (facilitator or barriers).

You may find that some of these ideas easily translate into a category with subcodes; others might be too abstract to code with them. Instead, they can be used at the folder level. Within the folder you can develop categories with subcodes which can be applied to code the data.

Below we show you an example. In the first screenshot, you only see the folder and category level. Code groups have been created as means to filter on folder and category level for different purposes. See Further Data Analysis

Code System only showing first level In the second screenshot, the folders have been expanded, and you see the type of categories which were sorted into the various folders.

Code System opening to folder level

If you have interview transcripts and want to "code" for respondent attributes like gender, age, family status and the like, you need to use document groups. You only code for sociodemographic characteristics if there are multiple respondents in one document as for instance is the case with focus group data.

In the third screenshot, some categories have been expanded, and you see the subcodes. In previous versions of ATLAS.ti it was useful to use the same colour for all codes of a category. Given the new visualizations tools, e.g., in the Document and Code Manager, it can be useful to give each subcode a different color as shown for the category 'sources of happiness'.

Code System opening to folder level

Characteristics of a well-structured code list

  • Each code is distinct, its meaning is different from the meaning of any other code.
  • The meaning of each code is described in the code comment.
  • Each category can be clearly distinguished from other categories.
  • All subcodes that belong to a category are similar as they represent the same kind of thing. Nonetheless, each sub code within a category is distinct.
  • Each code appears only once in the code system.
  • The code system is a-theoretical. This means the code system itself does not represent a model nor a theory. The codes merely describe the data, so that the data can easily be accessed through them.
  • The code system should be logical, so you can find what you are looking for.
  • The code system contains between 10 and 25 top-level categories.
  • The code system is no more than two to three levels deep. Thus, it consists of folders, categories and their subcodes. If there are layers of meaning in a section of your data, it is better to create separate codes and double-code the data. This way you can later associate those layers of meaning, e.g., by using the Code Co-occurrence Table.

Good Practice Tips

Organize your code structure based on conceptual similarities, not observed or theoretical associations, nor according to how you think your will want to write the result chapters.

Use a separate code for each element of what the text is about, i.e., each code should encompass one concept only. If there are multiple aspects, the passage can be coded with multiple codes.

Don't worry if not all of your codes can be sorted into a category. Some codes will remain single codes. In order not to "loose" them collect them in a folder, so they show up in their own section in the code system.

The Role of Code Groups in Building a Code System

If you have a lot of low frequency codes that you want or need to merge, then code groups are a good way to collect them. After you have added all low level codes that belong to the same theme / topic / idea, you can set this code group as filter. This makes it easier to merge the codes. The next most likely step is to create a category and add the merged codes as subcodes. You may want to keep the code group because it will come in handy later in the analysis as filter.

Moving on

Once the data is coded, you have a good overview of your material and can describe it. You can then take the analysis a step further by querying the data. The tools that can be used include the code co-occurrence table, the code document table, the query tool, and the networks.

The goal is to delve deeper into the data and find relationships and patterns. Writing memos is very important at this stage as much of the analysis does not just happen because you apply a tool. The insights come when reading the data resulting from a query, and when writing summaries and interpretations.


The recommendations in this section are based on the following authors:

Bazeley, Pat (2013). Qualitative Data Analysis: Practical Strategies. London: Sage.

Bernard, Russel H. and Ryan, Gery W. (2010). Analysing Qualitative Data: Systematic Approaches. London: SAGE Publications.

Bodgan, R., and Biklen, S.K. (1992). Qualitative Research for education: An introduction to theory and methods (2nd ed.). Boston: Allyn & Bacon.

Charmaz, Kathy (2006/2014). Constructing Grounded Theory: A Practical Guide Through Qualitative Analysis. London: SAGE Publications.

Corbin, Juliet and Strauss, Anselm (2008/2015, 3rd and 4th ed.). Basics of Qualitative Research: Techniques and Procedures for Developing Grounded Theory. Thousand Oaks, CA: SAGE Publications.

Freeman, Melissa (2017). Modes of Thinking for Qualitative Data Analysis. NY: Routledge.

Friese, Susanne (2019). Qualitative Data Analysis with ATLAS.ti. London: Sage.

Gibbs, G. (2008). Analysing Qualitative Data. London: SAGE.

Guest, G., MacQueen, K.M., and Namey, E.E. (2012). Applied Thematic Analysis. Los Angeles: SAGE Publications.

Guest, G., Kathleen M. MacQueen, and Emily E. Namey (2012). Applied Thematic Analysis. Los Angeles: Sage.

Hammersley M., and Atkinson P. (2007) Ethnography: Principles in Practice. Third edition. London: Routledge.

Johnston, L. (2006). Software and method: Reflections on teaching and using QSR NVivo in doctoral research. International Journal of Social Research Methodology, 9(5), 379–391.

Lofland, J. (1971). Analyzing social settings: A guide to qualitative observation and analysis. CA: Wadsworth.

Miles, Matthew B., Huberman, M., and Saldaña, J. (2014, 3rd ed.). Qualitative Data Analysis. Thousand Oaks, CA: SAGE Publications.

Richards, L., and Morse, J.M. (2013, 3rd ed). Readme first: for a user’s guide to Qualitative Methods. Los Angeles: Sage

Richards, L. (2021, 4ed). Handling qualitative data: A practical guide. London: SAGE Publications.

Saldaña, J. (2021). The Coding Manual for Qualitative Researchers. London: SAGE Publications.

Spradley, James P. (2016). The Ethnographic Interview. Waveland Press.

Strauss, A. (1987). Qualitative analysis for social scientists. Cambridge, UK: Cambridge University Press.

Weston, C., Gandell, T., Beauchamp, J., Beauchamp, C., McApline, L., and Wiseman, C. (2001). Analyzing Interview Data: The Development and Evolution of a Coding System, Qualitative Sociology, 24(3): 381-400.