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. |