strubled / optimizr

0 stars 0 forks source link

One Page to Rule Them All #7

Open strubled opened 4 years ago

strubled commented 4 years ago

Summary

Create a page that allows us to quickly test if the card value and recommendations are working correctly.

UX Example

Card Spend Input

A basic form that will take values for categories that travel cards pay out for. Eventually will replaced with Plaid transaction categories automatically

Example Form

Category Spend
Dining $1000
Flights $2000
Hotels $1000
Grocery $20000
Gas $800
Other $15000
Submit

Card Values

Example Table (we'd need to list all cards, or maybe the top 5-7 cards)

Value Chase Amex Capital One Hilton
Dining $50 $10 $30 $0
Flights $50 $10 $30 $0
Hotels $50 $10 $30 $0
Grocery $50 $10 $30 $0
Gas $50 $10 $30 $0
Other $50 $10 $30 $0
Sign up Bonus $50 $10 $30 $0
Annual Fee $50 $10 $30 $0
Total Value $50 $10 $30 $0

Recommendations

Total Value Generated: $2,750

How to Build Above

Run a query to find which card wins per category. If there are 5 categories, the query will run 6x (one for each category and one for total value), and return the name of the card that wins per category. Whenever a card is selected only 1x, use the value returned for that category (i.e. $200), but if a card is selected for multiple, will make sure we don’t double count the annual fee.

strubled commented 4 years ago

@sknechtel - this is the ticket i'm thinking about working on next

sknechtel commented 4 years ago

@strubled OK - I thought about putting edits directly in the document, but then I was scared I would mess something up. So I'm going to do them individually down here?

  1. Points Guy also does points valuations for a bunch of travel reward cards, updated monthly: https://thepointsguy.com/guide/monthly-valuations/
  2. I think you mentioned this somewhere else, but we're probably OK using 1 pt = $.01 for just modeling this out to see if it works
strubled commented 4 years ago

Yes leaving comments like that is great!

Cool. I’ll start with $.01 per point. Do you think overall this first page makes sense?

sknechtel commented 4 years ago

@strubled Part of me was thinking - should we include an amazon card in our test cases? I feel like that's pretty specific but I think upwards of 40% of eCommerce transactions are amazon and i think they offer 5x on amazon transactions -- but that got me to thinking about something else that (I frankly don't know how is handled) - what about overlapping transactions EG. what if a transaction is amazon and groceries. It shouldn't matter right? Because on a high point grocery card they should be counted as groceries and an amazon card would count them as amazon purchases (if not excluded in the rules)?

sknechtel commented 4 years ago

Yes, I think overall the page makes sense. I'm going down rabbit holes at this point.

strubled commented 4 years ago

Hmm so @sknechtel the amazon card is a cash back card. I’ve been thinking a user is either a travel card user or cash back but wouldn’t do both. Is that a false assumption?

we could do a few things:

1) Compare only travel cards 2) Compare only cashback cards 3) Compare both 4) Give the user the option of what they want it to do (1-3)

I'm not a hard core cc user, but the one card i've ever used is cashback. I've always felt like I may not be optimizing, but it's the easiest for me to understand. That being said, maybe this site will change my mind...so maybe it does make sense by default to just do 3 and then let the user do 4 (eventually). I don't think programmatically it should be any more eng effort to do 1-3, it just comes down to loading more and more cards into our database.

strubled commented 4 years ago

To build this page, going to need to save a few things:

Travel Credit cards

Cashback Credit cards

I thought about saving these as the same credit card and use a type, but that seemed wasteful since I can't re-use "points" and "rate"...we'd have rows with tons of missing data. I'm not sure if this is going to end up being a bad decision later on lol

update: i changed my mind due to being a little leery of how setting up controllers and a separate model for travel vs. cashback may make things more complicated than it's worth. going to do this instead:

Credit cards

strubled commented 4 years ago

i'm just now realizing to make this easier, we need a card admin page. show all of the cards, allow us to edit them, add new ones, delete them, etc.

8

sknechtel commented 4 years ago

That makes sense

Sent from my iPhone

On May 13, 2020, at 8:33 PM, Dan Struble notifications@github.com wrote:

 i'm just now realizing to make this easier, we need a card admin page. show all of the cards, allow us to edit them, add new ones, delete them, etc.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

strubled commented 4 years ago

this is such a huge user story...I think the next steps are to:

eventually, i'll go back and clean up things like:

strubled commented 4 years ago

Problem

I'm realizing that I may not be able to create the recommendation section since the way I'm building the page right now the fields are being calculated in the view. I can't query or sort the values since they are already returned in the view. Basically the resulting list of cards shows a total value, but I can't do anything fancy calling out the card w/ the highest total value. Even if i could, that's not enough as often times it's going to work out that the user needs to use multiple cards.

options

Keep Hacking With What I've Got

Kill a Fly With a Bazooka

strubled commented 4 years ago

shoot so now i'm going to add in the sign up bonus...is that the same dilemma as the annual fee? going to have to think about that. going to have to first gather intel about how cards pay out sign up bonuses. is it always just spend $x and we'll give you y points or n dollars? does it depend on the type of spend in a particular category?