## Bite 258. What the flux?

One of the benefits of accounting is being able to see the financial position of a company at a point in time by viewing financial statements. Financial statements usually present financial information for multiple years side by side, as it is very useful to then see how the company's financial health changes over time by comparing the balances from one year to the next.

#### Balance Sheet Example

Let's look at a sample of the assets from a comparative Balance Sheet of ABC, Inc. as of 12/31/2020 and 12/31/2019. Note this is a very simple example, with just a small number of accounts:

```Line Item                    12/31/20        12/31/19

ASSETS
Cash                             \$500            \$300
Accounts Receivable               200             100
--------------------------
TOTAL ASSETS                      700             400
```

The amounts under each year provides important and useful information about the company for that year, but the real rich information lies in the change in balances from one year to the next. This is referred to as the `fluctuation`, or `flux` for short.

#### Calculating the Flux

A `flux` can represent the `dollar amount` of the change, as well as the `percentage` change. The dollar amount flux is calculated by subtracting the balance in the prior year from the current year. The percent flux is calculated by dividing the dollar flux by the prior year amount. Next, one would typically identify large fluctuations that should be explained, using a minimum dollar and % change threshold.

#### We're accounting on you now

Now that you understand the basics of calculating a flux and identifying the line items that are over a threshold, it's time to help us do a flux analysis. You may find `pandas` is a good library to use, or if you want a real challenge, you can try using just the standard library!

Within the `calculate_flux` function:

1. Read in the financial statement line items from the csv file `xyz.csv`. The three columns are Account, 12/31/20, and 12/31/19. Make sure the amounts are treated as integers.
2. Create a Dollar Flux column that represents the 12/31/20 balance minus 12/31/19 balance.
3. Create a Percentage flux column that represents the dollar flux divided by the 12/31/19 balance.
4. Return a list of tuples, with each tuple representing one row from the financial statement, including the two new columns.

Within the `identify_flux` function:

1. Use the `calculate_flux` output as the parameter.
2. Using the empty list `flagged_lines`, iterate through the financial statement lines, and if both the dollar and percent flux amounts (make sure to use absolute values) are over the threshold amounts in THRESHOLDS, add the whole tuple to `flagged_lines`. (Note: If the prior year balance is \$0, then the % should be considered above the threshold)
3. Return the `flagged_lines` list, which will be a list of tuples that only includes those line items that meet the threshold criteria.

Good luck and don't forget, keep calm and do accounting in Python! PS - if you want to learn more ways to do accounting in Python, check out the Pythonic Accountant youtube channel.