Home/Help/Calculations & Payouts/Calculations & Payouts

Calculations & Payouts

Understand how contributions are calculated for live and dead slots, bidding rules, and winner payouts.

Calculations & Payouts in Huio

One of the most powerful features of Huio is its automated, error-free calculation engine. We handle the math behind bids, payouts, dead/live slots, and host commissions, so you can focus on saving money.


1. Core Concepts: Live vs. Dead Slots

A single mutual savings group (Kasca) progresses in periods (kỳ). The total number of periods is equal to the total number of registered slots (chân hụi).
Live Slot (Chân sống): A slot that has not yet* won a bidding cycle. Owners of live slots are net savers. They pay a discounted contribution.
Dead Slot (Chân chết): A slot that has already* won a bidding cycle. The owner of a dead slot has already received their lump sum payout. From that period onward, they must pay the full base contribution (C) in every subsequent period until the group ends.


2. Automated Calculations

Huio automatically manages all financial calculations for you, including:


  • Contribution Discounting: Automatically determining the discounted amount live slot owners pay during each period based on the winning bid interest.

  • Full Contributions Collection: Ensuring dead slot owners pay their full base contributions in subsequent periods.

  • Net Payout Estimation: Summing up all contributions and deducting host commissions (if set) to display the exact cash payout for the winner.

  • Real-time Ledger Balancing: Instantly adjusting the total pool size, outstanding debts, and host revenue when slots are edited, marked paid, or withdrawn.


3. Detailed Mathematical Formulas

For Period N in a group containing a total of T slots (excluding withdrawn slots), with a base contribution amount C:

A. Contribution Paid per Slot in Period N:

  • Winning Slot of current period (Winner Slot): Pays 0 VND (automatically marked as paid `paid = true` with a payment amount of 0 VND).
  • Dead Slot (won in periods 1 to N-1): Pays 100% of the Base Contribution = C.
  • Other Living Slots (excluding this period's winner): Pays (C - Winning Bid). The winning bid represents the bidding interest shared as a discount with other living slots.

B. Period Pool Calculation for Period N:

The Pool is the sum of contributions collected from all other slots to pay the winner of this period.
  • Number of contributing dead slots: `N - 1`
  • Number of contributing living slots (excluding winner): `T - N`
Formula: `Pool = (N - 1) C + (T - N) * (C - Winning Bid)`

C. Winner Net Payout for Period N (Winner Gets):

  • With 'on_win' commission timing:
`Winner Gets = Pool - Host Commission` (deducted in every period).
  • With 'on_open' commission timing:
`Winner Gets = Pool - Host Commission` in Period 1 (to collect the startup commission from the first winner), and `Winner Gets = Pool` in Period 2+. Note: The total period commission recorded for Period 1 is the sum of commissions collected from all slots (`total slots Host Commission`).*

D. Cumulative Profit & Loss (PnL) of a Slot:

  • `PnL = Total Payout Received (Winner Gets) - Total Contributions Paid over group lifespan`
  • If a slot wins in period `N`, it pays `C - Winning Bid` from periods 1 to `N-1` (acting as active slot), pays 0 VND in period `N`, and pays the full `C` from periods `N+1` to the end of the group.

4. Bidding Rules (Live Auction)

  • Submitting Bids: During the scheduled bidding hour, live slot owners can submit their bids. The bid represents the interest they are willing to give up to get the payout early.
  • Bidding Modes: Hosts can configure the bidding style during group setup:
Free Bidding:* Members can enter any custom value greater than or equal to the minimum floor bid. Fixed Step Bidding:* Bids must increase by set increments (e.g., in steps of 10k, 20k VND, etc.).
  • Bidding Unit (Bids in Thousands): For mobile user experience efficiency, bids are entered in thousands of VND. For example, if a user wants to bid 380,000 VND, they simply enter 380 on the screen.
  • Determining the Winner: The slot with the highest bid interest wins the period.
Ties:* If two or more slots submit the same highest bid, the system uses a Random Spin Wheel animation to pick the winner fairly among them. No Bids:* If no one bids, the Host can activate the Spin Wheel to select a winner randomly from all eligible live slots. The winning bid interest defaults to $0 (or 0 VND). Procedure to trigger and use the Random Spin wheel:* 1. When there is a bid tie or no bids at the deadline, the host opens the current bidding period details screen. 2. Tap the Random Spin button displayed in the center. 3. Tap Spin to start the wheel animation. 4. The system will randomly select a winning live slot and apply the default winning bid interest.
  • First Period Restriction (Period 1 - New Members / New Slots): New members and new slots are not allowed to bid during the first period (Period 1). The first period's winner is usually predetermined by the host or chosen via a zero-bid random spin.
  • Slot-Centric Design: Bidding eligibility and calculations are tracked per slot (chân hụi), not per member. A member owning 3 eligible live slots will see 3 distinct bidding slots on their screen, allowing them to submit different bids for each slot if they wish.

5. Financial FAQs

  • How does a slot withdrawal (Withdraw) affect the Pool calculation?
* When a slot is marked as withdrawn by the host, it is excluded from future auctions and contributions. Therefore, in all subsequent periods, the total number of slots drops, which decreases the Period Pool amount by the contribution value of that slot.
  • Does the system allow negative bids?
* No. Bids represent the interest rate that members choose to pay to receive the payout early, so the system only accepts bids greater than or equal to 0. If no one bids, the default winning bid is 0.
  • Are late payment penalties automatically added to the next Period Pool?
* No, late payment fees do not automatically merge into the next Period Pool. These fees are tracked separately, and the host can reconcile them manually outside the application.
  • Does the Finance screen show Cash or Accrual revenues?
* Huio is cash-based. Revenues and expenditures are only reflected in the charts once a contribution is marked as paid (`paid = true`) and the winner payout is toggled to paid (`winner_paid = true`).
  • If a dead slot defaults (stops paying), does the system auto-deduct funds from the host's bank account to pay the winner?
* No, the system does not auto-transfer or deduct bank funds. The host must cover the default manually, and the default debt remains logged under the member's profile in the Debtors List to help the host track outstanding dues.
  • How do I undo an incorrect "Paid" marking for a member?
* The host can tap the green checkmark (✓) next to the member's name in Today or Period Contributions (or swipe the row) and choose to uncheck the payment. The status will revert to "Unpaid", and the financial stats will recalculate instantly.
  • How do I change the cycle period from weekly to monthly on an active group? What are the configuration steps?
* It is not possible to change the cycle frequency (period interval) after a group has been activated. The frequency is fixed once launched. If a change is absolutely necessary, the host must close the current group early and create a new group with the desired cycle configuration.
  • What is the process to verify and mark a member's payment as paid after receiving their bank transfer?
* Go to Today or Period Contributions -> find the member's name -> tap the checkmark (✓) icon or swipe the row to select Paid. The system will record the transaction with `paid = true` and update the financial charts.
  • What are the steps for a member to report their contribution as paid ('I've paid') in their personal interface?
* The member navigates to the group details -> selects the current period -> taps Confirm Payment (or the "I've paid" button) -> uploads a photo of the bank transfer screenshot (optional) -> taps Send. The confirmation request is sent to the host for moderation.
  • How do I record a winner manually (Manual record winner) if some members do not have smartphones?
* Open the current bidding period -> select Record manually -> select the winning slot -> enter the winning bid interest (entered in thousands of VND, e.g., 300) -> tap Save. The system will bypass the online auction timer and close the period instantly.
  • What are the steps to view the Debtors List and send bulk payment reminders via Zalo/SMS?
* Go to the Finance screen -> select Debtors -> select the unpaid members -> tap Send bulk reminders -> select the channel (Zalo, SMS, or Push Notification). The system will auto-draft a reminder containing the outstanding amount and the host's VietQR code.
  • What is the procedure to mark a winner payout as paid (winner_paid) and update the period's progress?
* Open the current period details -> in the winner section, tap the Mark Winner Paid (winner_paid) toggle or swipe to confirm -> the period status changes to Completed, and the system automatically launches the next period cycle and logs the payout expense.
  • Can I set a different floor bid amount for each bidding period?
* Yes. When scheduling or editing a specific pending bidding period, the host can customize the Minimum Bid (Floor Bid) for that period individually, allowing bid rules to adjust dynamically as the group progresses.
  • How is the Host's expected Cash Flow calculated for a specific period?
* `Host Cash Flow = Total Contributions Actually Collected - Winner Net Payout`. Here, if members default, the collected contributions decrease, directly impacting the host's actual cash flow.
  • Can a member change their registered slots count after signing the digital contract?
* No. Once the digital contract is signed, the slot count is locked. Any changes require the host to void the current Kasca and recreate it.
  • How do I calculate the total contribution I must pay if I own 1 dead slot and 1 living slot (winning bid is 100k)?
`Total Contribution = (1 Base Contribution) + (1 * (Base Contribution - 100,000 VND))`. You pay the full base amount for the dead slot, and the discounted amount for the living slot.

Was this article helpful?