Materializing &
Fabricating Interactions


My goal for this project was to visualize the types of interactions that happen in customer service complaints. I chose to use data from Comcast - a corporation that has a reputation for poor customer service. I pulled information about the frequency of certain keywords from the customer service complaints. The keywords fall into the categories of "emotional language" and "accusatory language".

In this project, emotional language is defined as any descriptor that is emotionally loaded, or one that a person would use in a heated argument. Accusatory language consists of words that assign blame.

Emotional Language

  • deceptive
  • dishonest
  • incompetent
  • terrible
  • shameful
  • horrible
  • outrageous
  • frustrating
  • awful
  • waste of time

Accusatory Language

  • monopoly
  • scheme
  • fraud
  • lie
  • manipulation
  • scam
  • fault
  • trick

I chose to visualize the frequency of the keywords in realtion to the time of day they were sent. I was interested in how the style of the interaction changed throughout the day. The 24 rays that extend from the center of the visualzation represent hours on a 24 hour clock. It is evident from the visualization that emotionally charged language tends to be used in the late hours of the night, while accusatory language happens more during the evening.


I used a dataset of Comcast customer complaints from 2015. There were 2226 complaints in the dataset, which was more than enough for my purpose. The following are examples of keywords found in customer complaints.

"This is unacceptable. Comcast has admitted on several occasions that the problem is on their end and/or their equipment is causing the issue. We were afraid to have a tech come out to us, as they are deceptive about charging hundreds of dollars for a tech to come out, even though they say they won't.. We finally agreed to have a tech come out because it is better than sitting here with useless internet access. As you can see, I am very very frustrated with this company. They have a monopoly, and thus they hold the internet hostage. They don't care about the consumer, but they demand hundreds of dollars a month and for what? 0.02 mbps speed internet. They are nothing but a bunch of crooks."

"I was told I was responsible for the $70.00 bill because it was my problem. I asked why it was my problem when it was their damn equipment and was chastised for using foul language. Google internet can't get here fast enough. This monopoly is awful. They don't care. There needs to be competition and they need to be forced to provide the service that I am forced to pay high rates for. AT&T can't compete with their speed. They know they are the only real game in town. Therefore they are unresponsive. I expect relief. I shouldn't have to pay 70.00 for them to repair their system. Let alone the poor customer service and the waste of my time. Unbelievable."


I counted the frequency of each keyword in a dataset of 2226 customer complaints that were made to Comcast in 2015.I chose the keywords based on reading the complaints and taking note of the emotional/accusatory language that stood out or was used often. Then, I found the average time of day that each keyword appeared. I plotted that on the 24-hour wheel. A keyword's overall frequency was roughly indicated by the size of the circle on the wheel. The distance of the circles from the center of the wheel does not have a significant meaning - its purpose is to make the wheel more visually interesting. In an ideal scenario - where the data was processed by an algorithm rather than by hand - the distance of the circles from the center of the plot would represent minutes in the hour.

I originally created the visualization in illustrator. I separated the data for the two types of language into different layers.

Data visualized in illustrator, with lines for each hour of the day.

Data visualized in illustrator. The two visualizations will be overlayed in the final print

I imported the files into Inkscape to print with the AxiDraw machine. In inkscape I added the description text to the visualization.

blue in inkscape red in inkscape

Visualization in Inkscape, with added text

I printed with two pen colors to differentiate between the two types of language that were used.

In an ideal scenario, the machine would receive live updates every time a new customer complaint was submitted. There would be a program that searched the text of each new complaint for the keywords on a given list, and used the machine to print out the correponding circles on the wheel.

In this scenario, it would be interesting to watch the machine act like a clock as new customer complaints were submitted throughout the hours of the day. The viewer could see what time of day the complaints were the most frequent, as well as what type of language was used most during a given time of day. Additionally it would be interesting to watch what happens to the trends as more data is added to the visualization.

Drawing the visualizaiton with the AxiDraw machine

Drawing the second layer

Finished drawing


This project visualizes the ways in which customers interact with customer service. It takes into account the time of day, as well as type of language - emotional or accusatory- they use in their interactions. In an ideal scenario, the AxiDraw machine would recieve live feedback from customer complaints, and plot the keywords on the 24 hour wheel as they happen. This clock-like process would allow users to see where the keywords are plotted in relation to the time of day, in real time. In this example, only the interactions between customers and Comcast customer service in 2015 were drawn with the machine.