If I paid off all my liabilities right now, how much of my assets would remain?
net_worth = assets + liabilities
- 🟢 Good: Greater than 0.
- 🟠Medium: Equals to 0.
- 🔴 Bad: Less than 0.
What is the net worth growth trend for the last n months?
net_worth_trend = linear_regression (assets_last_n_months + liabilities_last_n_months)
# Default: n months = 6
- 🟢 Good: Ascending slope (the steeper the better).
- 🟠Medium: Straight slope.
- 🔴 Bad: Descending slope (the steeper the worse).
If my net worth keeps growing at the current rate, when will I achieve a certain goal?
net_worth_predicted_at_date = extrapolate(net_worth_trend, until=goal)
# Default: goal = 100_000
- 🟢 Good: Less than 10 years.
- 🟠Medium: 10 to 20 years.
- 🔴 Bad: More than 20 years.
This should be pretty self explanatory. Defaults to the last 6 months.
If my income stopped right now, how long would I be able to survive?
runway = assets / average_daily_expense_last_n_days
# Default: n days = 180
- 🟢 Good: More than 90 days.
- 🟠Medium: 60 to 90 days.
- 🔴 Bad: Less than 60 days.
Please Note: The following has been tested on elementary OS 6 (based on Ubuntu 20.04 LTS)
The GnuCash Python Bindings need the GnuCash to be installed from apt. So if you use the GnuCash Flatpak, make sure to install the GnuCash *.deb package as well:
sudo apt install gnucash python3-gnucash python3-venv
Once the dependencies are installed, navigate to the project root directory and execute the start.sh
script,
it will install the python dependencies automatically and then run the application:
./start.sh
... your default browser should open at http://127.0.0.1:8050/ and point you at the GnuCash Dashboard.
GnuCash Dashboard can be configured by changing the config.py
file according to your needs. See the config file for further documentation.
Each variable from the config.py
file can also be set as Environment Variable using a GNUCASH2DASH_
prefix. See the config.py
for
further documentation about the available configuration values as well as their corresponding Environment Variable.
GnuCash Dashboard comes with Unit Testing. To execute the tests, simply navigate to the project root directory and execute the tests.sh
:
./tests.sh
Thanks to Michael Walker for the inspiration on KPI's in Personal Finance. A lot of ideas are drawn from his his approach.