Proroga di una licenza (la sua scadenza) a seconda dei componenti aggiuntivi della funzione

3

Ho avuto un problema nel tentativo di calcolare la ripartizione di un servizio. Sperando di ottenere qualche aiuto / suggerimento dalla comunità.

Mi scuso se questo non è il posto giusto per porre questa domanda - apprezzeremo l'aiuto nel trovare il giusto servizio StackExchange.

Data:

  1. Un servizio online che emette "licenze" che possono essere acquistate per i periodi di tempo in multipli di 30 giorni / 1 mese (per semplicità, supponiamo che tutti i mesi abbiano 30 giorni)
  2. L'abbonamento "Base" costa $ 15 / mese
  3. Oltre all'abbonamento di base ci sono anche 20 "funzioni aggiuntive". Il loro prezzo varia tra $ 2 e $ 5 al mese
  4. Il cliente può acquistare l'abbonamento "base" senza add-on
  5. Avendo pagato la "base" $ 15, il cliente può aggiungere qualsiasi "componente aggiuntivo" in qualsiasi momento desideri senza pagando un extra per esso.

Dettagli:

a. L'articolo 5 qui sopra richiede un po 'di spiegazione. L'idea è di consentire ai clienti che pagano l'importo di base di "provare" qualsiasi "componente aggiuntivo" senza raccogliere più denaro da loro.

Motivazione:

"Il Cliente X mi ha già pagato $ 15 per 30 giorni di servizio. Ora gli permetterò di aggiungere un nuovo componente aggiuntivo di $ 5 / mese senza inviarlo al carrello, ma ricalcolerò il scadenza della licenza basata su $ 15 + $ 5 / mese, quindi la licenza avrà meno giorni fino alla scadenza ".

Difficoltà:

a. Il componente aggiuntivo $ 5 appena aggiunto dovrebbe essere anch'esso ripartito in proporzione. È anche possibile che il cliente selezioni la quantità di componenti aggiuntivi che porterebbe alla situazione quando il servizio sarebbe dovuto al cliente.

b. Esiste una data di "cut-off" determinata dall'ammontare del costo dei nuovi componenti aggiuntivi dopo il quale la data di scadenza della licenza mobile "a sinistra" (ossia più vicina al momento corrente) lo farebbe scadere immediatamente.

Domande:

  1. Come faccio a calcolare la scadenza aggiornata di una licenza in base alla logica sopra riportata?
  2. Come faccio a calcolare il valore più alto di componenti aggiuntivi che possono essere selezionati senza scadere la licenza?
posta temuri 20.01.2016 - 15:51
fonte

1 risposta

3

Il modo più semplice per risolvere questo problema è spostare la modalità di definizione della fine del termine della licenza.

Attualmente, sospetto che tu stia utilizzando l'approccio naturale di "Articolo base acquistato dall'utente per $ N, quindi l'utente ha una data di scadenza di ..." In altre parole, la data di scadenza è determinata al momento dell'acquisto.

La sfida con questo approccio si verifica quando desideri consentire ai clienti di provare le funzionalità per un certo periodo di tempo.

Per risolvere il problema, devi modificare la tua rappresentazione interna di come maturano le spese.

Scegli un'unità di tempo di base, ad esempio ore o giorni. Da lì, puoi determinare una tariffa per unità di tempo base. Se selezioniamo i giorni come unità di base e $ 15 per la licenza di base per 30 giorni, otteniamo ~ $ 0,50 al giorno.

Da lì, dovrai avere un'equazione leggermente diversa per determinare il termine rimanente all'interno della licenza. Vorresti qualcosa come:

var remTermInBaseTime = client.Balance / client.SelectedItems.BurnRate

Ciò consente di calcolare la quantità di tempo rimanente nell'unità di tempo di base in base al saldo del cliente e alla frequenza di masterizzazione delle funzioni selezionate. Per fornire una previsione su quando scadrà la licenza, dovrai aggiungere il termine rimanente all'ora corrente.

Quindi, quando un client seleziona funzionalità aggiuntive, tutto ciò che devi fare è aggiornare la velocità di masterizzazione e ricalcolare il termine rimanente. Anche questo gestisce con grazia il caso in cui un client prova X funzione per un giorno e quindi rimuove la funzione per qualsiasi motivo specifico.

In definitiva questo sposta i clienti su una base di sottoscrizione per funzione in cui bilanciano il loro saldo come dettano i fondi e tu ritorni con una risposta di "questo ti compra N unità di tempo" con la tua licenza. Se modifichi o meno i tuoi prezzi per riflettere le unità di tempo di base, dipende da come i tuoi clienti reagiscono al cambiamento e da ciò che sembrano preferire vedere.

Una sfida con questo approccio è che alcuni prezzi delle funzionalità non si dividono equamente nell'unità di tempo di base. Ad esempio, se hai scelto ore come unità base, ti ritroverei con ~ $ 0,020833 all'ora per la licenza di base. Questo potrebbe essere gestito con qualche arrotondamento, oppure potresti cambiare le tariffe per essere divisibile per il numero di unità di base di tempo che scegli.

    
risposta data 20.01.2016 - 16:40
fonte

Leggi altre domande sui tag