opencollective
opencollective copied to clipboard
[Project] Basic Funders Dashboard
The following issue is distilled from a pitch that offers more perspective and context.
This issue is a proposal to take the pitch and convert it into a detailed design that can be handed over to engineering for implementation.
This proposal emerged from research into open source projects hosted by OSC about what can be done to make it easier for corporate funders to fund open-source projects.
This proposal is an MVP created as a basic tool based primarily on data that is already available on the platform. It does serve as a gravitational center that will expand as we advance on the OSC product roadmap. Ultimately it is designed to become a tool where funders can formulate, execute and monitor the impact of their funding strategy.
User story
as a open source program manager I want to see where my organisation is investing in open source projects and how those investments are 'performing' so that I can plan my investments for future years.
This proposal is targeted at allies of open source within corporations who fund open source. Some of these allies and their corporations are on the platform. We hope that tools like this will attract more funders (and through them more open source projects) onto the platform.
Currently corporate open source funders have no tools available to them to manage their contributions to open source or assess their impact. Their work is fragmented across many tools and platforms and we are well positioned to help them create a sensible perspective. Our working assumption is that addressing this need will attract more funding, funders and open source projects to the platform.
Best solution for this problem
- Provide funders a dashboard that will give them an overview of their past and current contributions to open source.
- Enable funders to categorize their contributions into groups that are meaningful to them and enable to them to think more strategically about how they utilize their funding.
Design it with an understanding that in the context of open-source, funders are facing a challenge that could see them distributing funds to hundreds or even thousands of projects.
MVP
Basic Dashboard
Open Source Collective Example
Open Collective Foundation Example
The dashboard provides a funder with information aggregated per collective (~open-source project):
- A set of icons that indicate relationship with the collective (the possible relationships may be expanded/elaborated over time)
- Funding - a collective to which the funder has given / is giving funding.
- Following - a collective that the funder is watching but has not yet funded (see below).
- Contributing - this is a placeholder for a future relationship in which a the funder is contributing other (not financial) resources.
- An "investment category" that can be modified by the funder to group collectives into meaningful (to the funder) funding contexts.
- The total amount of money the funder has contributed to this collective.
- The most recent monthly-recurring contribution with an indicator if there is currently an active recurring contribution.
- If there is a current recurring contribution than it is shown.
- If there isn't an active recurring contribution but there was a recurring contribution (that is no longer active) then it is shown.
- If there isn't and never was a recurring contribution then nothing is displayed
- The total amount of money that the collective has raised during the last 30 days with a trend indicator of how it has changed relative to the yearly (last 365 days) average.
- The total amount of money that the collective has spent during the last 30 days with a trend indicator of how that changed relative to the yearly (last 365 days) average.
- A yearly goal indicator:
- If the collective has a yearly goal, what percentage of it has beem met.
- If the collective does not have a yearly goal nothing is displayed.
An aggregate ot total and current recurring contributions is also shown.
Investment Categories
A funder can assign collectives to investment categories as a basic way of both interacting with the information and for giving the tool funder-specific context. Investment categories are an initial gesture towards being able to manage and organize contributions to formulate, execute and monitor a funding strategy (that will be explored in future product iterations).
Filters
The dashboard can be filtered by:
- Year - all contributions / selected year
- Investment category
- Funding - All contributions / one-time only / recurring-only
- Relationship - funding / following / supported (non-funding)
Grouping
The dashboard can also be grouped by investment category or relationship:
When grouping is activated intermediate summaries are also presented.
Expand Collective
A collective can be clicked to show more detailed information.
The first view that is offered is a detailed list of funding contributions to the collective.
The second view shows all the historical funding the collective has received with an added emphasis on the funder's contribution relative to all other contributions.
This modal view can gradually be populated with more information/context to support the effort to formulate and perceive a funding strategy.
Follow a Collective
Provide the funder (all users?) with a possibility to "follow" a collective:
- While browsing a collective include a "follow" button that creates a "follow relationship"
- Represent the collective as "followed on the dashboard"
- Notify collective-admins that someone has followed the collective.
- Add an "unfollow" option on the zoomed in collective screen (see above).
Integration in the Platform
Initially this should be rolled out in the admin-section of collectives, funds and organizations who handle and contribute funds. For now, this is NOT a public facing feature.
Challenges & Open Questions
- Should this interface be hidden from organizations/collectives who do not make contributions?
UI Enhancements
- Hovering/clicking on financial pieces of information for expanded information/context.
- From within hovering modals, introducing links that transport the user directly into a collective ledger to view detailed historical transactions.
Metrics
This investment is a gamble.
- Beyond its initial functionality, this will signal to open source funders that we are aware of the challenge they are facing and are investing in addressing their needs.
- In the short term at OSC we aim to introduce this to 5-10 large active funders and to learn from them how this works for them and how it can be evolved to serve them better.
- The value and impact of this tool will be discovered over time as it interacts with other platform features & capabilities that are on the OSC roadmap.
- It seems reasonable to assume that such a dashboard can be useful to all OC platform funders. It may also prove valuable if OC Inc. chooses to invest in bringing more funders and hosts onto the platform.
I might propose the following as a user story:
as a open source programme manager I want to see where my organisation is investing in open source projects and how those investments are 'performing' so that I can plan my investments for future years.
some conclusions that I hope people to make with a board like this:
- this project is not meeting its financial goals, we should provide more financial support
- this project is receiving more financial support from other sources now, I can move my support elsewhere
- this project is spending money on initiatives that are important to us, we should invest more
- this project is not spending the money that we have invested, we should offer them a different kind of support
I'm glad to see that the overall message of 'give little and often' over larger air drops is one that we're conveying. I do wonder whether projects actually agree with us that this mode is preferred to having big chunks of cash committed and on hand though.
I feel like this is an iteration of the Financial Visualizations Overview since the pretext of that project was also related to giving more visibility to funders, based on the hypothesis that they wanted to open the collective page and see where the money was going.
C'mon, this is a spreadsheet! You can validate this hypothesis with Google Spreadsheet. Just use the data you already have access to and mail a report to your top 5 funders every month and see what happens.
@kewitz you are right, this feature builds upon some of the work that was done in Financial Visualizations. The original concept was actually slightly different because it was created before the Financial Visualizations and was updated based on how they evolved.
I can see why you would think of this as a spreadsheet, but that tells me that you may be missing the point of what it is intended to become. If you haven't already I suggest you have a look at the OSC product roadmap (especially the 3rd video) to get a sense of the central role this dashboard may play. This first iteration was intentionally kept simple and relies almost exclusively on information we already have on the platform as a STARTING point.
For example (and this is just one example of ~10 potential capabilities that may be built out around the dashboard): I have reached out to some OSC funders for feedback on this concept and one of the suggestions that surfaced was that we integrate into the dashboard information about GitHub Sponsors funding that is NOT directed to / managed through OC/OSC. We are currently exploring the possibility of expanding the interface we already have with GitHub sponsors to include ALL funding information. This would enable us to provide open source funders with an integrated view of their funding. This in turn, would better enable funders to perceive and strategize their funding which in turn may attract more open source projects to the platform ... creating a positive feedback loop.
You could, of course, re-state your position: well they can just each do that for themselves in spreadsheets (and some may have partial solutions to this), but in our research they clearly pointed to this as a challenge and therefore at OSC we would like to make Open Collective the place for open source funders to manage their "open source portfolios."
... and though I have not yet spoken directly to OCF funders, from informal interactions within our team it seems that a similar sensibility applies to non-open-source-funders. That all fiscal hosts and collectives could potentially benefit from having a place to manager their funds that is directly linked and correlated to the core financial services we already provide.
also tagging @carolineawoolard who owns the fundraising (which I believe is linked to James) to develop something similar to a funders dashboard:
The engineer will develop a rich user profile and dashboard features of Open Collective which will enable OCF to answer questions such as these:
- What are some shared characteristics of arts and culture collectives, cooperatives, and worker self-directed nonprofits in the United States?
- How many collectives are focused on practices such as mutual aid, open source, time banking, and worker self-direction?
- How many of these collectives utilize cultural organizing principles, are culturally-rooted collectives, and/or are led by artists and cultural-workers?
- What is the nature of the growth occurring right now?
- How many collectives existed from 2019-2022?
- How many core organizers existed from 2019-2022?
- How many financial contributions have been made from 2019-2022?
- How have the budgets of collectives grown from 2019-2022?
- How many updates have collectives made from from 2019-2022?
- In addition, as part of this agreement, OCF agrees to commit Caroline Woolard as an advisor to the Chrysalis project and agrees to make a good faith effort to participate in 1-2 group meetings, as appropriate, and be on call as needed to provide feedback on the project’s development.
How are the current specs addressing the need of OCF? Number 1. to 9. from Caroline notes.
It would help prioritization if the project was a clear joint effort from OSC and OCF. And would be great to agree on a common owner to lead the project.
@znarf Numbers 1-9 above can be solved with what @BenJam and @iamronen outlined with Investment Categories. The use case is slightly different though, as we are using this for OCF as a Host rather than for a Funder. The connection to Funders is that we can show our OCF Dashboard to Funders to encourage them to invest in Mutual Aid, Arts, and other categories. I imagine this would be appealing to OSC as well.
User story: I am a Program Officer at OCF hoping to see where funds are going and what categories they are in. This is a visual Host Dashboard, like a Funder Dashboard, but applied to a host.
User story: I am a Funder hoping to see emergent trends in categories like mutual aid, open source, and the arts. When I see the OCF Dashboard, where funds are going and what categories they are in, I am excited to fund OCF directly and also to fund individual collectives directly. This is a visual Host Dashboard, like a Funder Dashboard, but applied to a host.
[PROCESS SIDE NOTE: I think I represent a typical non open source member of our community who is not super skilled with scoping features / communicating in technical language (although I am better than some) and this is why OCF needs connected to this issue have not been articulated or met like OSC needs have been. This is why I think we need a human at OC who can help translate user + host ideas/needs into github issues]
@znarf this pitch is for an MVP that will evolve over time. As it currently stands it does not answer all the needs that @carolineawoolard has surfaced and it doesn't come anywhere near addressing all the needs that I can see for OSC.
I am happy to take ownership of this project (and am communicating with Caroline about what that means) if there is a team that includes myself, Caroline, an engineer and a designer.
The target of this initial phase is to create a place where a funder or host can go to look at their managed space as a whole. For funders it is (to the best of my knowledge) the first such tool on the platform. For hosts it is a complementary tool to the existing reports feature (still in beta).
The targets I have in mind are:
- Providing a coherent funding overview based primarily on information we already have on the platform.
- Providing a very basic tool for creating internal context by organizing collectives into categories that represent the views and sensibilities of the managing entity (eg: a funder and a fiscal host may place the same collective in different categories).
- Taking this to funders and hosts and getting feedback on what this reveals to them and what else they need / would like to see.
We can then continue to iterate based on feedback we get and the OSC roadmap.
I do see needs that may potentially unique to open source, but it feels premature to speculate about them now (the potential directions are described in the OSC roadmap presentation ).
This development project is bound to a funding project that has outcome commitments by the end of this year that I am not confident we can meet through platform development. It may be helpful to:
- Add an export to CSV feature that can allow for some reports to be manually assembled by exporting numerous views from the tool.
- Allocate some support engineering time that can work with Caroline on OCF Metabase reports in case there are research questions that we may not be able to answer with the platform tools before the end of the year.
Yes thank you @iamronen my hope is that OCF can show funders in general, and the funder who gave us $150k for this, the following overview of our collectives by grouped categories:
- region: on a map if possible
- category: mutual aid, arts, open source - pie chart? or list
- date started
- money raised
- number of contributors
@carolineawoolard
- "collective start date" can be easily added.
- Category is intended to be a field you can populate with whatever values best represent the fiscal host's strategy.
- Money raised & number of contributors are a part of the initial pitch, but please note that they are not necessarily simple numbers. Totals are presented on the main dashboard view but number of contributors requires you to zoom into a single project.
Region, HOWEVER, can seem like a simple thing but can become tricky. I can see three ways to approach this:
- Make region like another CATEGORY that the funding entity, in your case a fiscal host, would populate as you see fit (just like you would do for the categories). This places a burden of work and maintenance on you (the administrator of the fiscal host). Eg: Whenever a collective joins, it is on you to determine and assign its location. You would decide the location resolution you wish to see: eg - states in the USA. There would be no data integrity testing such as a list of states from you to choose from or against which data could be validated.
- Make region a property of a COLLECTIVE. This is a more expensive and vulnerable approach:
- It would require adding a mechanism for collectives to indicate a location (which may cause friction, because some collectives may operate in more than one location).
- It would require working with the collectives to make sure they indicate their location(s?).
- It would require a hierarchical and mapped database of locations that would allow you to, for example, aggregate municipalities into states.
- It would require some UI mechanism to indicate what resolution of information you wish to see on the dashboard (eg: show states in the USA).
- It would not apply to open source projects. HOWEVER there can be a parallel with open source if regions is used to map ecosystems within open source (eg: JS, PHP, Linux, etc.)
- Make region a property of INDIVIDUALS. This approach, I believe, has the highest data integrity and applies to everyone. However this is the most expensive to implement and has its own vulnerabilities:
- It assumes a correlation between the physical location of the collective admins and the collective itself. This may work well most of the time in OCF collectives, but perhaps not always.
- In open source it may provide an interesting perspective because no one expects correlation between the location of developers and the projects ... but it may be interesting to note ( as a funder) how my funding is spread around the planet.
- However, the platform currently provides a very limited perspective of the people involved in collectives since only admins are intentionally represented. I can't say if and when this will be addressed. (I am initiating a research proposal on this topic).
@znarf @Betree and @vaughanj10 what are your thoughts on approaching location?
Design specs
- Full design documentation here
Main goal
Build a dashboard-like experience for funders and prospects of funders to follow projects hosted in Open Collective, with the ability to integrate other sources too e.g., GitHub sponsors. This tool should merge the experience of discovering new projects and trends with the capability to "follow" them and track them using the dashboard, up to the point these users fund projects and use the dashboard as an "investment portfolio" with real-time data, grouping, and reports, together these features provide the business intelligence for funders to elevate the quality of their investments in collectives and projects.
Immediate goal (Q3S2)
-
Decide which version we are going to design and implement as an MVP:
- Dashboard as an external app experience (outside the boundaries of [www.opencollective.com (http://www.opencollective.com/)
- Dashboard as a complement of the admin dashboard for organizations and fiscal hosts
-
Design a mechanism to "follow" collectives So anyone can start using the funding dashboard before they start to actually invest in any of them. Later we can build on this concept of 'clusters' so someone can follow a trend, or group of Collectives per category or location.
-
With the following requirements:
- Providing a coherent funding overview based primarily on information we already have on the platform.
- Providing a very basic tool for creating internal context by organizing collectives into categories that represent the views and sensibilities of the managing entity (eg: a funder and a fiscal host may place the same collective in different categories).
- Taking this to funders and hosts and getting feedback on what this reveals to them and what else they need / would like to see.
User stories:
- As a open source program manager I want to see where my organisation is investing in open source projects and how those investments are 'performing' so that I can plan my investments for future years.
- This project is not meeting its financial goals, we should provide more financial support
- This project is receiving more financial support from other sources now, I can move my support elsewhere
- This project is spending money on initiatives that are important to us, we should invest more
- This project is not spending the money that we have invested, we should offer them a different kind of support
- I am a Program Officer at OCF hoping to see where funds are going and what categories they are in.
- I am a Funder hoping to see emergent trends in categories like mutual aid, open source, and the arts. When I see the OCF Dashboard, where funds are going and what categories they are in, I am excited to fund OCF directly and also to fund individual collectives directly.
Next design updates:
A dashboard displaying the following information:
- A set of icons that indicate relationship with the collective (the possible relationships may be expanded/elaborated over time)
- Funding - a collective to which the funder has given / is giving funding.
- Following - a collective that the funder is watching but has not yet funded.
- Contributing - a collective to which the funder is contributing other resources (not funding).
- An "investment category" that can be modified by the funder to group collectives into meaningful (to the funder) funding contexts.
- The total amount of money the funder has contributed to this collective.
- The most recent monthly-recurring contribution with an indicator if there is currently an active recurring contribution.
- If there is a current recurring contribution than it is shown.
- If there isn't an active recurring contribution but there was a recurring contribution (that is no longer active) then it is shown.
- If there isn't and never was a recurring contribution then nothing is displayed
- The total amount of money that the collective has raised during the last 30 days with a trend indicator of how it has changed relative to the yearly (last 365 days) average.
- The total amount of money that the collective has spent during the last 30 days with a trend indicator of how that changed relative to the yearly (last 365 days) average.
- A yearly goal indicator:
- If the collective has a yearly goal, what percentage of it has beem met.
- If the collective does not have a yearly goal nothing is displayed.
- An aggregate ot total and current recurring contributions is also shown.
About categories:
A funder can assign collectives to investment categories as a basic way of both interacting with the information and for giving the tool funder-specific context. Investment categories are an initial gesture towards being able to manage and organize contributions to formulate, execute and monitor a funding strategy (that will be explored in future product iterations).
The dashboard can be filtered by:
- Year - all contributions / selected year
- Investment category
- Funding - All contributions / one-time only / recurring-only
- Relationship - funding / following / supported (non-funding)
Expand Collective
A collective can be clicked to show more detailed information.
- The first view that is offered is a detailed list of funding contributions to the collective.
- The second view shows all the historical funding the collective has received with an added emphasis on the funder's contribution relative to all other contributions.
W3 update
- wireframing design, based on pitch+kickoff conversation
- kickstarting frontend template/framework for building outside of frontend
Regarding whether we build the funder's dashboard inside www.opencollective.com, last I heard that we are leaning towards building it as an external app...
- Is it ok to focus on the external app version for the design proposal? @znarf, it would also be useful to have some explanation of the pros (and possible cons) to build a little on the reasoning around this decision. Could you add some of that here?
@Memo-Es We think it will be faster to prototype in an external app, we'll have more velocity. It's an opportunity to try this approach for the first time. We want to build it in a way that is easy to integrate in the Open Collective app when it will be mature. We'll use same stack, same components, etc ...
For design, the ask is to focus on an external app without any overhead, just focus on the core functionality. Then have in mind that it will need to be integrated with the Open Collective app at some point in the future.
I would like to propose a small change in the underlying financial data being visualized ... I think this will also make for a cleaner and easier implementation. I am referring to the two columns "last 30 day contributions" and "last 30 days expenses".
When @Memo-Es demo'ed the initial design on Friday I realized that I was assuming that users would be looking at this like tickers on a live financial show and I was therefore aspiring to show up-to-the-minute information ... which led to the "last 30 days" approach.
I now believe this is wrong and excessive and that users are more likely to be looking at this a few times a year for a big picture perspective. So I am now thinking of this more like an accountant doing quarterly work. So I want to propose the following changes:
- The numbers shown on the screen should relate to the previous calendar month (a month for which the information is, in the present moment, complete). Eg: if I am looking at this UI anytime in October, the contributions and expenses I am seeing are for September.
- The relative change will be to the previous 12 (complete) months average. Eg: if I am looking at this UI in October 2022, I am seeing how expenses and contributions have changed in September 2022 relative to the previous 12 months = October 2021 to September 2022.
My reasoning for comparing change to the previous 12 months (and not, for example, the previous month) is:
- That there can be seasonal changes in contributions & expenses (due to all kinds of factors). I think a 12 month average integrates those seasonal changes (while comparison to just one previous month can lead to biased outcomes).
- Funders tend to operate on yearly cycles in terms of their own strategy and budget allocations and therefore will typically want to see how things have changed over a year.
- conversation re. demo/prototype
- define next steps form an eng perspective vs. the design and product vision (@iamronen)
quick update with notes from yesterday's call:
- we would love to be able to introduce some filters (specifically the amount of time presented)
- we'd love to be able to download the results shown is a natural progression
- let's not start with the 'follow' journey
- some sort of categorisation might be useful
- goals for collectives/projects/tiers is probably the most impactful new feature
- We would need to simplify to the next goal 'i.e. completed 2/4 goals completed, next goal is X'
-
- next step after goals might be a cta to increase funding
memo will simplify the proposed design with the elements that we've discussed, @Betree may have some time this week to continue with those proposals in the prototype.
After a conversation with @Betree @Memo-Es & @vaughanj10 and another followup conversation with Memo the following has become clear:
- We have finally (with the initial mockups and engineering work) started to bite into the meat of this project ... and we are discovering that there are more design challenges ahead if we want to effectively communicate "the impact of my funding" ... there is more complexity here that we need to navigate.
- We have a rough working prototype that we can use to demo and discuss with funders.
- We would like to di two things to bring this iteration to completion:
- [ ] Apply the graphic design from the mockups Memo created onto what has been engineered to make it easier on the eyes.
- [ ] Add a download option so that when we do demo this to someone who actually wants to do more with the data ... they can do so on their own.
- Memo and I will use what has been created for more user research and further design iteration during the next cycle in order to come up with a proposal about how to further evolve it.
Status Update
- During Q3S2 we developed a rough working prototype which felt like something that can be shared with potential users for feedback.
- During the internal demo's during Q3S2 it became apparent from team responses that the Contributors Dashboard is a valuable tool to have and to continue to develop.
- Q4S1 is going to be dedicated to collecting feedback and shaping a proposal for what the next iteration of this project should include.
Resources:
I have shared a followup mockup presentation with the intention of clarifying some capabilities which I may not have communicated clearly enough the first time around:
Impressions from a research-kick-off conversation between @Memo-Es and I:
- We want to get the prototype in front of some "funder eyes" to get some feedback.
- The prototype is not yet mature enough to present to OSC funders.
- We will be reaching out to the OCF team to cherry-pick a few potential users from their funder pool.
- Memo will be leading the interviews process (due to better timezone alignment) though we will try to schedule interviews so that both of us can be present.
- We will try to form a pod/crew/team to collectively carry this project forward and will be reaching out to include a representative from engineering and a representative from the funder-business side.
Next steps
- [ ] Reach out to OCF for users to interview (Ronen)
- [ ] form a project team (Ronen)
- [ ] prepare for demo interviews (Memo)
quick note to say that @poohlaga and I are likely pursuing this with @andrew using data from Ecosyste.ms.