Was kann mir sagen, dass ich wahrscheinlich keine Mülltüten mehr habe?

Heute ist es wieder passiert . Wir waren in drei verschiedenen Lebensmittelgeschäften und haben es trotzdem geschafft, einige der Sachen, die wir brauchen, nicht zu kaufen. Ich bin es leid, nach Hause zu kommen, nur um zu erkennen, dass ich wieder raus muss, also muss ich die Verfolgung dessen, was wir als Familie konsumieren, so weit wie möglich automatisieren.

Ich suche nach Software, die unter Windows 7 oder höher läuft und die folgende Dinge tut:

  • Verfolgt, was ich kaufe, basierend darauf, dass ich ihm mitteile, was ich gekauft habe
  • Weiß, wie viel von jeder Sache wir normalerweise verwenden, basierend darauf, wie oft ich ihm sage, dass ich etwas gekauft habe
  • Gibt mir eine Liste von Sachen, die ich wahrscheinlich nicht mehr habe, wenn es Zeit ist, zum Lebensmittelgeschäft zu gehen, und gibt mir eine Möglichkeit, zu sehen, was wir wahrscheinlich zu jedem Zeitpunkt auf Lager haben.

Im Grunde ein System, das unseren Verbrauch im Laufe der Zeit lernt, basierend darauf, was wir kaufen und wie oft wir es kaufen.

Schön zu haben:

  • Einfach zu bedienende mobile App (iOS/Android), mit der ich mich anmelden kann, wenn ich etwas kaufe und was ich gekauft habe. Je einfacher desto besser, wenn es UPC/QR-Codes verstehen kann, das wäre toll.
  • Einfache Erstellung einer Einkaufsliste, die ich entweder ausdrucken, per E-Mail versenden oder an mein Mobilgerät senden kann
  • Preisverfolgung (z. B. Sie verbrauchen Müllsäcke im Wert von etwa 1,23 $ pro Woche)

Ich hätte nichts gegen etwas, das in eine Art Webdienst eingebunden ist, aber ich hoffe wirklich auf eine (meistens) eigenständige Desktop- / Telefon-App. Damit meine ich, dass ich mit der Software ausschließlich auf meinem Desktop oder mobilen Gerät interagieren möchte, nicht über eine Webschnittstelle, die mit dem verbunden ist, was die Informationen zwischen meinen Geräten teilt.

Gibt es so etwas? Können Sie mir helfen, nicht drei Wochen hintereinander eine Wanne Butter zu kaufen, was zu einem Überschuss führt, für dessen Verbrauch wir Monate gebraucht haben?

Ich kenne einfache Einkaufslisten-Apps, aber nichts mit solchen "Lern" -Fähigkeiten (lernt, was Sie regelmäßig kaufen) ... Das ist eine nette Idee für ein Nebenprojekt.
@AndréDaniel Ja, es scheint mir, dass das gut funktionieren würde, da die meisten meiner täglichen Verbrauchsmaterialien nach einem bestimmten Zeitplan gekauft zu werden scheinen. Solange es einige Tools hatte, um den Urlaub zu berücksichtigen, reine Luxusartikel, die Sie vielleicht nicht immer kaufen (und eine Art Urlaubsmodus), könnte es meiner Meinung nach ziemlich gut und zuverlässig funktionieren.
Tim hofft nur, dass der Manisharth-Effekt wieder auftritt ;)
Wofür sollen die QR-Codes sein? Meinst du nur Standard-UPCs, um nach dem Preis zu suchen? Außerdem: Wie kann es sein, dass es kein Webdienst ist, aber auf Ihrem Telefon zugänglich ist, es sei denn, Sie senden es per E-Mail an sich selbst?
Mit „Scancode“ meinte ich UPC, was diesen Satz wirklich ein wenig verändert. Ich möchte nur in der Lage sein, das, was ich kaufe, so zu stempeln, wie es am bequemsten ist.
Wenn Sie die Daten einschließlich Uhrzeit und Datum in Excel oder eine Datenbank abrufen könnten, wäre dies einfacher. Sortieren Sie nach Namen und dann nach Datum. Subtrahieren Sie das erste Vorkommen vom letzten und teilen Sie es durch die Anzahl der Vorkommen, um einen Durchschnitt zu erhalten, der mit der Zeit besser wird. Dann könnte ein Programm den letzten Eintrag und die durchschnittlichen Tage nehmen und ein Google-Kalenderereignis erstellen. Ein Excel-Makro, aber das Übertragen der Daten von Ihrem QR-Scanner in eine Tabelle könnte schwierig sein.
SELECT , TIMESTAMPDIFF(DAY,min(timestamp),max(timestamp))/count( ) AS Days between purchase, sum(price)/count(*) as Average Price,(max(timestamp)+ Days between purchase) as Restock onFROM ulog2wobei item="cheeze" und timestamp ZWISCHEN CAST('2015-01-01' AS DATE) UND CAST('2015-12-31' AS DATE); Sie können den Zeitstempel dazwischen weglassen, wenn Sie keinen jährlichen Bericht wünschen, sondern stattdessen einen "Allzeitbericht".

Antworten (3)

Nachdem ich ernsthaft gelacht habe, muss ich feststellen, dass Ihre Frage ziemlich vernünftig ist! Ich weiß nicht wirklich, ob es eine solche App gibt, aber Sie können Excel so einrichten, dass dies für Sie erledigt wird, oder sogar eine BI-Funktion wie Tableau Public verwenden , die absolut kostenlos ist. Sie können dann verschiedene Kategorien einrichten, aber Sie müssen eine Weile investieren, um Ihre Einkaufsinformationen für einen Monat einzugeben.

Tableau ermöglicht Prognosen, sodass Sie grundsätzlich die Möglichkeit haben, herauszufinden (anhand Ihrer Lebensmitteleinkäufe für 3 Monate), wie viel Sie von jedem Produkt benötigen werden. Ich weiß jedoch nicht wirklich, wie ich das Problem lösen soll, wenn eine Software vorschlägt, was Sie möglicherweise kaufen müssen.

Aber Ihre Frage ist in der Tat eine großartige Geschäftsidee ...

Du gehst das falsch an. Anstatt eine Kauferinnerung zu automatisieren, lassen Sie sie einfach regelmäßig zu Ihnen nach Hause liefern.

Das erste, was mir in den Sinn kommt, ist Alice.com, aber diese Seite wird gerade neu gestartet.

Die nächste Alternative wäre Amazon Subscribe and Save http://amzn.to/1o01r0X

Abgesehen von Müllsäcken wäre es schön gewesen, wenn RFID-UPC-Tags abgehoben wären. Dann könnten Sie Ihre Schränke fragen, wann Sie etwas hineingelegt haben, und zumindest raten, ob sie benötigt werden (oder irgendwie programmgesteuert).

Ich gehe hier davon aus, dass die meisten Leute nicht bereit sind, alles, was sie kaufen, in eine Art Tracking-App zu scannen.

Sie könnten auch Lesegeräte auf Mülltonnen haben, damit Sie wissen, dass Sie raus sind, wenn Sie die Schachtel wegwerfen.

NUR ein Teil der Antwort:

Sie müssen noch die Rohdaten in die Datenbank holen und das errechnete Wiedereinlagerungsdatum in einen Kalender übertragen.

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"

Ich habe das in LibreOffice zum Laufen gebracht. Leider unterstützt Libreoffice date_add nicht, daher konnte ich Ihnen kein Nachbestelldatum nennen.

Hier ist die bessere Version für MySQL, getestet

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`;

Beispielergebnisse (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

Order by hinzugefügt, also besser bestellt, und die Liste für 7 Tage gekürzt, um eine Woche lang einzukaufen.

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;

Wenn Sie eine Datenbank in Microsoft Access oder Libre Office Base erstellen, sollte die obige select-Anweisung die meiste Arbeit erledigen. Ich habe dies zum Testen in einer MySQL-Datenbank gemacht, aber abgesehen von geringfügigen Änderungen sollte es funktionieren.

  1. Beachten Sie, dass der Zeitstempel sowohl der Name der Spalte als auch der Datentyp ist
  2. Zeitstempel ist DATUM/ZEIT im Zugriff
  3. Sie benötigen eine Artikelspalte als Zeichenfolge, um Ihre Einkäufe zu speichern.
  4. Spalte mit dem Namen price für den Preis.
  5. Wenn Sie andere Mengen kaufen, muss die Formel geändert werden. Sagen Sie 64 Unzen von etwas 1 Mal und 128 Unzen ein anderes Mal.
  6. Menge wie in Ich habe 5 Kartons gekauft, nicht 48 Unzen oder 10 Pfund.

So erstellen Sie eine Tabelle: 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)