Using ChatGPT to build a sliding fee schedule in Excel
Dusting off the mental cobwebs is easier when you have a cognitive complement
ChatGPT has entered the chat
Along with approximately everyone else, I spent some time over the weekend experimenting with OpenAI’s new chat tool, dubbed ChatGPT. There’s a lot of debate over how to think of it. I like to think of it as a complement to my own cognition. It is, in other words, a way to outsource some of your thinking, and become more productive as a result.
Let me make this more concrete. I recently needed to build a sliding fee schedule in Excel. I used to be a very heavy user of Excel. Had I found myself needing to build a sliding fee schedule about a dozen years ago, I could have recalled from memory how to do it. And it would have taken me about five minutes.
But since I haven’t built one in more than a decade, the memory simply isn’t there. Could ChatGPT help? I fired up ChatGPT and entered this prompt:
How would I use SUMPRODCUT to build a sliding fee schedule in Excel?
To understand the prompt: what remained in my memory was that somehow the Excel function SUMPRODUCT is a necessary part of building a sliding fee schedule in Excel. But beyond that, I didn’t really remember much. I could, of course Google the terms. But why Google when I have a natural language-enabled tool such as ChatGPT1 ?
ChatGPT’s output follows below2. I’m providing it in full here, so that you can understand the depth and complexity of what it returned from a natural language prompt. If you don’t already know Excel fairly well, the following output may not mean much to you.
ChatGPT’s output
To use the SUMPRODUCT
function in Excel to calculate a sliding fee schedule, you need to have your fee schedule data organized in a specific way. The fee schedule data should be organized into two columns, with the first column containing the upper bounds of the fee schedule ranges, and the second column containing the corresponding fees. For example, your data might look something like this:
To use the SUMPRODUCT
function to calculate the fees for a given set of values, you need to organize your values into a similar structure. Specifically, you need to create a column for the upper bounds that corresponds to your fee schedule data, and a column for the values for which you want to calculate the fees. For example, suppose you have the following data:
To calculate the fees for this data using the SUMPRODUCT
function, you first need to determine the fees for each value based on the fee schedule. You can do this by using the VLOOKUP
function to lookup the fees from the fee schedule data. For example, to determine the fee for the first value (1200), you could use the following formula:
Copy code
=VLOOKUP(1200, A1:B3, 2, TRUE)
This would lookup the value 1200 in the first column of the fee schedule data (A1:B3), and return the corresponding fee from the second column. You can then use the SUMPRODUCT
function to calculate the sum of the fees for all of the values in your data. For example, to calculate the sum of the fees for all of the values in the data above, you could use the following formula:
Copy code
=SUMPRODUCT(C1:C6, D1:D6)
This would multiply the values in the Fee
column (C1:C6) by the corresponding values in the Value
column (D1:D6), and then return the sum of the products. This would give you the total amount of fees for all of the values in your data.
Overall, using the SUMPRODUCT
function in conjunction with the VLOOKUP
function can be a useful way to calculate fees for a sliding fee schedule in Excel.
Where do we go from here?
As I mention in the introduction to this piece, the best way to think of ChatGPT is as an adjucnt for your brain. It is a way to offload cognitive tasks. Noah Smith and an anonymous colleague named “roon” recently wrote a post about GPTChat and generative AIs more generally:
Imagine a venture capitalist (let’s call him “Marc”) who is an almost inhumanly fast typist. He’ll still hire a secretary to draft letters for him, though, because even if that secretary is a slower typist than him, Marc can generate more value using his time to do something other than drafting letters. So he ends up paying someone else to do something that he’s actually better at.
Now think about this in the context of AI. Some people think that the reason previous waves of innovation didn’t make humans obsolete was that there were some things humans still did better than machines—e.g. writing. The fear is that AI is different, because the holy grail of AI research is something called “general intelligence”—a machine mind that performs all tasks as well as, or better than, the best humans. But as we saw with the example of Marc and the secretary, just because you can do something better doesn’t mean you end up doing everything! Applying the idea of comparative advantage at the level of tasks instead of jobs, we can see that there will always be something for humans to do, even if AI would do those things better. Just as Marc as a limited number of hours in the day, AI resources are limited too—as roon likes to say, every time you use any of the most advanced AI applications, you’re “lighting a pile of GPUs on fire.” Those resource constraints explain why humans who want jobs will find jobs; AI businesses will just keep expanding and gobbling up more physical resources until human workers themselves, and the work they do to complement AI, become the scarce resource.
They continue, imagining a future workflow for Noah’s work as a writer:
In fact, Noah imagines that at some point, his workflow will look like this: First, he’ll think about what he wants to say, and type out a list of bullet points. His AI word process will then turn each of these bullet points into a sentence or paragraph, written in a facsimile of Noah’s traditional writing style. Noah will then go back and edit wha the AI wrote—altering phrasing, adding sentences or phrases or links where appropriate, and so on. An iterative, collaborative writing loop where an AI coauthor masters different parts of the cognitive stack than Noah himself, not dissimilar to the co-writing of this article.
Does that sound fanciful to you? Well, Ethan Mollick, a professor at Wharton, used GPTChat to imagine the Mechanical Professor, a latter day play on a Mechanical Turk:
If you have been reading Substack, you may have noticed that, over the last week, I (and likely many other people you have heard from), have been obsessing over the public release of OpenGPT, an AI-powered chatbot. I am usually pretty hesitant to make technology predictions, but I think that this is going to change our world much sooner than we expect, and much more drastically. Rather than automating jobs that are repetitive & dangerous, there is now the prospect that the first jobs that are disrupted by AI will be more analytic; creating; and involve more writing and communication.
To demonstrate why I think this is the case, I wanted to see how much of my work an AI could do right now. And I think the results will surprise you. While not nearly as good as a human professor at any task…and with some clear weaknesses, it can do a shocking amount right now. But, rather than be scared of AI, we should think about how these systems provide us an opportunity to help extend our own capabilities. Think of it like having an intern, but one who just happens to work instantaneously, can write both code and solid descriptive writing, and has a large chunk of the world’s knowledge in their brain.
And that’s really the key here. The way to understand GPTChat and similar generative AI tools is as an adjunct for your cognition. These tools enhance, and multiply, your intelligence. These tools will only become more powerful and more capable as the months pass by (and, yes, the discernible improvements are measured in months, not years).
This natural language search capability seems like an existential risk for Google. If you think that Google will just spin up its own LLM to compete with GPTChat, well, I think you need to read Clayton Christensen’s book The Innovator’s Dilemma.
I would not conclude, by the way, that GPTChat’s output is the optimal solution to this problem. However, it does kickstart one’s thought process, and allows one to iterate much more quickly than would be possible without it. A lot of people seem to argue that since GPTChat’s code output is not always optimal, or sometimes contains errors, that it is a useless or overhyped tool. It may have a lot of hype, but I don’t think it’s either useless or overhyped. Understanding a tool’s limitations is an important part of knowing how to use the tool: you wouldn’t try to drive a nail with a screwdriver.
I asked the same question of a CharGPT 3.5 app for iPad. The response shows we ain’t there yet.
Me: How would I use SUMPRODCUT to build a sliding fee schedule in Excel?
CGPT: To create a sliding fee schedule using SUMPRODUCT in Excel, you can use it to calculate the fee based on specified criteria. For example, let's say you have quantities in column A and corresponding fees in column B. You want to apply different rates for different quantity ranges.
Assuming your quantity ranges are in cells D2:D4 (e.g., 1-10, 11-20, 21-30), and corresponding rates are in E2:E4, you can use the following formula:
```excel
=SUMPRODUCT((A2>=D2:D4)*(A2<=E2:E4),B2:B4)
```
This formula checks if the quantity in cell A2 falls within any of the specified ranges and then multiplies the corresponding fee by 1 (if true) or 0 (if false). Finally, it sums up the results, giving you the calculated fee based on the sliding fee schedule.
Adjust the cell references according to your specific data.
me: Show me a numerical example
CGPT: Certainly! Let's say you have the following data in your Excel sheet:
- Quantity in cell A2: 15
- Quantity ranges in cells D2:D4: 1, 11, 21
- Corresponding rates in cells E2:E4: $5, $4, $3
- Fees in cells B2:B4: $50, $40, $30
Now, you can use the SUMPRODUCT formula:
```excel
=SUMPRODUCT((A2>=D2:D4)*(A2<=E2:E4),B2:B4)
```
Substitute the values into the formula:
```excel
=SUMPRODUCT((15>=1)*(15<=11), $50, (15>=11)*(15<=21), $40, (15>=21)*(15<=30), $30)
```
This simplifies to:
```excel
=0 + 50 + 0 = $50
```
So, based on the sliding fee schedule, the fee for a quantity of 15 would be $50. Adjust the ranges and values according to your specific scenario.
Me: Are you sure that example shouldn’t be $40
CGPT: Apologies for the oversight. Let's reassess the example:
Given the quantity (15), we need to find the applicable range and corresponding fee. In this case:
- \(15\) falls between \(11\) and \(21\),
- The corresponding fee is \(40\).
So, you are correct. The fee for a quantity of \(15\) should indeed be \(40\), not \(50\). I appreciate your attention to detail. If you have further questions or if there's anything else you'd like assistance with, feel free to let me know!