by Jackie Kazil

It has been five years, five long years, since I married my husband. Since then, I have worked three jobs, we’ve added a new dog to our pack, we’ve had a baby, and he is in school to become a neonatal intensive care unit nurse. My husband, not the baby. The baby is working on an aerospace engineering degree. While a lot has changed in the last five years, there is one thing that hasn’t — my love for spreadsheets.

To celebrate our five-year anniversary the first thing I did was rent the farmhouse in which we got married. The second thing I did was create a spreadsheet. Spreadsheets, they are my jam. When there is a complicated situation that I am looking to put into order, I spreadsheet the crap out of it.

Finding a new vet? That’s a spreadsheet.

Naming your baby? That’s a spreadsheet.

Tax deductions? That’s a spreadsheet.

Organizing donations for a charity auction? That’s a spreadsheet.

Family tree? That’s a spreadsheet.

Buying a new computer, overwhelmed by feature combinations? That’s a spreadsheet.

Holiday card mailing list and Christmas gift shopping list? That’s a spreadsheet for each year.

Ph.D. or masters literature comparison? That’s a spreadsheet for each subtopic area.

Remodeling a house? That’s a pile of spreadsheets.

Have one week to setup a system where 40 people collect half a state’s worth of election data by telephone and collaborate to publish to the web quickly? It’s spreadsheets all the way down.

I could go on, but I think you get the point. Spreadsheeting and I have a history. In the 1980s, my mother and father used paper spreadsheets to track their businesses and inventory. Today, I use Google spreadsheets. Looking back at all the digital garbage I have lying around, I still have spreadsheets from 2008. I even wrote a chapter on how to process data in spreadsheets in my book Data Wrangling with Python: Tips and Tools to Make Your Life Easier.

Spreadsheets are my go-to tool when overwhelmed by massive information. Take the time that I bought a new car. First I created a spreadsheet for three small, cheap, practical cars that I then began to narrow down. But in the process, I realized that we were planning on having kids and dogs during the lifespan of this car. New tab created — three new cars that were bigger — compact crossovers. I then laid out a comparison of features that were important to me, like space for the dogs, fuel efficiency (measured by miles per gallon), desirability of the color of interior, and moonroof. In the end, most of the spreadsheet didn’t mean anything. Once all the basic “must have” requirements were met, the only column that mattered was the moonroof column. It was through this process that I realized getting the car with the panoramic was the most important thing to me. This seems counterintuitive to spreadsheeting. You might say, but ‘Spreadsheeting is supposed to be logical. Why make a spreadsheet if you aren’t going to listen to the spreadsheet?’ Sometimes the spreadsheet guides me to an answer, while other times I already have the answer, but I need the act of spreadsheeting in order to figure that out.

It can be easy to spreadsheet all the things. So, when do you spreadsheet? If the task/situation you are trying to address with the spreadsheet is not emotionally important enough or expensive enough, then just make a decision and move on. Spreadsheets are cheap, but your time is not. For example, I wanted to buy the perfect floating beer cooler for white water tubing trips my husband and I take. These coolers cost between $20 to $75. If I made a spreadsheet, it would take three hours of my time, which is worth much more than buying the wrong cooler, giving it away, and then buying a better one. You’ll have to figure out where exactly your threshold for spreadsheeting a problem lies.

You know what event is emotionally important, expensive, and worth your time to spreadsheet the crap out of? Your wedding day. Our wedding planning spreadsheet had eight tabs, of which only five were successful. Let’s start with the obvious.

The Budget Tab

Our wedding had a budget of $5000, because we decided that we were saving our money to spend on remodeling our house. We used this tab to not only plan our budget, but to figure out what our priorities were. Ours included the following fields:

Item – Short name of item [Short Text]

Date (of purchase/payment) [Date]

Description [Short Text]

Can we do better? [Yes/No] – Meaning, do we think we are spending too much money on this item? Could we be more creative? This helped us identify areas of opportunity.

How can make this better? [Text] – This is where we allowed for more information about how we can do better on the cost of the item.

Event [Limited list of choices] – A wedding is not just the wedding. The cost of a wedding is not just the wedding. It could be brunch or the rehearsal dinner. This marked these, so we could track individual events surrounding the wedding without going overboard.

Estimate/Cost [Dollar amount]

Estimate High [Dollar amount]

Estimate Low [Dollar amount]

Finally, the last three fields were the estimates and included a high and a low version. That way we’d know if something went horribly wrong or we miscalculated, we’d have an idea of how expensive it could get. And if we were looking for a bare minimum, how low could we go.

The most expensive item was the photographer at $1,750, and that is cheap. He was good, but I wish I had spent more. Always spend more on the photographer. The second most expensive item was the house we got married at, which we reserved for five days and four nights because we also used it to house guests visiting from afar.

The Location Tab

This was a simple tab. It was an inventory of possible locations that we were considering. Ultimately, we were hoping for a place that we could also sleep at, and maybe we could also house a few family members. It included the following fields.

Property (Name) [Text]

Priority [Number] – 1, 2, or 3 – Once again, this helped us focus on which locations to pursue first.

Website link [Link]

Rate per night [Dollar amount]

Extra fee (cleaning or anything else) [Dollar amount]

Total [Dollar amount]

Location [Text] – This was a description of where the place was in comparison of where we wanted to be.

Sleeps [Number] – The number of people the location could sleep.

Contact [Text] – Email or phone number, plus the name of the person.

Often when you get a wedding location, you can end up spending $1,000 just for that. We ended up spending $1,100 for our wedding location and for a house that has five bedrooms and sleeps 15. This brings us to the next tab.

The House Tab

The house tab was to track who was sleeping where and on what nights. This is a little like the brain teaser games where you get limited info about individuals and you have to figure out which location they are in. For example, “Sammy can’t stand Jo, but is on the right of Ben.” The five bedrooms were as follows: one room with a queen bed, one room with a full size bed and a futon, one room with four single beds, one room with three single beds, and finally, one room with a futon on the first floor.

This tab included the following fields:

Day [Text] – Which day of the week was this room/bed going to be occupied.

Room [Limited list of choices]

Space in room [Number] – Not all space is equal, because for a solo traveler a single bed is still a single bed.

Person [Text] – This is actually multiple columns. There is one person per column onward until all the spots are filled. Then you do an assessment as to whether the people that are selected to sleep in the same room will work.

After placing immediate family, the bridesmaids and the groomsman in rooms, the house was pretty much full. We decided to leave the room on the first floor open for sanity reasons, so folks could get away from others if needed. And as it turned out we ended up needing the room, because one of our guests unexpectedly needed more space and we were able to easily accommodate this. My husband and I took the room with the full-sized bed and extra futon (we were fine sleeping together, but we could have been in separate rooms). The room with four individual beds was the women’s room. The room with three individual beds was the men’s room. And the last bedroom, a queen bed, went to a loving and dear family member, who shall remain unnamed, who needed to be quarantined from everyone because he snores loudly.

This brings us to the core of this story: the guest list.

Guest List Tab

This is the tab that should not be shared beyond you and your significant other, and probably should be destroyed afterwards for the information that it contains. Lucky for you, I didn’t destroy ours! The guest list was the main reason why this spreadsheet was created. We had limited seats, only 50, including ourselves, and wanted to make sure that we weren’t just willy-nilly telling family or friends that they could come to our wedding.

You start by first making a list of everyone you would enjoy at your wedding, and you note if they have any special relationship to the wedding. Lastly, you code whose side they should be classified with: “Bride, Groom, or Both”. This is to ensure that one side isn’t dominating the wedding, unless both parties are comfortable with that happening.

Guest name: Lydie
Relationship: JK’s mom
Which side: Bride

Next is the scandalous part. You create another column and give everyone a “Guest Priority” rating of one to seven. THIS is the reason why this tab and the containing spreadsheet should be kept private. It would be disastrous if the people in your life found out they were rated a six, but they thought they were a two or three. The definitions of what each number are are not in the sheet though. At the same time though, it helps keep you honest to thoughtfully consider what your relationships mean.

So, how do you assign priority? That is for you to decide, but here is how ranking worked for me:

Priority 1 – Bride, Groom, and officiant. You can’t have a wedding without the people in Priority 1.

Priority 2 – Immediate family and photographer. Family is a term that you should define, because sometimes it’s the people you choose, not the people you were assigned to at birth. For us, it was moms, dads, and siblings. It is also possible to move the photographer to priority 1 if you are keeping the wedding small and the photographer is more important to you then family.

Priority 3 – Closest friends. This is where our bridesmaids and groomsmen landed. These are people we see on a regular basis, because we enjoy being around them so much or people we have known for 20+ years.

Priority 4 – Second tier closest friends. This is the same as prio 3, but maybe my relationship with them isn’t as well established.

Priority 5 – Third tier friends run prio 5 to 7. These are everyday friends. They might be coworkers that you’re friends with as well. For me, most coworkers would make it above a prio 5, unless we were good friends outside of work.

Priority 6 – Not quite prio 5, but not quite prio 6.

Priority 7 – “Sure you can join us. We have an extra seat.”

It should be noted this is how I, not my husband, decided to rank our potential guests. Each person ranks their own people. At the end, we negotiated who stays in which category to ensure everyone was happy. For example, let’s say my husband ended up with 15 priority fours and I had two priority fours. We can then discuss are those 15 valid priority fours or does he need to downgrade some potential guests or do I need to upgrade some potential guests.

Looking back at my guest list, I noticed that people wouldn’t have the same rankings as they do today. Everyone who was four or lower is still a well established member of our lives today, except for one, but they were on shaky ground back then. One person married into priority two. They met at the wedding. Another friend, I misclassified as a six. I would say they were a three or four today.

After you have given everyone a priority, you should order the spreadsheet. Make sure that everyone in a relationship is given the same priority, because you wouldn’t invite one person without the other. Depending on whether you enjoy someone or dislike someone the spouse gets bumped up or down to the other individual’s rating.

(This is the part in the article that I realized I have created Yelp for the people in my life.)

Then you draw the line. People are in or they are out. If the cut-off lands unevenly, then you figure out who from the prio group you are looking at you would like to have most attend based on the members of that group and on the distribution of seats taken by each person.

Remember, ours was a budgeted wedding, and invites are expensive. So, we wanted to do a pre-check before we sent out the official invite. We added the following fields to track reach outs.

Will they come? [Yes, No, Maybe]
Contacted? (Date)
Verbal confirmation? [Yes, No, Maybe]

Use “Will they come?” to figure out how many people you should verbally talk to. You want to strike a balance between giving people as much notice and not over booking. If someone verbally confirms they are “No,” you can then move onto the next person for the invite. At the end, you should have a limited list of “pre-confirmed” invites. In addition to this, we also used the guest list tab for who to invite to the “Bridal Shower” and “Rehearsal [dinner],” which were their own columns respectively.

The Guest List – Out Tab

This spreadsheet is full of scandal! This is where all your potential guests go if they are not on the guest list. When you are looking for more people to extend invites to you go here. This is also where I discovered that I had a secret category of “Priority 8”. I guess I wanted the sevens to take precedence. Only one person got an eight.

The people in this tab ended up falling in three categories:

  1. They were the sevens and eight of your guest list. They didn’t make it.
  2. They were a higher priority than a seven, but they gave you a verbal “no, I can’t make it”.
  3. The last group are the random +1s of people who you decided to deny guests, because you didn’t have the space.

The Failed Tabs

Sometimes not everything you try to spreadsheet works out. That’s fine. This spreadsheet had three failed tabs: Food, Live Stream Contact List, and Etiquette.

‘Live Stream Contact List’ was supposed to be a list of people that we would invite to the live stream. In the end, it only had three names, and we didn’t live stream it.

‘Etiquette’ was supposed to be noted on etiquette that I collected from the Internet. It in end, there was only one link I saved — The Rules for Regarding “Plus Ones”.

‘Food’ was used to track all meals at the house to determine what we were going to eat and when over the days that we were there. We kind of did this, but not really. It was a nice list to have for shopping, but I am not sure that it needed to be a spreadsheet.

If I had to do it over again, I would take the same approach towards invites. I may have been more organized around the food and beverage for ordering. We debated having an open bar, but instead we did beer and wine and a couple of bottles. The beer ran out pretty quickly during the reception, while we were taking photos. Family helped us out by doing a beer run. Surveying our guests for preferences and adding that to the spreadsheet could have helped us identify the potential for a beer shortage.

Jackie Kazil is the author of Mesa, a Python-based agent-based modeling library, and sits on the Board of the Python Software Foundation. In her spare time she works on her Ph.D in Computational Social Science at George Mason University. Jackie co-founded 18F, was a Presidential Innovation Fellow, and has worked at The Washington Post. She is the co-author of the O’Reilly book, Data Wrangling with Python. She lives in Washington, DC with her husband, daughter, and two dogs.