pickle-finance / pickle-ui

UI to interact with the PICKLE protocol
https://app.pickle.finance
51 stars 51 forks source link

Default Sorting Logic - a discussion #540

Closed rawbdor closed 2 years ago

rawbdor commented 2 years ago

We should decide how we want the jars nad farms page to be sorted by default.

Right now, the current implementation will execute in the following order: 1) is the user in a jar or farm? Sort all the user are in based on deposit amount 2) does the user have the deposit token? If yes, sort those next highest 3) does the user have the component tokens that can get into the lp? if yes, sort those next highest 4) all others, idk

For step 3 and 4, we should decide how to sort after we establish their category. If the user isn't in the jar or farm, category 3 and 4 are basically what I call adverting or prospective jars the user may be interested in. Should we sort these by yield?

For step 4, we could even analyze the user's wallet first and determine which chains they are most active in, and sort by that as well.

Proposal: 1) If user has component tokens, we further sort by yield OR by balanceUSD of component tokens for that jar?? 2) If user does NOT have component tokens, we could further sort by chain (user has lots on ethereum, less on arbitrum, zero on all else) and THEN sort by yield?

What do you think?

manymoneymanny commented 2 years ago

What do you think?

@rawbdor @robstryker I believe for this sorting we have to use as guidance whatever is pushing the user closer to taking an action that moves them "further down our growth funnel" i.e. if they're monetised already, improve their retention by increasing share-of-wallet OR if they're not-monetised, drive them to deposit so we're monetising them. I believe the proposal is doing this.

For (2), for example, we can show higher the Jars in which user has more "USD value" in the deposit token, since we suspect they are likelier to try Pickle if they have a lot of those deposit tokens already.

For (3), we have zaps in certain jars, this uses the component tokens, so if the jars have zaps they should be displayed over jars with no zaps since users can just use the component token to deposit. One can put them from highest to lowest by "profitability" which should be "yield x performanceFee" as a rough guide of what the Treasury would take.

For (4) like with no component tokens, again we can use "zaps" as a guideline, if there are zaps, the user has a lot of ETH or USDC in that chain, we can display jars first by "profitability" and so on.

@rawbdor I appreciate the effort here. For the future, should we keep "Discussions" to the Discussions functionality on GitHub or to our Discord, then build the issue out when we have refined requirements?

bcstryker commented 2 years ago

fixed in #532