Changes

Jump to navigation Jump to search
3,809 bytes added ,  13:46, 16 August 2022
finish first draft
Line 21: Line 21:     
=== Getting the baseline data ===
 
=== Getting the baseline data ===
I started the data collection on July 13th, 2022 and continued to do the recording protocol until August 16, 2022, giving me a good month worth of baseline data. During this time I did not look at the data beyond spot-checks to make sure the data collection still worked (i.e. no plotting/reasoning about the data during this period).  
+
I started the data collection on July 13th, 2022 and continued to do the recording protocol until August 16, 2022, giving me a good month worth of baseline data. During this time I did not look at the data beyond spot-checks to make sure the data collection still worked (i.e. no plotting/reasoning about the data during this period). After that time period I downloaded the data from the spreadsheet and loaded into [[R]] to explore the data I had gathered so far by making some basic plots of the data, starting with a simple time series before looking at the overall distribution.  
   −
The baseline more or less confirmed my initial gut feeling regarding my smoking frequency: I had expected it to be an average of around 10 cigarettes a day, and over the baseline it came out at 8.6 which is slightly lower than guess was.
+
=== Learning from the baseline ===
 +
The baseline more or less confirmed my initial gut feeling regarding my smoking frequency: I had expected it to be an average of around 10 cigarettes a day. My baseline data came out at a median number of 9 which is slightly lower than guess was. I also decided to break down the data between regular working days and weekends to see if there's a strong effect there. While the violin plots show a slightly shifted distribution, the actual differences aren't too big, with the median remaining at 9 for weekdays and lowering to 8 for weekends.
 +
 
 +
==Implementing a feedback method==
 +
With a solid baseline data collection in hand I now decided to start implementing a more immediate feedback mechanism: So far all collected data went into a Google Sheet but would remain there unseen until the moment I decided to view the data as a spreadsheet or export it to make plots by hand. As a simple small intervention I decided I would like to start by giving more immediate feedback when pressing the button, which I hope would help me reflect on my smoking habit and ideally motivate me into keeping those daily numbers down as they are now properly counted and highlighted to me. 
 +
[[File:Flic-smoking-notification-setup.png|thumb|500x500px|The spreadsheet after adding some columns for processing]]
 +
The simplest way would be to automatically send back a notification to my phone/smart watch regarding how many cigarettes I had so far smoked throughout the day. It turns out this is also (somewhat) easy through IFTTT, as it not only allows writing data to a spreadsheet, but also monitor specific cells for changes. Effectively, I would have to count the number of records in a spreadsheet that were done on the current day. Implementing this was not as easy as I had hoped though, given that the timestamps that IFTTT writes are rather ugly (see top image).
 +
 
 +
To solve this issue I took the following steps:
 +
 
 +
#Split the dates in column D into its components through the formula <code>=ArrayFormula(SPLIT(D2:D," ,"))</code>, resulting columns E to I.
 +
#This splitting would then allow me to construct a more "normal" date format in column J using <code>=ARRAYFORMULA(F2:F&" "&E2:E&" "&G2:G)</code>
 +
#I then convert the data into the <code>date_value</code> in column K through the formula <code>=ArrayFormula(DATEVALUE(J2:J))</code>, as I could not figure out how to otherwise compare the dates correctly.
 +
[[File:Smoke-counter.jpg|thumb|A notification that was triggered by recording a new data point.  ]]
 +
Through the use of <code>ArrayFormula</code> all columns would automatically populate until the end of the spreadsheet, which includes all new data that is added by future button presses. With a continuously growing column K, I could now compare that value to the date value of whatever the current date is:
 +
 
 +
#In cell N2 I get today's datevalue using <code>=DATEVALUE(TODAY())</code>
 +
#In cell N3 I could then do a conditional counting to see how many data points were collected both today and through the double click, <code>=COUNTIFS(A2:A,"double_click",K2:K,N2)</code>
 +
 
 +
As a result, every time I double click the Flic button, the value in cell N3 automatically increments upwards for a given day, before jumping back to zero at midnight. With this automated counting in the Google Sheet in place I then added a monitoring of this particular cell (N3) to IFTTT, and every change in the cell's value will trigger a notification on my phone/watch through the IFTTT app that informs me about today's counter status. IFTTT does not monitor the data in real-time, but rather every 5 minutes, which seems timely enough for now.
 +
 
 +
In a few weeks it will then be time to check the the data and compare it to the baseline to see if the intervention made any difference.

Navigation menu