0%

用GTD的思路记账

用手机记账,一直存在着很多的痛点。所以在这篇文章中,给大家提供一种新的思路,来改进记账的工作流,利用已有的一些效率工具缓解记账流程中的一些痛点。

记账究竟是记什么

交易(transaction)定义了什么

在记账的时候,每一条交易记录了什么?
或者换个角度来说,“帐”单里面的条目究竟定义和记录了什么。
我习惯会用下面的公式来给出一种解释:

$$ (d_1,d_2 … d_n ) \iff m$$

其中$d_x$代表数据维度,$m$代表一个数值。

所以:

每一条“账目”,就是在一定的数据纬度上分割的数值。

这样的公式和解释似乎比较抽象,所以可以用一个例子说明一下。首先定义几个记账中常用的数据纬度,例如,时间、地点、商家等,而数值也就是消费的金额。于是可以得到下面这样的一种定义

$$(时间, 地点, 商家) \iff 消费金额 $$

好了,在这个定义的下,账单的结果大概率会变成下面这样:

  • (2017年6月1日 12:00 PM, 大悦城, 将太无二 ) -> 100
  • (2017年6月1日 15:00 PM, 大悦城, 金逸影城 ) -> 60

基于这个简单的例子,大家对上面记账条目的公式应该了直观的理解。联系到实际中记账的各种软件中,会发现很多都是基于这样的模型去定义记账的内容。

用我个人习惯使用MoneyWiz 2举例,下图中的是MoneyWzi 2中的交易布局界面,在这个界面的设置基本上也展示了MoneyWzi 2中对记账条目的定义。

账目报告展示了什么

基于前面的数据模型定义,进一步来说,对于很多软件中的的财报月度总结之类的界面,就是在某一个或者多个数据维度上对最终数值进行的聚合(aggregation)操作。

依旧用上面的例子,在2017年6月1日的日度消费总结,就是针对所有的数据在时间维度等于2017年6月1日的条目,对数值(消费金额)列进行操作的聚合,也就是会变成160。
虽然这只是个最简单的例子,对于很多记账软件来讲,更加复杂的报告,基本上是在两个方面做文章:

  • 数据维度的划分能力,例如:按月、按周、按照消费商家等等等
  • 数据聚合方法,这方面做文章的并不多,在实际中会发现,很多时候的复杂报告,其实只是使用了简单的操作

为什么我需要改进记账流程

WHY

谈了这么多的定义,下面来说说,为什么我们需要改进记账流程。

很多时候大家会把记账和省钱关联在一起,但实际上,更多人记账的目的,只是在一定程度上了解自己的消费内容和结构,这就和记录体重、每天的步数一样。
其实问过很多身边的朋友,都说使用过记账软件,短的几天几周,长的半年,最后都都没有坚持下来。大多数人没办法坚持下来,很多时候在抱怨记账中的一些痛点:

其中经常提到的一些话题:

  1. 记账太麻烦了
  2. 消费的时候没功夫记账,等过后也就忘了
  3. 现场没时间输入呀,记账软件里面的条目太多懒得选
  4. 随着丢账、乱账的增多,后来觉得记的东西也没啥用,就懒得记了

其实在这些问题中,会发现,大家抱怨的主要在于记账本身的麻烦,这个麻烦引起了一系列的问题,最终变成放弃。

根据上面对记账数据模型的分析,仔细分一下其中的这个麻烦,显然并不是记录数字本身麻烦,也就是不在于公式右面的的数值,基本上主要麻烦在数据维度这个问题上。

  1. 很显然,在消费的当时,很难马上暂停身边所有的事情1分钟,然后输入一下这个消费的详细数据维度和消费金额
  2. 记账软件在努力加速这个过程,例如通过iOS的通知中心可以输入,但是再输入的时候依旧需要选择例如类别等等
  3. 同时,记账软件试图简化这个过程,例如减少输入时候的数据维度,例如在输入时候只选择大类别等办法,但是这样的交易记录会严重造成后期报表可能很难进行精确统计。

所以,交易记录的及时性和完整性,存在着一种矛盾。如何缓解这个矛盾呢?

利用GTD的思路重新定义记账流程

HOW

在GTD的核心步骤分为如下几部:

  1. Capture - Collect what has your attension: 收集
  2. Clarify - Process what I mean: 整理
  3. Organize - Put it where it belongs: 组织
  4. Engage - Simply do: 执行
  5. Reflect - Review frequently: 回顾

在GTD的流程中,有一个很重要的思路,就是将收集与整理/组织分开。因为定义、分析、分解一个任务内容,很难一次性完成。所以,首先采用快速的方式去清空你的大脑里的所有任务事项(收集),然后再静下心来,一条一条的分析、整理、分配任务内容(整理和组织)。利用快速简单的采集流程完成任务收集(解决及时性),利用整理组织丰富任务内容(解决完整性)。

这里可以发现,这与记账中的痛点具有很高的相似性,而大家记账之所以纠结于记账过程的复杂和麻烦,是因为期望在一次行为中完成记账条目的收集和整理两个过程。所以,利用GTD的思路,将收集和整理的两个步骤完全分离开,改进记账的工作流程,可以用一种新的思路来解决手机记账的痛点。

好了,我们的目标是一个完整详细的账目记录,完整详细这个词体现在数据定义上,其实就是丰富的数据维度这个层面,于是将记账分为收集和整理两个步骤,就是

  1. 收集交易记录的过程中,最大程度的减少数据维度的输入,只记录交易金额和必要的(自动的)数据维度
  2. 整理过程中,丰富和完整所有缺少的数据维度内容,从而完成最终的交易记录

进一步来分析,减少收集阶段的数据维度,如何做到最少?要回答这问题,有一个非常重要的因素,那就是收集和整理的行为周期是什么?

  1. 采用天为周期
    如果采用天为周期,那么我们可以将数据维度降到最低,在我的实践中,可以将数据维度减少到只有时间这个维度。这个前提是因为一个人可以利用短期回忆快速的回顾一天的内容。举个例子,如果我有一条记录(2017年6月1日 10:30) -> 20,虽然数据维度降低到只有一个,但是因为是当天发生的事情,所以可以很快的回忆起在这个时间段发生的这笔消费究竟是什么。于是,在采集阶段只要记录时间和金额就可以完成。同时,利用手机的特点,时间这个维度是自动采集的,也就是说我们完全可以变成只输入一个金额这么简单。那么,整理就变成了每天晚上的一个仪式性行为,每天晚上用5-10分钟,回忆当天的所有消费记录,并将完整的数据维度补充全面添加到记账软件或者记账本中。
  2. 采用周为周期
    如果采用周作为周期,为了记忆的唤醒,需要增加数据维度,例如增加消费地点。因为周这个单位往往对于短期记忆来说太过长久,只记录一个时间,可能已经很难回忆起当时为什么花了这笔钱。增加消费地点维度,可以更大程度上唤醒消费记忆。同时,每周末利用1个小时左右的时间,整理当周的消费。

当然,从实践的结果来看,个人依旧是推荐以天为单位,这样可以最大程度减少收集阶段的维度,同时也降低整理时间的疲劳度。

利用现有的工具实现工作流

WHAT

个人的实践,采用了天为单位,初衷还是最大程度减少手机阶段的数据维度。

  • 对于采集阶段,利用了现有的效率类软件,考虑到收集过程最好连应用都不用打开就可以做到,所以采用通知中心的快速输入会更好。支持通知中心的输入,且可以自定义流程的,自然就想到了workflow。下面利用workflow做了这个通知中心的收集程序,收集输入金额到reminder中,同时里面可以配置成支持多币种和地点自动采集。但是在按天收集这个频率下,这些信息并不是很重要,所以下面的工作流做成可以配置的,可以在出国旅行或者其他场景下开启,默认是关闭状态

  • 对于整理阶段,由于我的workflow是加到特定的reminder中,同时omnifocus会自动采集对应reminder中的数据。所以,每晚可以打开omnifocus,在收件箱中看到所有的当天交易记录。然后,在每晚的例行或者仪式中,清空收件箱中的交易内容,整理到MoneyWiz 2中。

最终实现的效果,类似如下的演示

后记

或许你觉得说了这么多,最终无非就是做了一个简单的workflow,是的,从结果上看的确如此。
不过,个人认为,效率类的改进,并不只是依赖于一个革命性的创新,很多时候更重要的是从观念和细节出发,一些看似很小改进很多时候已经可以改变生活的体验。

很多时候,大家往往希望利用一个app来彻底解决问题,但是现实是效率的提高以及体验的提升,更多的应该在每个步骤中发挥已有工具的优势来为我们服务。
试问,下载到手机里的效率应用,有多少还在堆灰,有多少只打开过几次呢?对一个效率软件的最大的敬意,是将其用到你的每一个生活片段中。