Revenue Analysis App for YouTube Content Creators

Revenue Analysis App for YouTube Content Creators

Information
Region:
Netherlands
Industry:
Media and Entertainment
Type:
Web
Engagement model:
Time and Materials
Duration:
Ongoing Project
Staff:
1 Senior Developer
ID:
471
Technologies used
GitLab
Laravel
PHP
Jquery
HTML
git
Docker

Client

A Dutch media company that provides aggregation and tech services for content creators and distributes their production with global platforms, including YouTube.

Project Description

The company needed the refinement and development of new features for the web app that shows monthly stats on the most important metrics for YouTube creators.

YouTube creators usually have to estimate their assets on YouTube in different content management systems. They used to download reports and split different .csv files manually. The web application that we developed allows the import of these files and handles the input data to expose the needed metrics.

The app also allows the end users to quickly overview the total revenue and the ways it’s split between them and the software owners. That way the affiliate media company system admin can check incoming statements from clients to confirm that they’re paying out the right amount.

Challenges

Elinext was challenged with the following tasks:

  • Development of a new client mode that allows end-users (who aren’t media companies admins to check their monthly income)
  • Development of features that allow displaying additional metrics from uploaded YouTube reports (metrics being claims, total views, etc.)
  • Creating a template that’d allow end-users to see the difference in numbers between channel-owned and user-generated content
  • Improving the importing CSV reporting
  • Additional hidden issues arose when bug-fixing was ongoing.

Process

During the development, we had to improve the performance of importing CSV reports and queries across big data tables.

XML inserted the file out of the box in MySQL and speeded up the importing of bug reports to the database. A big CSV file also produced a huge MySQL table. That created the situation when queries across tables collect necessary metrics way too slowly.

Fortunately, report data was only uploaded once a month, so the queries didn’t have to be updated continuously in the app. We decided to use standalone data tables that store the results of a complex query that is executed asynchronously on the background server process.

That resulted in the necessary data being exposed to the user from these tables with a simple query, not in huge tables. This improved query performance and user experience.

As for communication, we discussed the matters with the client directly and didn’t use any pro-tracking issues system (Jira) at the early stages of cooperation. However, we started using it in the process, and that helped a lot with the visualization of the progress.

YouTube provided a mass report of files and APIs with data exclusively coming from YouTube. We fixed the data structure according to the reports. That made this data inflexible, and that’s exactly what clients' requirements were.

We are planning to isolate report data yearly in the database as its volumes grow quite fast and will grow even faster after big concurrent users appear.

Solution

The solution right now consists of six modules, each of which was either developed or enhanced by the Elinext team.

Module 1: CMS management

With the help of this module, the admin can create, update and delete CMS from the module. CMS management module allows importing CSV reports, API collects the metrics needed and generates statements for clients of the media company.

Module 2: Payment management

This module consists of two parts: statements and earnings. All the statements of the clients generated from the CMS module are displayed here. The main stats obviously being the total earnings monthly.

Module 3: Dashboard

The third module that was developed and adjusted by Elinext includes information about total earnings and views displayed in a user-friendly manner.

Module 4: User Management

A module for the admin of the media company to add/delete clients

Module 5: Client Management

With the help of client management, the clients and users are mapped together during the importing of reports in the CMS module via the custom ID of YouTube. The module is quite similar to the module 4.

Module 6: Client stats

This module displays all the monthly statistics of the client, including total earnings, assets, channels, views, and claims.

Results

As a result of our cooperation with Elinext, our Dutch client received an enhanced version of the web application they already had. We continue working on this project, but the version that we currently have at the moment already serves the purpose of more convenient revenue accounting.

The next feature we’ll be working on as a result of our cooperation is a new reporting tool for the Paid and Shorts YouTube revenue. The system is designed and serves the purpose of a transparent and convenient revenue accounting tool.

1-1402-1303-1114-915-836-577-478-409-3110-2311-2412-1713-1114-915-716-7
Do you want the same project?
Got A Project Idea? Lets Discuss It With Us
Contact Us


    Insert math as
    Block
    Inline
    Additional settings
    Formula color
    Text color
    #333333
    Type math using LaTeX
    Preview
    \({}\)
    Nothing to preview
    Insert