什么能告诉我我可能没有垃圾袋了?

软件推荐 视窗 自动化 提醒
2021-10-25 20:12:45

今天又发生我们在三个不同的杂货店,仍然设法不买一些我们需要的东西。我已经厌倦了回家只是意识到我需要再次出去,所以我需要尽可能地自动跟踪我们作为一个家庭消费的东西。

我正在寻找可以在 Windows 7 或更高版本上运行的软件,它执行以下操作:

  • 跟踪我买的东西,根据我告诉它我买了什么
  • 根据我告诉它我买过东西的频率,知道我们通常使用的每样东西有多少
  • 给我一份我可能在去杂货店时可能没有的东西的清单,并给我一种方法来查看它对我们在任何时间点可能有的库存的理解。

基本上,一个系统可以根据我们购买的东西以及购买频率来了解我们的消费情况。

很高兴有:

  • 易于使用的移动应用程序 (iOS/Android),让我可以在购买商品和购买商品时登录。越简单越好,如果能看懂UPC/二维码就好了。
  • 轻松生成购物清单,我可以打印、发送电子邮件或发送到我的移动设备
  • 价格跟踪(例如,您每周使用价值约 1.23 美元的垃圾袋)

我不会反对与某种网络服务相关的东西,但我真的希望有一个(主要是)独立的桌面/电话应用程序。我的意思是,我希望只在我的桌面或移动设备上与软件交互,而不是通过连接到任何设备之间共享信息的网络界面。

这样的事情存在吗?你能帮我不要连续三周买一桶黄油,导致我们花了几个月的时间才吃完剩余的黄油吗?

3个回答

认真一笑,我才发现你的问题很有道理!我真的不知道是否有这样的应用程序,但是您可以设置 Excel 来为您执行此操作,甚至可以使用 BI 功能,例如完全免费的Tableau Public 。然后,您可以设置各种类别,但您需要花费一些时间来输入一个月的购物信息。

Tableau 允许进行预测,因此您基本上可以选择(假设基于您 3 个月的杂货)您将需要多少每种产品。但是,我真的不知道如何通过软件建议您可能需要购买的东西来解决问题。

但你的问题确实是一个很棒的商业想法......

你的做法是错误的。与其自动提醒购买一些,不如定期将它们运送到您家。

首先想到的是 Alice.com,但该网站正在重新启动。

下一个选择是亚马逊订阅和保存 http://amzn.to/1o01r0X

不过,除了垃圾袋之外,如果 RFID UPC 标签能够起飞,那就太好了。然后,您可以在将某些东西放入其中时询问您的橱柜,并至少猜测它们是否需要(或以某种方式以编程方式)。

我在这里假设大多数人不愿意将他们购买的所有东西扫描到某种跟踪应用程序中。

你也可以在垃圾桶上安装阅读器,所以当你把盒子扔掉时,你就知道你已经出去了。

只有部分答案:

您仍然需要将原始数据输入数据库,并将计算的补货日期传输到日历中。

SELECT "Description", DATEDIFF( 'dd', MIN( "Posting Date" ), MAX( "Posting Date" ) ) / COUNT( * ) AS "Days between purchase", SUM( "Amount" ) / COUNT( * ) AS "Average Price", DATEDIFF( 'dd', MIN( "Posting Date" ), MAX( "Posting Date" ) ) /count(*) as "Average Days Item Lasts", DATEDIFF('dd',MAX( "Posting Date" ),NOW()) as "Last Purchase # Days ago" FROM "credit" GROUP BY "Description"

我在 LibreOffice 中得到了这个工作。不幸的是,Libreoffice 不支持 date_add,所以我不能给你一个重新订购的日期。

这是mysql的更好版本,经过测试

SELECT Description, DATEDIFF( MAX( `Posting Date` ), MIN( `Posting Date` ) ) / COUNT( * ) AS `Order every # Days`, SUM( `Amount` ) / COUNT( * ) AS `Average Price`, MAX( `Posting Date` ) as `Last Purchased` ,DATE_ADD( MAX( `Posting Date` ), INTERVAL DATEDIFF( MAX( `Posting Date` ), MIN( `Posting Date` ) ) / COUNT( * ) DAY ) as `You will run out on` FROM `credit` GROUP BY `Description`;

示例结果(mysql):

Description Order every # Days  Average Price   Last Purchased  You will run out on
Item 24     67.2857 29.8571428571429    06/08/16 12:00 AM   08/14/16 12:00 AM
Item 4      113     90                  04/06/16 12:00 AM   07/28/16 12:00 AM
Item 57     37.0909 152.545454545455    06/21/16 12:00 AM   07/28/16 12:00 AM
Item 9      55.5556 54.8888888888889    05/27/16 12:00 AM   07/22/16 12:00 AM
Item 28     18.9286 127.035714285714    07/03/16 12:00 AM   07/22/16 12:00 AM
Item 42     16.5882 11.7058823529412    07/05/16 12:00 AM   07/22/16 12:00 AM
Item 35     10.5385 21.0192307692308    07/06/16 12:00 AM   07/17/16 12:00 AM
Item 12     12.6098 65.2439024390244    07/03/16 12:00 AM   07/16/16 12:00 AM
Item 25     22.2917 6.66666666666667    06/22/16 12:00 AM   07/14/16 12:00 AM
Item 38      9.4038 29.3846153846154    07/03/16 12:00 AM   07/12/16 12:00 AM
Item 3      17.5667 35.0333333333333    06/22/16 12:00 AM   07/10/16 12:00 AM

添加了订单,因此订购得更好,并为一周的购物减少了 7 天的清单。

SELECT `Category`, DATEDIFF( MAX( `Posting Date` ), MIN( `Posting Date` ) ) / COUNT( * ) AS `Order every # Days`, SUM( `Amount` ) / COUNT( * ) AS `Average Price`, MAX( `Posting Date` ) as `Last Purchased` ,DATE_ADD( MAX( `Posting Date` ), INTERVAL DATEDIFF( MAX( `Posting Date` ), MIN( `Posting Date` ) ) / COUNT( * ) DAY ) as `You will run out on`
FROM `credit`
GROUP BY `Category`
HAVING `You will run out on` < (NOW() + INTERVAL 7 DAY)
ORDER by `You will run out on` DESC;

如果您在 microsoft access 或 libre office base 中创建数据库,则上述 select 语句应该完成大部分繁重的工作。我在 mysql 数据库中进行了测试以进行测试,但除了细微的调整之外,它应该可以工作。

  1. 注意时间戳既是列的名称,也是数据类型
  2. 时间戳是访问中的 DATE/TIME
  3. 您需要一个项目列作为字符串来存储您购买的内容。
  4. 列名为 price 的价格。
  5. 如果您购买不同的数量,则必须更改公式。说 64 盎司的东西 1 次和 128 盎司。
  6. 我买了 5 盒的数量,不是 48 盎司或 10 磅。

如何创建表:mysql

MariaDB [test]> describe credit;
+----------------------------+--------------+------+-----+---------+----------------+
| Field                      | Type         | Null | Key | Default | Extra          |
+----------------------------+--------------+------+-----+---------+----------------+
| ID                         | int(11)      | NO   | PRI | NULL    | auto_increment |
| Originating Account Number | varchar(100) | YES  |     | NULL    |                |
| Posting Date               | datetime     | YES  |     | NULL    |                |
| Trans Date                 | datetime     | YES  |     | NULL    |                |
| Type                       | varchar(100) | YES  |     | NULL    |                |
| Category                   | varchar(100) | YES  |     | NULL    |                |
| Merchant Name              | varchar(100) | YES  |     | NULL    |                |
| Merchant City              | varchar(100) | YES  |     | NULL    |                |
| Merchant State             | varchar(100) | YES  |     | NULL    |                |
| Description                | varchar(100) | YES  |     | NULL    |                |
| Transaction Type           | varchar(100) | YES  |     | NULL    |                |
| Amount                     | double       | YES  |     | NULL    |                |
| Reference Number           | varchar(100) | YES  |     | NULL    |                |
+----------------------------+--------------+------+-----+---------+----------------+
13 rows in set (0.00 sec)