Week 1 · Introduction to Accounting Data Analytics
Seventy-Two Rows
Before you know a single function, your accounting eye already works. Prove it.
Below is the complete 2024 rent expense detail you will open in Lab 1 — six locations, twelve months, every row. Click any row you would want to ask a question about. No formulas, no tools, no right answer yet. Just read it the way an accountant reads it. Sorting a column by its header is fair game.
| Flagged | JE # | Date | Period | Posted by | Manual | Loc | Amount |
|---|---|---|---|---|---|---|---|
| 1048 | 01/02/2024 | 1 | AUTOMATED | No | CS | "5,000.00" | |
| 1060 | 01/02/2024 | 1 | BeanCounter25 | Yes | ML | "1,000.00" | |
| 1012 | 01/05/2024 | 1 | AUTOMATED | No | SB | "15,000.00" | |
| 1008 | 01/11/2024 | 1 | Laura4 | Yes | LA | 50000 | |
| 1024 | 01/15/2024 | 1 | BeanCounter25 | Yes | HO | "5,000.00" | |
| 1036 | 01/25/2024 | 1 | BeanCounter25 | Yes | SF | "20,000.00" | |
| 1049 | 02/02/2024 | 2 | AUTOMATED | No | CS | "5,000.00" | |
| 1061 | 02/02/2024 | 2 | AUTOMATED | No | ML | "1,000.00" | |
| 1013 | 02/05/2024 | 2 | AUTOMATED | No | SB | "15,000.00" | |
| 1007 | 02/11/2024 | 2 | AUTOMATED | No | LA | "50,000.00" | |
| 1025 | 02/15/2024 | 2 | AUTOMATED | No | HO | "5,000.00" | |
| 1037 | 02/25/2024 | 2 | AUTOMATED | No | SF | "20,000.00" | |
| 1050 | 03/02/2024 | 3 | AUTOMATED | No | CS | "5,000.00" | |
| 1062 | 03/02/2024 | 3 | AUTOMATED | No | ML | "1,000.00" | |
| 1014 | 03/05/2024 | 3 | AUTOMATED | No | SB | "15,000.00" | |
| 1006 | 03/11/2024 | 3 | AUTOMATED | No | LA | "50,000.00" | |
| 1026 | 03/15/2024 | 3 | AUTOMATED | No | HO | "5,000.00" | |
| 1038 | 03/25/2024 | 3 | Laura4 | Yes | SF | 20000 | |
| 1063 | 04/02/2024 | 4 | AUTOMATED | No | ML | "1,000.00" | |
| 1051 | 04/02/2024 | 4 | Laura4 | Yes | CS | 5000 | |
| 1015 | 04/05/2024 | 4 | Bob2 | Yes | SB | "15,000.00" | |
| 1005 | 04/11/2024 | 4 | AUTOMATED | No | LA | "50,000.00" | |
| 1027 | 04/15/2024 | 4 | AUTOMATED | No | HO | "5,000.00" | |
| 1039 | 04/25/2024 | 4 | Karen15 | Yes | SF | "20,000.00" | |
| 1052 | 05/02/2024 | 5 | Bob2 | Yes | CS | "5,000.00" | |
| 1064 | 05/02/2024 | 5 | Laura4 | Yes | ML | 1000 | |
| 1016 | 05/05/2024 | 5 | BeanCounter25 | Yes | SB | "15,000.00" | |
| 1004 | 05/11/2024 | 5 | BeanCounter25 | Yes | LA | "50,000.00" | |
| 1028 | 05/15/2024 | 5 | CFO2 | Yes | HO | "5,000.00" | |
| 1040 | 05/25/2024 | 5 | BeanCounter25 | Yes | SF | "20,000.00" | |
| 1053 | 06/02/2024 | 6 | Bob2 | Yes | CS | "5,000.00" | |
| 1065 | 06/02/2024 | 6 | Laura4 | Yes | ML | 1000 | |
| 1017 | 06/05/2024 | 6 | Bob2 | Yes | SB | "15,000.00" | |
| 1003 | 06/11/2024 | 6 | BeanCounter25 | Yes | LA | "50,000.00" | |
| 1029 | 06/15/2024 | 6 | AUTOMATED | No | HO | "5,000.00" | |
| 1041 | 06/25/2024 | 6 | Laura4 | Yes | SF | 20000 | |
| 1066 | 07/02/2024 | 7 | AUTOMATED | No | ML | "1,000.00" | |
| 1054 | 07/02/2024 | 7 | Bob2 | Yes | CS | "5,000.00" | |
| 1018 | 07/05/2024 | 7 | Karen15 | Yes | SB | "15,000.00" | |
| 1002 | 07/11/2024 | 7 | BeanCounter25 | Yes | LA | "50,000.00" | |
| 1030 | 07/15/2024 | 7 | AUTOMATED | No | HO | "5,000.00" | |
| 1042 | 07/25/2024 | 7 | BeanCounter25 | Yes | SF | "20,000.00" | |
| 1067 | 08/02/2024 | 8 | AUTOMATED | No | ML | "1,000.00" | |
| 1055 | 08/02/2024 | 8 | Karen15 | Yes | CS | "5,000.00" | |
| 1019 | 08/05/2024 | 8 | AUTOMATED | No | SB | "15,000.00" | |
| 1001 | 08/11/2024 | 8 | AUTOMATED | No | LA | "50,000.00" | |
| 1031 | 08/15/2024 | 8 | AUTOMATED | No | HO | "5,000.00" | |
| 1043 | 08/25/2024 | 8 | Karen15 | Yes | SF | "20,000.00" | |
| 1056 | 09/02/2024 | 9 | AUTOMATED | No | CS | "5,000.00" | |
| 1068 | 09/02/2024 | 9 | AUTOMATED | No | ML | "1,000.00" | |
| 1020 | 09/05/2024 | 9 | AUTOMATED | No | SB | "15,000.00" | |
| 1000 | 09/11/2024 | 9 | Laura4 | Yes | LA | 50000 | |
| 1032 | 09/15/2024 | 9 | AUTOMATED | No | HO | "5,000.00" | |
| 1044 | 09/25/2024 | 9 | AUTOMATED | No | SF | "20,000.00" | |
| 1069 | 10/02/2024 | 10 | AUTOMATED | No | ML | "1,000.00" | |
| 1057 | 10/02/2024 | 10 | BeanCounter25 | Yes | CS | "5,000.00" | |
| 1021 | 10/05/2024 | 10 | BeanCounter25 | Yes | SB | "15,000.00" | |
| 1009 | 10/11/2024 | 10 | AUTOMATED | No | LA | "50,000.00" | |
| 1033 | 10/15/2024 | 10 | Kayla | Yes | HO | "5,000.00" | |
| 1045 | 10/25/2024 | 10 | AUTOMATED | No | SF | "20,000.00" | |
| 1070 | 11/02/2024 | 11 | AUTOMATED | No | ML | "1,000.00" | |
| 1058 | 11/02/2024 | 11 | Karen15 | Yes | CS | "5,000.00" | |
| 1022 | 11/05/2024 | 11 | Bob2 | Yes | SB | "15,000.00" | |
| 1010 | 11/11/2024 | 11 | BeanCounter25 | Yes | LA | "50,000.00" | |
| 1034 | 11/15/2024 | 11 | BeanCounter25 | Yes | HO | "5,000.00" | |
| 1046 | 11/25/2024 | 11 | Bob2 | Yes | SF | "20,000.00" | |
| 1059 | 12/02/2024 | 12 | AUTOMATED | No | CS | "5,000.00" | |
| 1071 | 12/02/2024 | 12 | Bob2 | Yes | ML | "1,000.00" | |
| 1023 | 12/05/2024 | 12 | CFO2 | Yes | SB | "15,000.00" | |
| 1011 | 12/11/2024 | 12 | AUTOMATED | No | LA | "50,000.00" | |
| 1035 | 12/15/2024 | 12 | CFO2 | Yes | HO | "5,000.00" | |
| 1047 | 12/25/2024 | 12 | Laura4 | Yes | SF | 20000 |
The Lab 1 extract, JEA Detail.txt. Every row is the same account (9504 Rent Expense), the same category (SG&A), and the same description ("Rent"), so those three columns are hidden here. Values are shown trimmed — in the file itself every field is padded out with spaces, which turns out to matter (see the findings).
Who is Kayla?
Every person's ID here ends in a number — Laura4, Bob2, CFO2, Karen15, BeanCounter25 — and the system posts under AUTOMATED. Kayla fits neither pattern: no digits, not the system account. She appears exactly once, hand-keys an October rent entry, and is never seen again. A naming convention that holds 71 times and breaks once is not a style question — it usually means the account was provisioned outside the normal process. One row, one question, and you can only see it by reading the column instead of scrolling past it.
One person's numbers are a different shape
Sixty-four amounts are written "50,000.00" — quoted, comma-grouped, two decimals. Eight are written 50000. Sort by Amount and those eight break away as their own block instead of filing in by value, because a machine reads them as a different type — the same thing Excel does to a mixed column, and the fastest way to see the problem. Then sort by Posted by and the split turns out to be total: every bare number is Laura4, and every one of Laura4's eight entries is bare. The values agree with everyone else's; only the shape differs. That is the fingerprint of a different route into the ledger — a different screen, an import, a paste from somewhere else. Worth knowing before you trust the column, and invisible until you look at who posted.
Half of an automated process isn't automated
Thirty-eight of seventy-two postings are manual — on a recurring entry that should be untouched by human hands. Six people are involved: BeanCounter25 thirteen times, Bob2 and Laura4 eight each, Karen15 five, CFO2 three, Kayla once. A 53% manual rate on rent is not fraud; it is usually a broken control, a bad interface, or a template nobody fixed. It is still the first thing you would put in the memo.
Those amounts are not numbers
Most amounts are written "50,000.00" — wrapped in quotes, with a comma inside — and eight are written 50000. Excel and Python each decide for themselves what a column like that means, and neither asks you. In pandas the column loads as text, so summing it returns ' "5,000.00" "1,000.00" "15,000.00" 50000…' — all 72 values glued end to end, 780 characters long, no error, no warning, and no total. You could not have flagged this by clicking a row: some problems live in the column, not the record.
The CFO hand-keyed the rent
Rent is the most predictable entry a company posts — same amount, same day, every month, and the system posts 34 of these 72 rows by itself. So why is CFO2 typing three of them by hand? Two of the three land in period 12: the last close of the year, the period where management override lives. Nothing here proves anything wrong. But it is exactly the question an auditor is paid to ask, and you asked it without running a single query.
Is 01/02/2024 January 2nd or the 1st of February?
Read the dates alone and you cannot tell — 48 of these 72 rows land on a different day under the other convention, and a machine set that way will parse every one of them without complaint and hand you a different year. The zero-padding makes the column look tidy and settles nothing. The Period column is what settles it: JE 1048 is period 1, so 01/02/2024 is January 2nd and the file is M/D/YYYY. Two columns, cross-footed, resolve what one column could not. That is professional skepticism doing real work.
Every cell is padded — including the column names
The table above is shown trimmed, because this one is invisible by nature. In the file, Location is not LA, it is ' LA ', padded to a fixed width — and so is every other field and every header. The column is not named Amount, it is named ' Amount'. Type the obvious thing in Lab 1 and pandas raises KeyError: 'Amount' before you compute anything at all. Excel is worse, because it says nothing: it shows you LA and quietly answers FALSE to =A2="LA". Nothing about this looks wrong, which is why .str.strip() is the first thing you will do to this file.
And three checks that pass
JE numbers run 1000 to 1071 with no gaps and no duplicates. There is exactly one rent entry per location per period — six locations, twelve months, seventy-two rows, nothing missing and nothing posted twice. And the Manual flag never contradicts the user: every AUTOMATED row says No, every human row says Yes. Say so out loud. An analyst who only ever reports problems is as useless as one who never finds any, and knowing which checks came back clean is half of what makes the memo credible.
Everything you just found came from knowing how accounting works — not from Excel, not from Python, not from AI. That is the whole argument for this course: the tools are learnable in a semester, and the judgment about what to ask is what you already brought with you. Lab 1 opens this same file in two of those tools. Now you know what to look for once it's open.