-
-
Notifications
You must be signed in to change notification settings - Fork 360
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Financial Overview Visualizations to Collective Profile Pages #5704
Comments
I love this! I think an issue I previously submitted, #5553, can also be an input into this work. I think an idea to hold as we shape this proposal is that other kinds of organizations will want other kinds of metrics, so I would love for the way this is built to have flexibility around that. The above issue lists a bunch of metrics that are useful for organizations - though some would perhaps be more useful internally rather than for the public. |
|
This sounds good to me, and I am willing to hold this space and invite them in. Let me know when makes sense to start doing so. |
@iamronen I think my main concern is that I would like people to know the specific function/equation that led to that calculation, since it is just that - a calculation. And I think it should be separated from the real data in some way |
I really like the feeling of this project! I think it has to do with a lot I've been hearing for some time now. This issue describes a problem very well:
And then assumes that the straightforward solution to this problem is to add visualizations to the aforementioned 'Budget' section. I think this problem deserves some thinking + exploration work to rethink the budget section, which has plenty of room for improvement; then, with a more precise definition of that section, we can add some graphics and visual aid to the information displayed. Not to mention we already have a very similar project documented here: #3998. I wouldn't jump straight into adding the data visualizations without investing some time structuring a better 'Budget/Transparency' section for Collectives. In the same way, we didn't start building #4893 immediately without clearly understanding how the contribution experience works as a whole and solving the original problem more holistically. |
thank you @Memo-Es :) 1. Wow!!!Great looking designs which means that if prioritized we even have designs roughly in place. 2: Process
3: Strategy/Priority/SequenceI agree with you that this will not directly solve the problem space. It is one piece of many - especially in the context of OSC (we have an extensive research document that we are currently summarizing into a strategy for the coming year that will soon be published). I also agree with you that it would be better to implement this as part of a wider move of rethinking the budget section. However:
I think that overview graphs can be approached as a contained scope and integrated into the existing collective pages as is. I think it will have immediate impact AND it will enable us at OSC to move forward with plans to engage with projects to tag their expenses accordingly. Then we can re-integrate and evolve the visualizations as/when we progress on the revamp of the collective profile page and the logged-in/logged-out experience. I would be happy to allocate time already in the coming weeks to start shaping a pitch for the logged-in/logged-out strategy so that it is well defined and scoped and can be pitched for Q3S2. Then, during Q3S2 we can do a similar process for a revamp of profile pages that can be pitched for Q4S1. If, as was the case in this issue, you have already done some work on these subjects please do share it with me and lets get it ready for pitching :) For OSC, waiting 3-5 months (2 or 3 cycles) with the overview graphs is too long. |
This is a really great idea. Just wanted to add that its not only helpful to funders of OSS projects, but really to funders of any kind. also, another note in response to @iamronen about potentially buried projects/issues: is it possible to add a step of human confirmation before issues are marked as 'stale'? |
What's the benefit of having that on the public profiles? To me, these look like admin stats that are usually not helpful for random contributors visiting the page. I understand that having this as public info can be nice for transparency, but I would separate it to a different page (like |
@Betree the research into OSC funders revealed that they look at collective pages as part of their funding-process. They look to see if a project is able to receive money (=on the platform) and if they are able to handle funding well (=the funding is more likely to be used effectively). These visualizations are intended to address the second point. The current available information (totals + ledger) do not address this well. I think (though have not researched this outside of the context of OSC) that this can have a positive impact for other collective and funders. The ability to "at a glance" see a historical perspective of a collective's fundraising & spending says a lot about the sustained vitality and viability of a collective. I think that even private/individual sponsors may be interested in this in their decision to contribute to a project. Also, as you point out, I think that visualizing information this way (verse manually digging into past expenses and transactions) amplifies the commitment to transparency. As for its location on the collective page, that may change as we delve deeper into two related projects that @Memo-Es has been holding:
As these two projects mature these visualizations (along with many other things) may change (but continue to be a valuable building block both in the present and in the future). |
We should always default to things being public unless there is a strong reason something needs to be hidden. |
I realize my previous message wasn't clear, so to clarify: my concern is not that the charts will be public (I agree we have no reason to hide them), but I'm trying to understand the added value of having that on the profile page instead of a separate one, like My concern here is the fact that charts have a significant impact on page load/render times. To me, the goal of the profile page is not to give full transparency on the collective's activity but to be a funnel to redirect people to the info they want to see (for most of them, To caricature my thinking, would you prefer:
I tend to prefer the second approach. Many (most?) people who arrive there are looking for a way to quickly contribute and already know the project for the page they're visiting. How many of them need to see a historic view of the financial activity before contributing? How many are going to be turned down if we increase the load time of the page? How many (mobile users) are going to be confused because the page they ended up on is too complex and "Contribute" ends up being hidden in a sea of information? |
I would agree about putting it on a separate page and linking from the main profile |
@Betree thank you for surfacing the issue of performance price. 1: PerformanceFor me a good starting point for a solution would be something like a gradual page loading mechanism. The initial page could load as is with a placeholder indicating "loading financial overview" ... and then, whenever that is ready populate the page with the visualizations. I feel this capability may serve us well in the future as we serve more processing intensive results (which are already visible on the OSC roadmap - see for example #5745 ) ... and if I've not mistaken I think already exists on some of our pages (I think I recall blank gray "card elements" loading before being populated with actual content. 2: User ExperienceFor OSC institutional funders these visualizations are more useful then almost everything else on the current profile page. I suspect this may also be true for some individual sponsors. Anyone who is asking "will my contribution" be impactful is currently in the dark. These visualizations will shed a lot of light into this darkness. Moving these visualizations to another page will demand more work (finding where to click and clicking to a new page) from the people who can benefit from them and decrease the likelihood of people discovering it. I also prefer to defer changing our page structures for after we've developed some kind of overall strategy (a project that @Memo-Es is holding and I hope we can advance soon). Solving for performance by decreasing the odds of this information reaching eye-balls does not feel to me like a good trade-off ... it almost feels like it defeats the purpose of making it available. 3: CachingIn addition to the gradual page loading, I want to suggest thinking (longer term) about some kind of archival caching mechanisms that can reduce loads and increase load times. I am happy to talk more about this. |
@iamronen We already have intensive caching on this page. The reason why I was referring to load/render time is that not only do we need to fetch the data (that part can be optimized, even though it's additional work) but we also need the client's device to render it. This cost can be a small delay until the page becomes interactive, but it can also slow down the device itself if not enough resources. Another approach that @opencollective/design took in the past with host reports was to hide the heavy charts under a I understand the need for OSC and the assumption that it will help their hosted collectives (at least the large ones) seem reasonable to me. I have some doubts that this will benefit smaller collectives, especially the ones under different hosts. |
@Betree I want to make sure I understand you correctly: are you saying that the 3 second delay would be due to client rendering load (and NOT backend data processing/)? I will also give more thought to the collapsible pattern you mentioned. It may be possible to couple that with some kind of low-load preview that tells a "preview story" of what can be expected inside ... something like summary information / useful stats that have value in their own right (instead of just "view historical data") ... so users can make an informed decision if they want to go deeper. Another option to explore would be how to roll this out. Maybe we can find a set of criteria for collectives for whom this would be on by default and others would need to explicitly add it to their pages. This may (substantially) reduce initial loads as we roll out this feature. But I think a mid/long term working assumption should be that this is operational for most collectives aspiring to be real operational collectives (raising and spending money). |
The "3 seconds" thing was a caricature, I can't estimate the impact without more precise specs. But surely:
The two solutions that you mentioned above seem to go in the right direction:
I won't be there to discuss this for the kickoff as it has been planned on a Wednesday afternoon, but @kewitz will be there to provide some engineering perspective. |
Q3S2W2 updateLast week we had a couple of conversations about this project, I confirmed that it is indeed our intention to deliver something this sprint. @Memo-Es has pushed on with the design, based on previous thoughts and the pitch by Ronen. I would love for us to be able to start development this week if possible so my goal is getting to a place where engineering is happy to proceed. |
Design updateThis is the first design proposal I presented on the demo day on August 5th: https://around.co/playback/965e723a-161e-4825-ba24-39ffeefc9596?sharedKey=0b1fa27a-b031-4d9d-8194-1222738d7a14 After today's review meeting, I did some updates to ensure consistency in the experience and interface:
Takeouts
Next steps
|
1: DesignThank you for these designs memo, they look good and feel promising.
2: TagsI'd like to re-iterate the constraints we have around tags:
Here is a proposal for how to handle this on the UI:
@Betree / @znarf I suggest adding a field to the database for the one selected field (and this would require some data initiation choices to populate that field for past expenses). |
I like the proposal above for tags uniqueness, the UX looks simple and the engineering part should be rather straightforward. I however think that it's out of scope for this project. This feature still has a lot of unknowns (how are we going to motivate people to use this new tagging strategy? will they do it? how long will it take until people end up with meaningful values there?) and needs to be processed and iterated on by design, possibly with some user testing and feedback gathering first. To simplify the design and implementation of this project, I strongly think we should proceed in smaller steps and not try to solve everything at once:
In my opinion, this issue/project should be solely focused on (1). That way:
Ideas for making sense of the current dataTags breakdownWe can use a chart type meant to display a collection of non-unique values, like a Polar area chart. Compared to the pie chart, I don't feel like we're losing a critical aspect of the feature here. Radar charts can also work Historic viewA line chart can be used to represent the tag's breakdown, without requiring their uniqueness. A bar chart (with optional line combo) also works. |
Some thoughts before the demo
I will show my proposal after taking these points into account tomorrow in the demo. |
Design updateProposal presented on the August 12 demo day. Here are some main ideas I used to build this proposal:
Next steps
|
|
@Memo-Es discussed on the call today — I don't think the frequency information is that valuable in the above. Proportions should value based in my opinion. |
Week 5 update:
|
Design updateAbout the settings page
Some design fixes
|
|
Nice integration @Memo-Es :)
|
|
Do the main expense and contributions views include events and projects, and then you can further break it down and see events and projects separately? I think the top desired use case will be an integrated view of the entire budget, and if the first screen does not show event and project funds by default it will be misleading. I think a simpler design would be just contributions and expenses, drop the events and projects tab, and filter options at the top where you can select Please add a tooltip telling people how they add tags to expenses or link to that page in docs so they can find out. |
Thanks for your latest comments! That was a WIP I'm not really sure to push to dev yet. That is why I wanted more feedback. I will work on the feedback I'm gathering from you and user tests and post an interaction soon. |
Some quick feedback:
Also here: |
|
I'm doing a design refining round and leaving it published here tomorrow, it will mainly be polishing, and we can do some testing rounds and iterate on the usability on a future release. One important thing to note is that we use a graph library. That's where the small controls and typography use comes from, going forward I would like us to be able to generate those graphs ourselves. |
I have reached out to ESLint and asked for feedback ... and what follows is a combination of his (Nicholas Zakas) and mine:
|
I feel like the fiscal hosts' budget should also show how much revenue/contributions they are receiving from the fees they charge |
See #5967 |
Followup feedback issue: #5967 |
Kick off and plan
Recording (TBC)
We spoke about the proposal below, the issues with respect to rendering and the possibility of sending reports by email to contributors instead, classification of expenses and the risk that we end up with a lot of fragmentation and our strategic design priorities around profile pages. Generally, the plan is to initially focus on use of funds:
We acknowledge that there's value in showing information on how users are contributing (recurring contributions are much better for projects, so encouraging that behaviour is a priority), but for the moment, the focus is on how projects are using money.
Some quick sketches of how this might look:
Incidentally that graph is made with real data from the 'webpack' project. Note that metabase automatically accumulates tags that have a small %age representation into 'other' automatically. I think this is a pretty decent pattern.
If we wish to see (we may) how the project is changing it's spending over time we might want to show something a little more like this:
Background & Context
This proposal emerged from:
Proposal
Add visualizations that provide an effective overview of a collective's contributions (incoming funds) and expenses (outgoing funds).
When a funder is considering funding an open-source project hosted as a collective on OC, they want to get a sense of how the project is doing financially (among other signals and indicators). They are trying to decide if the project is capable of handling funding. The current collective profiles provides:
This information is insufficient and difficult to integrate into a coherent financial view that answers questions such as:
Ultimately, a funder is looking for funding opportunities that are most like to be impactful. These visualizations will not in and of themselves answer this question but they are one step in the right direction. Just having this data visualized clearly is a kind of badge of trustworthiness that a collective is managing its finances. The recently redesigned ESLint website and its donate page exemplify what this can look like.
Providing this as a given service on OpenCollective to collectives is also a badge of trustworthiness for the platform itself.
The proposal includes two visualizations:
It is probably preferable to offer the two together, however from the OSC perspective, expenses are currently more important.
Expenses
1: Data integrity preparations
At this point in time this proposal builds upon the existing tagging capability with the following modifications:
1. Transactions from other collectives should be incorporated as contributions.
2. Transactions to other collectives should be incorporated as expenses.
2: Visualization
Contributions
Integration in Profile Page
OSC Community Engagement
attention @RichardLitt
Future Potentials
The text was updated successfully, but these errors were encountered: