My Mood Throughout the Week According to the 200,000 Texts I Sent in the Past 8 Years

Tue, Dec 30, 2025

Announcement: Want to read more from me? I started a Substack where I’ve been posting these Data Journal posts along with personal essays. I’ll continue posting new Data Journal posts here, but you can also find these posts on Substack, along with essays (sans data) which I publish more frequently. You can check it out or Subcribe here!

If you have an iPhone and a Mac, all your text messages are stored in a database in a hidden folder on your computer that you can find and query if you know where to look. Using my current computer and everything I had saved on backup drives, I managed to fasten together almost all my texts since March 2017, with just a few brief gaps in data.

I’m analyzing just the text messages I sent, not the ones I received. The full dataset contained 202,892 messages.

Here’s the number of texts I sent over time. Each tiny bar shows a week of texts:

I wondered what I could learn about myself and my moods if I applied sentiment analysis to my text messages. Sentiment analysis uses machine learning to determine how positive or negative a piece of text is. I was doubtful that analyzing text sentiment over the continuous 8 years would give me reliable insights into my emotions since who I texted, when I texted, and what I texted about changed substantially over the 8 years and would confound results. (I tried this out of curiosity just to see what I got, and it was nonsense).

I needed a time scale for which I could aggregate many cycles over time to isolate the effect of the cycle itself instead of just capturing long-term changes in my texting habits. So I decided to look at my text message sentiment throughout the week. Weeks, although mostly arbitrary time cycles (unless you interpret the first few sentences of Genesis literally), have massive influence over our experiences. Sunday morning and Monday morning are completely different.

Objective information about when I tend to feel good and bad is especially intriguing to me as a person with substantial depression and anxiety. I wasn’t doing this project to solve anything—I’m not trying to “hack” my mental health. (Therapy is where I devise my long-term mental health goals and game-plan). But I also believed the results could be valuable. Maybe they would validate what I already knew. Maybe they would lend insights into helpful changes I could make in my routines. Maybe they would help me maintain perspective during the moments when I tend to feel worse.

Methods

I’ve actually been playing around with older iterations of this data for a couple years. This was a surprisingly hard project from an analytic standpoint. Transforming data from haphazard, momentary time points into a continuous relationship between time and sentiment was not straightforward. I tried many different strategies, and this is the methodology that worked the best.

Each text message was labelled as positive (1), negative (-1), or neutral (0) using the “sentimentr” package in R. Sentimentr assigns sentiment values globally based on the entire message and its meaning. Based on my spot checking, the assigned values were imperfect but generally pretty accurate.

After each text is assigned a value, we can calculate the average sentiment for a set of texts. Here are example high and low sentiment conversations with my mom and with a close friend to give you a sense of what the sentiment values mean.

High sentiment conversation with my Mom:

This conversation took place on a Friday morning (average sentiment = 0.83).

High sentiment conversation with my friend:

I sent these messages on a Tuesday evening while listening to voice memos a friend had left commenting on a piece of writing I was working on (average sentiment = 0.86).

Low sentiment conversation with my mom:

This conversation occurred on a Friday morning and began with me sending a picture of my thumb (average sentiment = -1).

Low sentiment conversation with my friend:

This conversation occurred midday on a Wednesday (average sentiment = -0.55). For context, I was at Mass. Eye and Ear that day trying to get an urgent hearing test for migraine-induced sudden hearing loss, something I’ve written about before. It’s also helpful to know that my first walker was nicknamed Mo.

For every time point in 15-minute increments throughout the week (e.g. Tuesday morning at 9:45am), I calculated the rolling average sentiment of all texts sent within 1 hour of that time point (any texts sent between 8:45am and 10:45am on Tuesday mornings). To ensure that a small number of texts sent at unusual times weren’t having undue influence on the results, I include only time points with at least 2,000 texts contributing to the sentiment calculation.

I also calculated the average sentiment for each day of the week, weighting each time point equally but only including time points with at least 2,000 texts. The averages for each day are shown as dotted lines in the graphs below.

Results

Here’s the graph of average sentiment throughout the week:

I’ve been telling people this might be the most beautiful graph I’ve ever created. I love it.

A Brief Discussion of Some Technical Aspects, If You’ll Forgive Me for it

Before I move into interpretation, allow me to show you the results of one sensitivity analysis. What if the sentiment of my text messages is dependent on who I’m texting and I tend to text different people at different times throughout the week? For example, what if in the evenings I text my close friends, to whom I confess my angstiest feelings (which otherwise remain present but un-expressed through texts)?

I re-ran the analyses but instead of plotting the texts’ raw sentiment, I calculated each sentiment as the difference between a text’s sentiment and the average sentiment of texts I sent to that person. Here’s what that graph looks like (referred to below as graph 2):

The results here look strikingly similar, except that Tuesday and Wednesday nights are especially high sentiment when you account for recipient average and Friday, Saturday, and Sunday show less of a downward trend throughout the day. Whether you think the first or second graph is a more accurate depiction of my emotions throughout the week depends on if you think the times I text my high vs. low sentiment friends are largely random (in which case, we’d want to control for the average sentiment of the recipient, graph 2), or a reflection of my mood (e.g. I text my low-sentiment friends when I’m sad, in which case, we shouldn’t control for that average sentiment of the recipient, graph 1). I think the reality is somewhere in between, but who I text is probably largely a function of how I feel, so I think graph 1 is likely to be more accurate.

Here’s graph 1 again so you can refer to it more easily:

Interpretation

Sundays are Great (until Sunday Evening) and Mondays are Terrible and Everything Else is in Between

Sundays have by far the highest average sentiment of all seven days, with Sunday mornings and early afternoons displaying the highest sentiments of the day. Unfortunately, it’s all downhill from there, with the rest of the day betraying a precipitous drop. Mondays have the lowest average sentiment—much lower than the other days. Mondays start bad, get a little better, get worse again, and then waver between excruciating and meh for the rest of the day. Besides Sundays and Mondays, the average sentiments for the weekdays are barely distinguishable from one another.

Do these findings align with my experiences? I’m not sure. Mondays are notoriously hard. I often have a moment of fear sometime during the day where I’m like, “shit, there’s a lot to do this week.” Sundays being the highest sentiment day came as more of a surprise. That being said, I do like Sundays. On Sundays I’m well-rested. My days are generally slow — laundry, sometimes brunch, studying, eating snacks on my couch. I can tell a story about why Sundays are the highest sentiment day of the week, but I’m not sure if it’s real or if I’m just making it up based on the data.

The Sunday Scaries are Real but they Can’t Compete with the Monday Miserables

I already described the precipitous drop in sentiment that is Sunday afternoon and evening. The Sunday Scaries are real. But Mondays have them beat. Monday evenings are the lowest sentiment time of the week. I don’t think I could have predicted that specifically, but it doesn’t surprise me. Perhaps the “shit, there’s a lot to do this week” feeling peaks on Monday evenings.

Friday and Saturday Generally Disappoint

Fridays and Saturdays are not that special. Sentiments on Friday look not unlike Tuesday, except Fridays get worse throughout the day. And Saturday night plummets to the same low point as Sunday nights, a low surpassed only by the lowest moments of Mondays!

This doesn’t really surprise me. I love Fridays but on Fridays I’m generally exhausted. They’re the final push of the work week, followed, often, by a bit of an emotional crash in the evening. And I’ve known for years that weekends are hard. I struggle with the lack of structure and the expectations (set by no one but myself) to catch up on a bunch of stuff while somehow simultaneously having a good time. Oh, the weight of expectation!! Poor Friday and Saturday. They never had a chance.

7pm sucks.

One thing I learned from these results is that 7pm sucks. There’s a low point around 7pm basically every day of the week.

The following are real texts I sent between 6pm and 8pm:

  • “I’m freaking out”
  • “Anyway, feeling a little tortured”
  • “Oy, that was exhausting”
  • “Omg having a small parking nightmare”
  • “Anyway just a heads up that I am a bit of a mess”
  • “Oh yep there it was. Checking the spam folder is apparently above my pay grade 🤦🏻‍♀️”
  • “My flight was delayed 😭”
  • “Ouch”
  • “Hi [Landlord], Any chance you accidentally took the pliers we had in the shower with you when you came to fix the shower handle? The shower handle has fallen off again.”
  • “They generally take the spineless road”
  • “I’m so sorry I sent you that terrifyingly ambiguous email earlier!!!”
  • “And frankly I think they’re all wrong AND they’re cheating.”
  • “Going upstairs to potentially vomit”
  • “And I’m sad about how sad I am.”
  • “Someone else is using the only elliptical and I am sad”*
  • “And I broke our toilet trying to install a bidet hahahaha”*
  • “The painful diarrhea is really putting the pain of the essay in perspective”*
  • “I’m having serious cramps so I’m going to go lie on the couch and analyze some data now”*
  • “I’m eating the nachos and they are much much worse now”*

*these texts were also sent on a Monday.

I have no further comments.

Thriving Thursdays

Thursday mornings are what we think Friday nights are: the peak of the week.

The following are real texts I sent on Thursday mornings:

  • “I’m doing so well on both of those things so far today 💪🏻”
  • “I have and it was the dream.”
  • “Aww you’re adorable!”
  • “This is so helpful!”
  • “Thank you!! You’re the best”
  • “Compliments from dentists are really top notch”
  • “Tacos a la madre, my greatest love”
  • “Noon sounds good! Nice for me to have a deadline too haha”
  • “WE NEED TO CELEBRATE!!!”
  • “What a comfort your texts were to wake up to”
  • “The meds are helping I think. I feel a lot better”
  • “Solves EVERYTHING ✨”
  • “Thank you that was reassurance I needed”

On Thursday mornings, we live in an alternate universe where deadlines improve our psychological wellbeing, dentists tell us we’ve been doing a great job taking care of our teeth, we wake up to comforting text messages, and the meds are helping and we feel a lot better. TGITM.

The Work Week is Alright

Mondays do seem to really be tough, but Tuesday, Wednesday, and Thursday are all pretty good days. The routines, the coworkers, the series of small wins—I think it’s all better than we make it out to be.

Fear and Fatigue

My dad, who is also chronically ill and has thought a lot about how the work week affects his wellbeing, says his mood throughout the week is a function of both fear and fatigue. Fear precedes high effort and fatigue follows it. We would need a lot more information to be able to evaluate whether these results align with my dad’s theory (e.g., When and how much does fatigue accumulate?, How early do I start experiencing fear?), but I think he’s right about these two elements having a large effect on my sentiment throughout the week. Are Wednesday nights and Thursday mornings the point in the week where enough fear has dissipated (more than halfway done!) but not enough fatigue has accumulated that I feel the best? Is midday Sunday the opposite—finally rested, not yet afraid?

Did I Capture Something Real?

Part of why I wanted to see an “objective” measure of my mood throughout the week is because I don’t think I have a strong intuitive sense of how I tend to be doing at different times. Sometimes the “best” times can really be the hardest (I’ve heard enough talk recently about how the holidays can actually be really hard for folks to know I’m not the only one who’s realized this). That being said, I don’t have a solid sense of my weekly emotional trajectory to perform much of an accuracy check on these results. I don’t know if they align with how I feel throughout the week.

One critical question underlying this whole project is this one: do I send low-sentiment texts when I feel low and high sentiment texts when I feel good? If not, it doesn’t make sense to expect these results to tell me much about my weekly feelings.

The sentiments of my texts are also contaminated by the emotions of all the people I’m texting (we’re not always talking about me). Another limitation to these analyses is my texting style: clauses from the same sentence sent in separate texts with missing punctuation. Here’s a story I texted someone a few days ago as an illustration:

Not a period in sight. A future iteration of this project might try to combine separate texts sent in quick succession to analyze the sentiments of at least full sentences, but the lack of punctuation would make that merging of texts a little challenging.

What I Learned: Cycles of Darkness and Light

The week is one unit of time not readily reflected in the natural world. Yet, the entire form of the natural world changes in accordance with other cycles, reflecting days, months, and years in myriad examples. We’re all built for cycles.

When I was writing an earlier section of this, I originally typed something about wanting to use the results to “feel better,” but feeling better isn’t necessarily the goal. When we think about living well or recovering from episodes of mental illness, the goal isn’t to not have negative feelings, it’s to be able to move through the full range of emotions without undue resistance and without getting “stuck.” Not resisting negative feelings is something I’ve been working on–I’ve struggled enough that I’ve gotten spooked by how hard things can feel. I know the hardest times don’t last forever, but maybe I’ll believe it even more deeply now that I’ve seen it in a graph.

Furthermore, there are good moments in bad days. As much as even Monday looks pretty bleak, the high points of every day are well above the overall average.

It’s easier said than done, but this project has also reminded me how worthwhile it would be to have less fear and dread. The worst times of the week seem to be mostly about what’s to come. Seeing the fear overshadow the feared puts into perspective the fact that the dread isn’t really worth it.

In 2026, I hope you have many truly Thriving Thursdays and a little less fear and dread than last year!

Yours,
Jess

P.S. As usual, here’s a link to see my code.
P.P.S. If you would like to receive an email when I publish a new post, please fill out this google form.