Categorygithub.com/geniusrabbit/adcorelib
module
0.0.0-20241224164517-a3cf64a93f59
Repository: https://github.com/geniusrabbit/adcorelib.git
Documentation: pkg.go.dev

# README

AdCoreLib - Core Functions Library for Advertising Software

Build Status Go Report Card GoDoc Coverage Status

AdCoreLib is a library of core functions for advertising software, intended for personal and company use. It supports the development of internal advertising services but prohibits providing commercial services to other companies and individuals.

This project contains common library packages for advertising software.

Features

Prices Math

  • CommissionShareFactor: Represents the internal commission of the system.
  • RevenueShareFactor: Represents the revenue of the publisher or advertiser.

RevenueShareFactor is calculated as:

RevenueShareFactor = 1.0 - CommissionShareFactor

For example, if:

  • CommissionShareFactor = 10% (0.1)
  • RevenueShareFactor = 90% (0.9)
  • RevenueShareReduce = 10%

The new price calculation:

newPrice = (price * (1 - RevenueShareReduce)) - (price * CommissionShareFactor)

For example:

newPrice = price * (1 - 0.1) * (1 - 0.1) = 0.81

Source and Target Calculations

Source:

  • CommissionShareFactor and RevenueShareReduce
    • newPrice = (price * (1 - RevenueShareReduce)) - (price * CommissionShareFactor)

Target (Zone + Site, AccessPoint{DSP}):

  • CommissionShareFactor and RevenueShareReduce
    • publisherPrice = price - (price * CommissionShareFactor) - (price * RevenueShareReduce)

If the target has a fixed view price, that value can be used instead. If the target is an AccessPoint, RevenueShareReduce will reduce discrepancy.

We have two types of commissions:

  1. From source to reduce discrepancy between buyer (DSP) and seller.
  2. From target.

Example Price Calculation

Price

  • CorrectedSourcePrice = OriginalSourcePrice - Discrepancy
  • CorrectedPrice = CorrectedSourcePrice - TargetShareReduce
  • ComissionPrice = CorrectedPrice % (1 - RevShare)
  • PurchasePrice = CorrectedPrice - ComissionPrice

TODO

  • Add documentation
  • Reorganize package structure

License

LICENSE

Copyright 2024 Dmitry Ponomarev & Geniusrabbit

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
package httpserver provides basic HTTP server with DSP handlers.
No description provided by the author
No description provided by the author
Package msgpack provides premetive methods and object for message pack and unpacking.
No description provided by the author
# HTTP headers @link https://en.wikipedia.org/wiki/List_of_HTTP_header_fields In HTTP protocol exists special time header marks with the time of the message was originated and lifetime.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author